mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
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
)
This commit is contained in:
parent
695f39c80b
commit
0cfcbf217f
@ -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){
|
if(src_x<0 || src_y<0 || src_x + 9 >= plane_width || src_y + 9 >= plane_height){
|
||||||
uint8_t *temp= s->edge_emu_buffer;
|
uint8_t *temp= s->edge_emu_buffer;
|
||||||
if(stride<0) temp -= 9*stride;
|
if(stride<0) temp -= 8*stride;
|
||||||
else temp += 9*stride;
|
|
||||||
|
|
||||||
s->dsp.emulated_edge_mc(temp, motion_source, stride, 9, 9, src_x, src_y, plane_width, plane_height);
|
s->dsp.emulated_edge_mc(temp, motion_source, stride, 9, 9, src_x, src_y, plane_width, plane_height);
|
||||||
motion_source= temp;
|
motion_source= temp;
|
||||||
|
Loading…
Reference in New Issue
Block a user