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) \