1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

b frames & slices bugfix

Originally committed as revision 377 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2002-04-05 04:23:01 +00:00
parent 84afee348f
commit 3c4f1840e6

View File

@ -220,9 +220,15 @@ static int h263_decode_frame(AVCodecContext *avctx,
if (h > 16) if (h > 16)
h = 16; h = 16;
offset = y * s->linesize; offset = y * s->linesize;
src_ptr[0] = s->current_picture[0] + offset; if(s->pict_type==B_TYPE || (!s->has_b_frames)){
src_ptr[1] = s->current_picture[1] + (offset >> 2); src_ptr[0] = s->current_picture[0] + offset;
src_ptr[2] = s->current_picture[2] + (offset >> 2); src_ptr[1] = s->current_picture[1] + (offset >> 2);
src_ptr[2] = s->current_picture[2] + (offset >> 2);
} else {
src_ptr[0] = s->last_picture[0] + offset;
src_ptr[1] = s->last_picture[1] + (offset >> 2);
src_ptr[2] = s->last_picture[2] + (offset >> 2);
}
avctx->draw_horiz_band(avctx, src_ptr, s->linesize, avctx->draw_horiz_band(avctx, src_ptr, s->linesize,
y, s->width, h); y, s->width, h);
} }