summaryrefslogtreecommitdiff
path: root/libavcodec/vp3.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2010-09-08 05:51:31 +0000
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2010-09-08 05:51:31 +0000
commit83f72f138e64b596dce1b543d6af3cf66d300e90 (patch)
tree3f744b7f03fd71d4d901eee25b73686e8e4062f3 /libavcodec/vp3.c
parent6950cca97fed890ec56259a2f868f37b65513d92 (diff)
downloadffmpeg-83f72f138e64b596dce1b543d6af3cf66d300e90.tar.gz
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
Diffstat (limited to 'libavcodec/vp3.c')
-rw-r--r--libavcodec/vp3.c6
1 files 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;