Commit 98ace2ee authored by kostya's avatar kostya

10l trocadero: Indeo 5 decoder did not free custom VLCs for macroblock and

block decoding at exit, so prevent that memory leak now.



git-svn-id: file:///var/local/repositories/ffmpeg/trunk@21983 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent d8a4eb8f
...@@ -860,6 +860,9 @@ static av_cold int decode_close(AVCodecContext *avctx) ...@@ -860,6 +860,9 @@ static av_cold int decode_close(AVCodecContext *avctx)
ff_ivi_free_buffers(&ctx->planes[0]); ff_ivi_free_buffers(&ctx->planes[0]);
if (ctx->mb_vlc_cust.table)
free_vlc(&ctx->mb_vlc_cust);
if (ctx->frame.data[0]) if (ctx->frame.data[0])
avctx->release_buffer(avctx, &ctx->frame); avctx->release_buffer(avctx, &ctx->frame);
......
...@@ -208,6 +208,8 @@ void av_cold ff_ivi_free_buffers(IVIPlaneDesc *planes) ...@@ -208,6 +208,8 @@ void av_cold ff_ivi_free_buffers(IVIPlaneDesc *planes)
av_freep(&planes[p].bands[b].bufs[1]); av_freep(&planes[p].bands[b].bufs[1]);
av_freep(&planes[p].bands[b].bufs[2]); 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++) 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[t].mbs);
av_freep(&planes[p].bands[b].tiles); av_freep(&planes[p].bands[b].tiles);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment