[FFmpeg-cvslog] r21983 - in trunk/libavcodec: indeo5.c ivi_common.c
kostya
subversion
Tue Feb 23 08:41:29 CET 2010
Author: kostya
Date: Tue Feb 23 08:41:29 2010
New Revision: 21983
Log:
10l trocadero: Indeo 5 decoder did not free custom VLCs for macroblock and
block decoding at exit, so prevent that memory leak now.
Modified:
trunk/libavcodec/indeo5.c
trunk/libavcodec/ivi_common.c
Modified: trunk/libavcodec/indeo5.c
==============================================================================
--- trunk/libavcodec/indeo5.c Tue Feb 23 08:07:54 2010 (r21982)
+++ trunk/libavcodec/indeo5.c Tue Feb 23 08:41:29 2010 (r21983)
@@ -860,6 +860,9 @@ static av_cold int decode_close(AVCodecC
ff_ivi_free_buffers(&ctx->planes[0]);
+ if (ctx->mb_vlc_cust.table)
+ free_vlc(&ctx->mb_vlc_cust);
+
if (ctx->frame.data[0])
avctx->release_buffer(avctx, &ctx->frame);
Modified: trunk/libavcodec/ivi_common.c
==============================================================================
--- trunk/libavcodec/ivi_common.c Tue Feb 23 08:07:54 2010 (r21982)
+++ trunk/libavcodec/ivi_common.c Tue Feb 23 08:41:29 2010 (r21983)
@@ -208,6 +208,8 @@ void av_cold ff_ivi_free_buffers(IVIPlan
av_freep(&planes[p].bands[b].bufs[1]);
av_freep(&planes[p].bands[b].bufs[2]);
+ if (planes[p].bands[b].blk_vlc_cust.table)
+ free_vlc(&planes[p].bands[b].blk_vlc_cust);
for (t = 0; t < planes[p].bands[b].num_tiles; t++)
av_freep(&planes[p].bands[b].tiles[t].mbs);
av_freep(&planes[p].bands[b].tiles);
More information about the ffmpeg-cvslog
mailing list