From 8a467b2d44d20c1a0b731dce9edeff772732a558 Mon Sep 17 00:00:00 2001 From: Jason Garrett-Glaser Date: Fri, 23 Jul 2010 02:58:27 +0000 Subject: VP8: 30% faster idct_mb Take shortcuts based on statistically common situations. Add 4-at-a-time idct_dc function (mmx and sse2) since rows of 4 DC-only DCT blocks are common. TODO: tie this more directly into the MB mode, since the DC-level transform is only used for non-splitmv blocks? Originally committed as revision 24452 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vp8dsp.h | 1 + 1 file changed, 1 insertion(+) (limited to 'libavcodec/vp8dsp.h') diff --git a/libavcodec/vp8dsp.h b/libavcodec/vp8dsp.h index 64a3bfbc57..82ea684eab 100644 --- a/libavcodec/vp8dsp.h +++ b/libavcodec/vp8dsp.h @@ -33,6 +33,7 @@ typedef struct VP8DSPContext { void (*vp8_luma_dc_wht)(DCTELEM block[4][4][16], DCTELEM dc[16]); void (*vp8_idct_add)(uint8_t *dst, DCTELEM block[16], int stride); void (*vp8_idct_dc_add)(uint8_t *dst, DCTELEM block[16], int stride); + void (*vp8_idct_dc_add4)(uint8_t *dst, DCTELEM block[4][16], int stride); // loop filter applied to edges between macroblocks void (*vp8_v_loop_filter16y)(uint8_t *dst, int stride, -- cgit v1.2.3