From 83f72f138e64b596dce1b543d6af3cf66d300e90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Wed, 8 Sep 2010 05:51:31 +0000 Subject: [PATCH] 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 --- libavcodec/vp3.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 457c6990b6..59719e7e65 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -1326,9 +1326,7 @@ static void vp3_draw_horiz_band(Vp3DecodeContext *s, int y) y -= h; if (!s->flipped_image) { - if (y == 0) - h -= s->height - s->avctx->height; // account for non-mod16 - y = s->height - y - h; + y = s->avctx->height - y - h; } cy = y >> s->chroma_y_shift; @@ -1850,7 +1848,7 @@ static int vp3_decode_frame(AVCodecContext *avctx, int row = (s->height >> (3+(i && s->chroma_y_shift))) - 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); *(AVFrame*)data= s->current_frame;