comparison vp8dsp.h @ 12342:b4c63ffd959b libavcodec

VP8: much faster DC transform handling A lot of the time the DC block is empty: don't do the WHT in this case. A lot of the rest of the time, there's only one coefficient: make a special DC-only transform for that case. When the block is empty, don't incorrectly mark luma DCT blocks as having DC coefficients.
author darkshikari
date Mon, 02 Aug 2010 20:57:03 +0000
parents c7f6ddcc5c01
children
comparison
equal deleted inserted replaced
12341:ad24cca213ae 12342:b4c63ffd959b
29 29
30 typedef void (*vp8_mc_func)(uint8_t *dst/*align 8*/, int dstStride, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y); 30 typedef void (*vp8_mc_func)(uint8_t *dst/*align 8*/, int dstStride, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y);
31 31
32 typedef struct VP8DSPContext { 32 typedef struct VP8DSPContext {
33 void (*vp8_luma_dc_wht)(DCTELEM block[4][4][16], DCTELEM dc[16]); 33 void (*vp8_luma_dc_wht)(DCTELEM block[4][4][16], DCTELEM dc[16]);
34 void (*vp8_luma_dc_wht_dc)(DCTELEM block[4][4][16], DCTELEM dc[16]);
34 void (*vp8_idct_add)(uint8_t *dst, DCTELEM block[16], int stride); 35 void (*vp8_idct_add)(uint8_t *dst, DCTELEM block[16], int stride);
35 void (*vp8_idct_dc_add)(uint8_t *dst, DCTELEM block[16], int stride); 36 void (*vp8_idct_dc_add)(uint8_t *dst, DCTELEM block[16], int stride);
36 void (*vp8_idct_dc_add4y)(uint8_t *dst, DCTELEM block[4][16], int stride); 37 void (*vp8_idct_dc_add4y)(uint8_t *dst, DCTELEM block[4][16], int stride);
37 void (*vp8_idct_dc_add4uv)(uint8_t *dst, DCTELEM block[4][16], int stride); 38 void (*vp8_idct_dc_add4uv)(uint8_t *dst, DCTELEM block[4][16], int stride);
38 39