Mercurial > libavcodec.hg
comparison dsputil.h @ 255:db20b987c32d libavcodec
divx5-gmc support
q-pel mc support
neither is totally bugfree yet though :(
author | michaelni |
---|---|
date | Sat, 09 Mar 2002 13:01:16 +0000 |
parents | ddb1a0e94cf4 |
children | 944632089814 |
comparison
equal
deleted
inserted
replaced
254:b4fed8b24e3a | 255:db20b987c32d |
---|---|
2 #define DSPUTIL_H | 2 #define DSPUTIL_H |
3 | 3 |
4 #include "common.h" | 4 #include "common.h" |
5 #include "avcodec.h" | 5 #include "avcodec.h" |
6 | 6 |
7 //#define DEBUG | |
7 /* dct code */ | 8 /* dct code */ |
8 typedef short DCTELEM; | 9 typedef short DCTELEM; |
9 | 10 |
10 void jpeg_fdct_ifast (DCTELEM *data); | 11 void jpeg_fdct_ifast (DCTELEM *data); |
11 | 12 |
36 | 37 |
37 extern void (*ff_idct)(DCTELEM *block); | 38 extern void (*ff_idct)(DCTELEM *block); |
38 extern void (*get_pixels)(DCTELEM *block, const UINT8 *pixels, int line_size); | 39 extern void (*get_pixels)(DCTELEM *block, const UINT8 *pixels, int line_size); |
39 extern void (*put_pixels_clamped)(const DCTELEM *block, UINT8 *pixels, int line_size); | 40 extern void (*put_pixels_clamped)(const DCTELEM *block, UINT8 *pixels, int line_size); |
40 extern void (*add_pixels_clamped)(const DCTELEM *block, UINT8 *pixels, int line_size); | 41 extern void (*add_pixels_clamped)(const DCTELEM *block, UINT8 *pixels, int line_size); |
42 extern void (*gmc1)(UINT8 *dst, UINT8 *src, int srcStride, int h, int x16, int y16, int rounder); | |
43 | |
41 | 44 |
42 void get_pixels_c(DCTELEM *block, const UINT8 *pixels, int line_size); | 45 void get_pixels_c(DCTELEM *block, const UINT8 *pixels, int line_size); |
43 void put_pixels_clamped_c(const DCTELEM *block, UINT8 *pixels, int line_size); | 46 void put_pixels_clamped_c(const DCTELEM *block, UINT8 *pixels, int line_size); |
44 void add_pixels_clamped_c(const DCTELEM *block, UINT8 *pixels, int line_size); | 47 void add_pixels_clamped_c(const DCTELEM *block, UINT8 *pixels, int line_size); |
45 | 48 |
46 /* add and put pixel (decoding) */ | 49 /* add and put pixel (decoding) */ |
47 typedef void (*op_pixels_func)(UINT8 *block, const UINT8 *pixels, int line_size, int h); | 50 typedef void (*op_pixels_func)(UINT8 *block, const UINT8 *pixels, int line_size, int h); |
51 typedef void (*qpel_mc_func)(UINT8 *dst, UINT8 *src, int dstStride, int srcStride, int mx, int my); | |
48 | 52 |
49 extern op_pixels_func put_pixels_tab[4]; | 53 extern op_pixels_func put_pixels_tab[4]; |
50 extern op_pixels_func avg_pixels_tab[4]; | 54 extern op_pixels_func avg_pixels_tab[4]; |
51 extern op_pixels_func put_no_rnd_pixels_tab[4]; | 55 extern op_pixels_func put_no_rnd_pixels_tab[4]; |
52 extern op_pixels_func avg_no_rnd_pixels_tab[4]; | 56 extern op_pixels_func avg_no_rnd_pixels_tab[4]; |
57 extern qpel_mc_func qpel_mc_rnd_tab[16]; | |
58 extern qpel_mc_func qpel_mc_no_rnd_tab[16]; | |
59 | |
53 | 60 |
54 /* sub pixel (encoding) */ | 61 /* sub pixel (encoding) */ |
55 extern void (*sub_pixels_tab[4])(DCTELEM *block, const UINT8 *pixels, int line_size, int h); | 62 extern void (*sub_pixels_tab[4])(DCTELEM *block, const UINT8 *pixels, int line_size, int h); |
56 | 63 |
57 #define sub_pixels_2(block, pixels, line_size, dxy) \ | 64 #define sub_pixels_2(block, pixels, line_size, dxy) \ |