[FFmpeg-cvslog] r12191 - trunk/libavcodec/vp3.c
mru
subversion
Sun Feb 24 19:56:53 CET 2008
Author: mru
Date: Sun Feb 24 19:56:52 2008
New Revision: 12191
Log:
fix memory leaks in vp3 decoder
Modified:
trunk/libavcodec/vp3.c
Modified: trunk/libavcodec/vp3.c
==============================================================================
--- trunk/libavcodec/vp3.c (original)
+++ trunk/libavcodec/vp3.c Sun Feb 24 19:56:52 2008
@@ -2313,7 +2313,9 @@ if (!s->keyframe) {
static int vp3_decode_end(AVCodecContext *avctx)
{
Vp3DecodeContext *s = avctx->priv_data;
+ int i;
+ av_free(s->superblock_coding);
av_free(s->all_fragments);
av_free(s->coeffs);
av_free(s->coded_fragment_list);
@@ -2322,6 +2324,19 @@ static int vp3_decode_end(AVCodecContext
av_free(s->macroblock_fragments);
av_free(s->macroblock_coding);
+ for (i = 0; i < 16; i++) {
+ free_vlc(&s->dc_vlc[i]);
+ free_vlc(&s->ac_vlc_1[i]);
+ free_vlc(&s->ac_vlc_2[i]);
+ free_vlc(&s->ac_vlc_3[i]);
+ free_vlc(&s->ac_vlc_4[i]);
+ }
+
+ free_vlc(&s->superblock_run_length_vlc);
+ free_vlc(&s->fragment_run_length_vlc);
+ free_vlc(&s->mode_code_vlc);
+ free_vlc(&s->motion_vector_vlc);
+
/* release all frames */
if (s->golden_frame.data[0] && s->golden_frame.data[0] != s->last_frame.data[0])
avctx->release_buffer(avctx, &s->golden_frame);
More information about the ffmpeg-cvslog
mailing list