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