diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 22cb56a30d..7380af05c9 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1359,16 +1359,14 @@ av_cold void ff_init_vlc_rl(RLTable *rl) } } -void ff_release_unused_pictures(MpegEncContext*s, int remove_current) +static void release_unused_pictures(MpegEncContext *s) { int i; /* release non reference frames */ for (i = 0; i < MAX_PICTURE_COUNT; i++) { - if (!s->picture[i].reference && - (remove_current || &s->picture[i] != s->current_picture_ptr)) { + if (!s->picture[i].reference) ff_mpeg_unref_picture(s, &s->picture[i]); - } } } @@ -1492,7 +1490,7 @@ 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); + release_unused_pictures(s); if (s->current_picture_ptr && s->current_picture_ptr->f.buf[0] == NULL) { diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 857b297a65..1d2b29145c 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -824,7 +824,6 @@ void ff_print_debug_info2(AVCodecContext *avctx, Picture *p, AVFrame *pict, uint int ff_mpv_export_qp_table(MpegEncContext *s, AVFrame *f, Picture *p, int qp_type); void ff_write_quant_matrix(PutBitContext *pb, uint16_t *matrix); -void ff_release_unused_pictures(MpegEncContext *s, int remove_current); int ff_find_unused_picture(MpegEncContext *s, int shared); void ff_denoise_dct(MpegEncContext *s, int16_t *block); int ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src);