Mercurial > libavcodec.hg
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 /** |