diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index d61d684209..4ac2f1a5c1 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1517,6 +1517,8 @@ int ff_MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) } } + ff_mpeg_unref_picture(s, &s->current_picture); + if (!s->encoding) { ff_release_unused_pictures(s, 1); @@ -1564,7 +1566,6 @@ int ff_MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) // s->current_picture_ptr->quality = s->new_picture_ptr->quality; s->current_picture_ptr->f.key_frame = s->pict_type == AV_PICTURE_TYPE_I; - ff_mpeg_unref_picture(s, &s->current_picture); if ((ret = ff_mpeg_ref_picture(s, &s->current_picture, s->current_picture_ptr)) < 0) return ret;