From aeaf268e52fc11c1f64914a319e0edddf1346d6a Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Fri, 18 Jan 2013 16:43:04 +0100 Subject: vp3: integrate clear_blocks with idct of previous block. This is identical to what e.g. vp8 does, and prevents the function call overhead (plus dependency on dsputil for this particular function). Arm asm updated by Janne Grunau . Signed-off-by: Janne Grunau --- libavcodec/vp3dsp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libavcodec/vp3dsp.c') diff --git a/libavcodec/vp3dsp.c b/libavcodec/vp3dsp.c index 9b0b5d0a9c..9e6209dfdd 100644 --- a/libavcodec/vp3dsp.c +++ b/libavcodec/vp3dsp.c @@ -215,14 +215,16 @@ static av_always_inline void idct(uint8_t *dst, int stride, int16_t *input, int static void vp3_idct_put_c(uint8_t *dest/*align 8*/, int line_size, DCTELEM *block/*align 16*/){ idct(dest, line_size, block, 1); + memset(block, 0, sizeof(*block) * 64); } static void vp3_idct_add_c(uint8_t *dest/*align 8*/, int line_size, DCTELEM *block/*align 16*/){ idct(dest, line_size, block, 2); + memset(block, 0, sizeof(*block) * 64); } static void vp3_idct_dc_add_c(uint8_t *dest/*align 8*/, int line_size, - const DCTELEM *block/*align 16*/){ + DCTELEM *block/*align 16*/){ int i, dc = (block[0] + 15) >> 5; for(i = 0; i < 8; i++){ @@ -236,6 +238,7 @@ static void vp3_idct_dc_add_c(uint8_t *dest/*align 8*/, int line_size, dest[7] = av_clip_uint8(dest[7] + dc); dest += line_size; } + block[0] = 0; } static void vp3_v_loop_filter_c(uint8_t *first_pixel, int stride, -- cgit v1.2.3