Mercurial > libavcodec.hg
comparison mpegvideo.c @ 12076:84df7b6b1929 libavcodec
Fix memory leak introduced in r23933
author | mru |
---|---|
date | Fri, 02 Jul 2010 15:00:21 +0000 |
parents | 25e9cb2b9477 |
children | 914f484bb476 |
comparison
equal
deleted
inserted
replaced
12075:190efe3dee2b | 12076:84df7b6b1929 |
---|---|
383 | 383 |
384 for(i=0;i<12;i++){ | 384 for(i=0;i<12;i++){ |
385 s->pblocks[i] = &s->block[i]; | 385 s->pblocks[i] = &s->block[i]; |
386 } | 386 } |
387 | 387 |
388 if (s->ac_val_base) { | 388 if (s->out_format == FMT_H263) { |
389 /* ac values */ | |
389 FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_val_base, yc_size * sizeof(int16_t) * 16, fail); | 390 FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_val_base, yc_size * sizeof(int16_t) * 16, fail); |
390 s->ac_val[0] = s->ac_val_base + s->b8_stride + 1; | 391 s->ac_val[0] = s->ac_val_base + s->b8_stride + 1; |
391 s->ac_val[1] = s->ac_val_base + y_size + s->mb_stride + 1; | 392 s->ac_val[1] = s->ac_val_base + y_size + s->mb_stride + 1; |
392 s->ac_val[2] = s->ac_val[1] + c_size; | 393 s->ac_val[2] = s->ac_val[1] + c_size; |
393 } | 394 } |
619 } | 620 } |
620 FF_ALLOCZ_OR_GOTO(s->avctx, s->p_field_select_table[i], mb_array_size * 2 * sizeof(uint8_t), fail) | 621 FF_ALLOCZ_OR_GOTO(s->avctx, s->p_field_select_table[i], mb_array_size * 2 * sizeof(uint8_t), fail) |
621 } | 622 } |
622 } | 623 } |
623 if (s->out_format == FMT_H263) { | 624 if (s->out_format == FMT_H263) { |
624 /* ac values */ | |
625 FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_val_base, yc_size * sizeof(int16_t) * 16, fail); | |
626 s->ac_val[0] = s->ac_val_base + s->b8_stride + 1; | |
627 s->ac_val[1] = s->ac_val_base + y_size + s->mb_stride + 1; | |
628 s->ac_val[2] = s->ac_val[1] + c_size; | |
629 | |
630 /* cbp values */ | 625 /* cbp values */ |
631 FF_ALLOCZ_OR_GOTO(s->avctx, s->coded_block_base, y_size, fail); | 626 FF_ALLOCZ_OR_GOTO(s->avctx, s->coded_block_base, y_size, fail); |
632 s->coded_block= s->coded_block_base + s->b8_stride + 1; | 627 s->coded_block= s->coded_block_base + s->b8_stride + 1; |
633 | 628 |
634 /* cbp, ac_pred, pred_dir */ | 629 /* cbp, ac_pred, pred_dir */ |
726 } | 721 } |
727 av_freep(&s->p_field_select_table[i]); | 722 av_freep(&s->p_field_select_table[i]); |
728 } | 723 } |
729 | 724 |
730 av_freep(&s->dc_val_base); | 725 av_freep(&s->dc_val_base); |
731 av_freep(&s->ac_val_base); | |
732 av_freep(&s->coded_block_base); | 726 av_freep(&s->coded_block_base); |
733 av_freep(&s->mbintra_table); | 727 av_freep(&s->mbintra_table); |
734 av_freep(&s->cbp_table); | 728 av_freep(&s->cbp_table); |
735 av_freep(&s->pred_dir_table); | 729 av_freep(&s->pred_dir_table); |
736 | 730 |