Mercurial > libavcodec.hg
comparison h263dec.c @ 273:34f40a0fc840 libavcodec
msmpeg4 bugfix (wrong frame displayed if some frames are skipped)
author | michaelni |
---|---|
date | Mon, 18 Mar 2002 21:06:07 +0000 |
parents | 252444e5259b |
children | d0c186bcf075 |
comparison
equal
deleted
inserted
replaced
272:897dc7c6aa94 | 273:34f40a0fc840 |
---|---|
236 if (s->h263_msmpeg4 && s->pict_type==I_TYPE) | 236 if (s->h263_msmpeg4 && s->pict_type==I_TYPE) |
237 if(msmpeg4_decode_ext_header(s, buf_size) < 0) return -1; | 237 if(msmpeg4_decode_ext_header(s, buf_size) < 0) return -1; |
238 | 238 |
239 MPV_frame_end(s); | 239 MPV_frame_end(s); |
240 | 240 |
241 if(s->pict_type==B_TYPE){ | 241 if(s->pict_type==B_TYPE || (!s->has_b_frames)){ |
242 pict->data[0] = s->current_picture[0]; | 242 pict->data[0] = s->current_picture[0]; |
243 pict->data[1] = s->current_picture[1]; | 243 pict->data[1] = s->current_picture[1]; |
244 pict->data[2] = s->current_picture[2]; | 244 pict->data[2] = s->current_picture[2]; |
245 } else { | 245 } else { |
246 pict->data[0] = s->last_picture[0]; | 246 pict->data[0] = s->last_picture[0]; |