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

last frame decoding fix

Originally committed as revision 2074 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2003-07-23 09:58:02 +00:00
parent a15e68deb6
commit e9174ba460
2 changed files with 14 additions and 7 deletions

View File

@ -401,9 +401,17 @@ uint64_t time= rdtsc();
s->flags= avctx->flags; s->flags= avctx->flags;
*data_size = 0; *data_size = 0;
/* no supplementary picture */ /* no supplementary picture */
if (buf_size == 0) { if (buf_size == 0) {
/* special case for last picture */
if (s->low_delay==0 && s->next_picture_ptr) {
*pict= *(AVFrame*)s->next_picture_ptr;
s->next_picture_ptr= NULL;
*data_size = sizeof(AVFrame);
}
return 0; return 0;
} }

View File

@ -2231,12 +2231,11 @@ static int mpeg_decode_frame(AVCodecContext *avctx,
*data_size = 0; *data_size = 0;
/* special case for last picture */ /* special case for last picture */
if (buf_size == 0) { if (buf_size == 0 && s2->low_delay==0 && s2->next_picture_ptr) {
if (s2->picture_number > 0) { *picture= *(AVFrame*)s2->next_picture_ptr;
*picture= *(AVFrame*)&s2->next_picture; s2->next_picture_ptr= NULL;
*data_size = sizeof(AVFrame); *data_size = sizeof(AVFrame);
}
return 0; return 0;
} }