From e0e33ebe6bd71fdb211c9af7c7af17d6472c535b Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 19 Jan 2015 17:14:44 +0100 Subject: [PATCH] h264: unref leaking error recovery picture This leaked a frame on each avcodec_flush_buffers() call, if frame threading was enabled. It caused severe memory usage in player if you were seeking a lot. Signed-off-by: Michael Niedermayer --- libavcodec/h264_slice.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index ae50b9a2fe..3874d07000 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -529,6 +529,7 @@ int ff_h264_update_thread_context(AVCodecContext *dst, av_freep(&h->rbsp_buffer[0]); av_freep(&h->rbsp_buffer[1]); + ff_h264_unref_picture(h, &h->last_pic_for_ec); memcpy(h, h1, offsetof(H264Context, intra_pcm_ptr)); memcpy(&h->cabac, &h1->cabac, sizeof(H264Context) - offsetof(H264Context, cabac)); -- 2.11.0