diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2010-09-08 05:51:31 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2010-09-08 05:51:31 +0000 |
commit | 83f72f138e64b596dce1b543d6af3cf66d300e90 (patch) | |
tree | 3f744b7f03fd71d4d901eee25b73686e8e4062f3 /libavcodec | |
parent | 6950cca97fed890ec56259a2f868f37b65513d92 (diff) | |
download | ffmpeg-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')
-rw-r--r-- | libavcodec/vp3.c | 6 |
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; |