From 9bd005bdbcb6494557cff7392a141fb3f9c3c761 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 5 Jan 2008 01:14:09 +0000 Subject: Drop non key frames before the first key frame. Originally committed as revision 11411 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/mpeg12.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libavcodec/mpeg12.c') diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index ed74091..5b006c3 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -2329,8 +2329,10 @@ static int mpeg_decode_frame(AVCodecContext *avctx, if(s2->last_picture_ptr==NULL){ /* Skip B-frames if we do not have reference frames. */ if(s2->pict_type==B_TYPE) break; + } + if(s2->next_picture_ptr==NULL){ /* Skip P-frames if we do not have reference frame no valid header. */ -// if(s2->pict_type==P_TYPE && s2->first_field && !s2->first_slice) break; + if(s2->pict_type==P_TYPE && (s2->first_field || s2->picture_structure==PICT_FRAME)) break; } /* Skip B-frames if we are in a hurry. */ if(avctx->hurry_up && s2->pict_type==B_TYPE) break; -- cgit v1.1