Browse Source

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

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

Originally committed as revision 21983 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Kostya Shishkov 16 years ago
parent
commit
60819e694e
2 changed files with 5 additions and 0 deletions
  1. +3
    -0
      libavcodec/indeo5.c
  2. +2
    -0
      libavcodec/ivi_common.c

+ 3
- 0
libavcodec/indeo5.c View File

@@ -860,6 +860,9 @@ static av_cold int decode_close(AVCodecContext *avctx)

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);



+ 2
- 0
libavcodec/ivi_common.c View File

@@ -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[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);


Loading…
Cancel
Save