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 */