Browse Source

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
tags/n0.8
Reimar Döffinger 14 years ago
parent
commit
83f72f138e
1 changed files with 2 additions and 4 deletions
  1. +2
    -4
      libavcodec/vp3.c

+ 2
- 4
libavcodec/vp3.c View File

@@ -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;


Loading…
Cancel
Save