# HG changeset patch # User kostya # Date 1266910889 0 # Node ID f65b3f7186b5fdc8a4e073bdf60a30d2d4e8a93a # Parent e820a9d3f80c8e6e0735ae75faac7c9a14a54c8e 10l trocadero: Indeo 5 decoder did not free custom VLCs for macroblock and block decoding at exit, so prevent that memory leak now. diff -r e820a9d3f80c -r f65b3f7186b5 indeo5.c --- 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); diff -r e820a9d3f80c -r f65b3f7186b5 ivi_common.c --- 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);