[FFmpeg-devel] [PATCH] Reuse vp3_decode_flush instead of duplicating it.
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Sat Oct 22 13:34:31 CEST 2011
This also fixes that sometimes a frame would actually not be freed.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
---
libavcodec/vp3.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index 82838de..77a3151 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;
}
--
1.7.7
More information about the ffmpeg-devel
mailing list