aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhong Li <zhong.li@intel.com>2017-09-30 11:22:57 +0800
committerMichael Niedermayer <michael@niedermayer.cc>2017-10-04 02:16:11 +0200
commitfd7cb86468cc63b5bda203d74964584281318cda (patch)
tree5b3d24dc56a2a92d54e401764296b327ba003886
parent93d27e022fb1c0e74a34f9b2567e4dd5c2002297 (diff)
downloadffmpeg-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.c6
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);