changeset 11255:f65b3f7186b5 libavcodec

10l trocadero: Indeo 5 decoder did not free custom VLCs for macroblock and block decoding at exit, so prevent that memory leak now.
author kostya
date Tue, 23 Feb 2010 07:41:29 +0000
parents e820a9d3f80c
children 829ac8d6493a
files indeo5.c ivi_common.c
diffstat 2 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/indeo5.c	Tue Feb 23 07:07:54 2010 +0000
+++ b/indeo5.c	Tue Feb 23 07:41:29 2010 +0000
@@ -860,6 +860,9 @@
 
     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);
 
--- a/ivi_common.c	Tue Feb 23 07:07:54 2010 +0000
+++ b/ivi_common.c	Tue Feb 23 07:41:29 2010 +0000
@@ -208,6 +208,8 @@
             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);