Browse Source

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.
(cherry picked from commit a89f4ca005)
tags/n0.8
David Conrad Michael Niedermayer 15 years ago
parent
commit
0cfcbf217f
1 changed files with 1 additions and 2 deletions
  1. +1
    -2
      libavcodec/vp3.c

+ 1
- 2
libavcodec/vp3.c View File

@@ -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;


Loading…
Cancel
Save