diff mpegvideo.c @ 815:78accc54493b libavcodec

put a few large tables under #ifdef CONFIG_ENCODERS or dynamically allocate them
author michaelni
date Thu, 31 Oct 2002 16:11:03 +0000
parents 8f31ed5bacd1
children ace3ccd18dd2
line wrap: on
line diff
--- a/mpegvideo.c	Thu Oct 31 12:11:53 2002 +0000
+++ b/mpegvideo.c	Thu Oct 31 16:11:03 2002 +0000
@@ -85,7 +85,7 @@
     0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
 };
 
-static UINT16 default_mv_penalty[MAX_FCODE+1][MAX_MV*2+1];
+static UINT16 (*default_mv_penalty)[MAX_MV*2+1]=NULL;
 static UINT8 default_fcode_tab[MAX_MV*2+1];
 
 /* default motion estimation */
@@ -684,6 +684,8 @@
         if(!done){
             int i;
             done=1;
+
+            default_mv_penalty= av_mallocz( sizeof(UINT16)*(MAX_FCODE+1)*(2*MAX_MV+1) );
             memset(default_mv_penalty, 0, sizeof(UINT16)*(MAX_FCODE+1)*(2*MAX_MV+1));
             memset(default_fcode_tab , 0, sizeof(UINT8)*(2*MAX_MV+1));
 
@@ -706,12 +708,14 @@
     if (MPV_common_init(s) < 0)
         return -1;
     
+#ifdef CONFIG_ENCODERS
     if (s->out_format == FMT_H263)
         h263_encode_init(s);
     else if (s->out_format == FMT_MPEG1)
         ff_mpeg1_encode_init(s);
     if(s->msmpeg4_version)
         ff_msmpeg4_encode_init(s);
+#endif
 
     /* init default q matrix */
     for(i=0;i<64;i++) {
@@ -2389,6 +2393,7 @@
         s->block[5][0]= 128;
     }
 
+#ifdef CONFIG_ENCODERS
     /* huffman encode */
     switch(s->out_format) {
     case FMT_MPEG1:
@@ -2406,6 +2411,7 @@
         mjpeg_encode_mb(s, s->block);
         break;
     }
+#endif
 }
 
 void ff_copy_bits(PutBitContext *pb, UINT8 *src, int length)