[FFmpeg-cvslog] avcodec/mpegvideo: Dont incorrectly warn about missing keyframes

Michael Niedermayer git at videolan.org
Fri Aug 30 02:06:04 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri Aug 30 01:45:11 2013 +0200| [259292f9d484f31812a6ecbf4bfd3efd7c5905fd] | committer: Michael Niedermayer

avcodec/mpegvideo: Dont incorrectly warn about missing keyframes

Files starting with B frames in presentation order generated the
"no keyframe" warning before this change.

Based on patch by: Robert Krüger <krueger at lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=259292f9d484f31812a6ecbf4bfd3efd7c5905fd
---

 libavcodec/mpegvideo.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 00ced1f..6ace501 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -1593,7 +1593,10 @@ int ff_MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
         int h_chroma_shift, v_chroma_shift;
         av_pix_fmt_get_chroma_sub_sample(s->avctx->pix_fmt,
                                          &h_chroma_shift, &v_chroma_shift);
-        if (s->pict_type != AV_PICTURE_TYPE_I)
+        if (s->pict_type == AV_PICTURE_TYPE_B && s->next_picture_ptr && s->next_picture_ptr->f.data[0])
+            av_log(avctx, AV_LOG_INFO,
+                   "allocating dummy last picture for B frame\n");
+        else if (s->pict_type != AV_PICTURE_TYPE_I)
             av_log(avctx, AV_LOG_ERROR,
                    "warning: first frame is no keyframe\n");
         else if (s->picture_structure != PICT_FRAME)



More information about the ffmpeg-cvslog mailing list