From a89f4ca005efa5ee82089583c7b8bc00bcee816a Mon Sep 17 00:00:00 2001 From: David Conrad Date: Sat, 19 Feb 2011 01:41:51 -0800 Subject: [PATCH] Fix VP3 edge emulation With negative stride, the start of the edge_emu buffer should be pointing to the last line, not the end of the buffer. With positive stride, pointing to the end of the buffer was completely wrong. --- libavcodec/vp3.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 97051f7065..3d4bfb4d91 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -1459,8 +1459,7 @@ static void render_slice(Vp3DecodeContext *s, int slice) if(src_x<0 || src_y<0 || src_x + 9 >= plane_width || src_y + 9 >= plane_height){ uint8_t *temp= s->edge_emu_buffer; - if(stride<0) temp -= 9*stride; - else temp += 9*stride; + if(stride<0) temp -= 8*stride; s->dsp.emulated_edge_mc(temp, motion_source, stride, 9, 9, src_x, src_y, plane_width, plane_height); motion_source= temp;