[FFmpeg-cvslog] h264: unref leaking error recovery picture

wm4 git at videolan.org
Mon Jan 19 20:20:53 CET 2015


ffmpeg | branch: master | wm4 <nfxjfg at googlemail.com> | Mon Jan 19 17:14:44 2015 +0100| [e0e33ebe6bd71fdb211c9af7c7af17d6472c535b] | committer: Michael Niedermayer

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 <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e0e33ebe6bd71fdb211c9af7c7af17d6472c535b
---

 libavcodec/h264_slice.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index ae50b9a..3874d07 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));



More information about the ffmpeg-cvslog mailing list