Browse Source

Fix memory leak introduced in r23933

Originally committed as revision 23998 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/n0.8
Måns Rullgård 15 years ago
parent
commit
79042a6eb1
1 changed files with 2 additions and 8 deletions
  1. +2
    -8
      libavcodec/mpegvideo.c

+ 2
- 8
libavcodec/mpegvideo.c View File

@@ -385,7 +385,8 @@ static int init_duplicate_context(MpegEncContext *s, MpegEncContext *base){
s->pblocks[i] = &s->block[i];
}

if (s->ac_val_base) {
if (s->out_format == FMT_H263) {
/* ac values */
FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_val_base, yc_size * sizeof(int16_t) * 16, fail);
s->ac_val[0] = s->ac_val_base + s->b8_stride + 1;
s->ac_val[1] = s->ac_val_base + y_size + s->mb_stride + 1;
@@ -621,12 +622,6 @@ av_cold int MPV_common_init(MpegEncContext *s)
}
}
if (s->out_format == FMT_H263) {
/* ac values */
FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_val_base, yc_size * sizeof(int16_t) * 16, fail);
s->ac_val[0] = s->ac_val_base + s->b8_stride + 1;
s->ac_val[1] = s->ac_val_base + y_size + s->mb_stride + 1;
s->ac_val[2] = s->ac_val[1] + c_size;

/* cbp values */
FF_ALLOCZ_OR_GOTO(s->avctx, s->coded_block_base, y_size, fail);
s->coded_block= s->coded_block_base + s->b8_stride + 1;
@@ -728,7 +723,6 @@ void MPV_common_end(MpegEncContext *s)
}

av_freep(&s->dc_val_base);
av_freep(&s->ac_val_base);
av_freep(&s->coded_block_base);
av_freep(&s->mbintra_table);
av_freep(&s->cbp_table);


Loading…
Cancel
Save