Mercurial > libavcodec.hg
changeset 650:ef4a33aad86e libavcodec
reducing sizeof MpegEncContext to avoid stack overflow on crap M$ windo$
author | michaelni |
---|---|
date | Wed, 11 Sep 2002 07:26:43 +0000 |
parents | 5a8f80522cf8 |
children | 45e8f39fda50 |
files | mpegvideo.c mpegvideo.h |
diffstat | 2 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mpegvideo.c Sat Sep 07 10:57:51 2002 +0000 +++ b/mpegvideo.c Wed Sep 11 07:26:43 2002 +0000 @@ -245,6 +245,9 @@ CHECKED_ALLOCZ( s->pb2_buffer, PB_BUFFER_SIZE); } + if(s->msmpeg4_version){ + CHECKED_ALLOCZ(s->ac_stats, 2*2*(MAX_LEVEL+1)*(MAX_RUN+1)*2*sizeof(int)); + } CHECKED_ALLOCZ(s->avctx->stats_out, 256); } @@ -349,6 +352,7 @@ av_freep(&s->edge_emu_buffer); av_freep(&s->non_b_mv4_table); av_freep(&s->avctx->stats_out); + av_freep(&s->ac_stats); for(i=0;i<3;i++) { int j;
--- a/mpegvideo.h Sat Sep 07 10:57:51 2002 +0000 +++ b/mpegvideo.h Wed Sep 11 07:26:43 2002 +0000 @@ -415,7 +415,7 @@ UINT8 *intra_v_scantable; UINT8 *intra_h_scantable; /* [mb_intra][isChroma][level][run][last] */ - int ac_stats[2][2][MAX_LEVEL+1][MAX_RUN+1][2]; + int (*ac_stats)[2][MAX_LEVEL+1][MAX_RUN+1][2]; int inter_intra_pred; /* decompression specific */