Commit 83f72f13 authored by Reimar Döffinger's avatar Reimar Döffinger
Browse files

Only draw the actually visible area in vp3_draw_horiz_band.

Fixes a black line in non-swapped, non-mod-16-height Theora videos
when vp3_draw_horiz_band is used.

Originally committed as revision 25073 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 6950cca9
...@@ -1326,9 +1326,7 @@ static void vp3_draw_horiz_band(Vp3DecodeContext *s, int y) ...@@ -1326,9 +1326,7 @@ static void vp3_draw_horiz_band(Vp3DecodeContext *s, int y)
y -= h; y -= h;
if (!s->flipped_image) { if (!s->flipped_image) {
if (y == 0) y = s->avctx->height - y - h;
h -= s->height - s->avctx->height; // account for non-mod16
y = s->height - y - h;
} }
cy = y >> s->chroma_y_shift; cy = y >> s->chroma_y_shift;
...@@ -1850,7 +1848,7 @@ static int vp3_decode_frame(AVCodecContext *avctx, ...@@ -1850,7 +1848,7 @@ static int vp3_decode_frame(AVCodecContext *avctx,
int row = (s->height >> (3+(i && s->chroma_y_shift))) - 1; int row = (s->height >> (3+(i && s->chroma_y_shift))) - 1;
apply_loop_filter(s, i, row, row+1); apply_loop_filter(s, i, row, row+1);
} }
vp3_draw_horiz_band(s, s->height); vp3_draw_horiz_band(s, s->avctx->height);
*data_size=sizeof(AVFrame); *data_size=sizeof(AVFrame);
*(AVFrame*)data= s->current_frame; *(AVFrame*)data= s->current_frame;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment