From 6f5b4ce612d42a152cd0dea104e4f1502a1f1952 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Sat, 22 Oct 2011 13:33:44 +0200 Subject: [PATCH] Reuse vp3_decode_flush instead of duplicating it. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This also fixes that sometimes a frame would actually not be freed. Signed-off-by: Reimar Döffinger --- libavcodec/vp3.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 82838de61e..77a3151b45 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -1980,6 +1980,8 @@ error: return -1; } +static void vp3_decode_flush(AVCodecContext *avctx); + /* * This is the ffmpeg/libavcodec API module cleanup function. */ @@ -2017,12 +2019,7 @@ static av_cold int vp3_decode_end(AVCodecContext *avctx) free_vlc(&s->motion_vector_vlc); /* release all frames */ - if (s->golden_frame.data[0]) - ff_thread_release_buffer(avctx, &s->golden_frame); - if (s->last_frame.data[0] && s->last_frame.type != FF_BUFFER_TYPE_COPY) - ff_thread_release_buffer(avctx, &s->last_frame); - /* no need to release the current_frame since it will always be pointing - * to the same frame as either the golden or last frame */ + vp3_decode_flush(avctx); return 0; }