diff options
author | Zhong Li <zhong.li@intel.com> | 2017-09-30 11:22:57 +0800 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-10-04 02:16:11 +0200 |
commit | fd7cb86468cc63b5bda203d74964584281318cda (patch) | |
tree | 5b3d24dc56a2a92d54e401764296b327ba003886 | |
parent | 93d27e022fb1c0e74a34f9b2567e4dd5c2002297 (diff) | |
download | ffmpeg-fd7cb86468cc63b5bda203d74964584281318cda.tar.gz |
mpegdec: fix redundant dummy frames issue of interlaced clips
It is to fix https://trac.ffmpeg.org/ticket/6677. Actucally it is a
regression of commit 99e07a4453732058df90885f80b3db3b4f37cb3c which
always inserts a dummy frame when decode the first key field picture.
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/mpegvideo.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 82b94253ae..c4089972f0 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1283,8 +1283,7 @@ int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext *avctx) s->pict_type, s->droppable); if ((!s->last_picture_ptr || !s->last_picture_ptr->f->buf[0]) && - (s->pict_type != AV_PICTURE_TYPE_I || - s->picture_structure != PICT_FRAME)) { + (s->pict_type != AV_PICTURE_TYPE_I)) { int h_chroma_shift, v_chroma_shift; av_pix_fmt_get_chroma_sub_sample(s->avctx->pix_fmt, &h_chroma_shift, &v_chroma_shift); @@ -1294,9 +1293,6 @@ int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext *avctx) 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) - av_log(avctx, AV_LOG_DEBUG, - "allocate dummy last picture for field based first keyframe\n"); /* Allocate a dummy frame */ i = ff_find_unused_picture(s->avctx, s->picture, 0); |