comparison dsputil.h @ 1567:e08df4d22d27 libavcodec

* introducing dct248 into the DSP context. * simple/accurate implementation of dct248 * DV encoding now supports 2-4-8 DCT * DV encoding gets a bit faster (but still miles away from what I think it could do) * misc. DV codec cleanups
author romansh
date Fri, 24 Oct 2003 18:28:01 +0000
parents 1a9a63f59849
children aa4dc16c0f18
comparison
equal deleted inserted replaced
1566:396e8526e82c 1567:e08df4d22d27
35 /* dct code */ 35 /* dct code */
36 typedef short DCTELEM; 36 typedef short DCTELEM;
37 37
38 void fdct_ifast (DCTELEM *data); 38 void fdct_ifast (DCTELEM *data);
39 void ff_jpeg_fdct_islow (DCTELEM *data); 39 void ff_jpeg_fdct_islow (DCTELEM *data);
40 void ff_fdct248_islow (DCTELEM *data);
40 41
41 void j_rev_dct (DCTELEM *data); 42 void j_rev_dct (DCTELEM *data);
42 43
43 void ff_fdct_mmx(DCTELEM *block); 44 void ff_fdct_mmx(DCTELEM *block);
44 void ff_fdct_mmx2(DCTELEM *block); 45 void ff_fdct_mmx2(DCTELEM *block);
45 46
46 /* encoding scans */ 47 /* encoding scans */
47 extern const uint8_t ff_alternate_horizontal_scan[64]; 48 extern const uint8_t ff_alternate_horizontal_scan[64];
48 extern const uint8_t ff_alternate_vertical_scan[64]; 49 extern const uint8_t ff_alternate_vertical_scan[64];
49 extern const uint8_t ff_zigzag_direct[64]; 50 extern const uint8_t ff_zigzag_direct[64];
51 extern const uint8_t ff_zigzag248_direct[64];
50 52
51 /* pixel operations */ 53 /* pixel operations */
52 #define MAX_NEG_CROP 384 54 #define MAX_NEG_CROP 384
53 55
54 /* temporary */ 56 /* temporary */
242 void (*sub_hfyu_median_prediction)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top); 244 void (*sub_hfyu_median_prediction)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top);
243 void (*bswap_buf)(uint32_t *dst, uint32_t *src, int w); 245 void (*bswap_buf)(uint32_t *dst, uint32_t *src, int w);
244 246
245 /* (I)DCT */ 247 /* (I)DCT */
246 void (*fdct)(DCTELEM *block/* align 16*/); 248 void (*fdct)(DCTELEM *block/* align 16*/);
249 void (*fdct248)(DCTELEM *block/* align 16*/);
247 250
248 /* IDCT really*/ 251 /* IDCT really*/
249 void (*idct)(DCTELEM *block/* align 16*/); 252 void (*idct)(DCTELEM *block/* align 16*/);
250 253
251 /** 254 /**