10l (dont read variables before they have been set)
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 5 Jun 2005 15:51:20 +0000 (15:51 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 5 Jun 2005 15:51:20 +0000 (15:51 +0000)
Originally committed as revision 4355 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264.c

index 95d420f..c0540fc 100644 (file)
@@ -2998,18 +2998,6 @@ static int decode_init(AVCodecContext *avctx){
     s->low_delay= 1;
     avctx->pix_fmt= PIX_FMT_YUV420P;
 
-    if(s->dsp.h264_idct_add == ff_h264_idct_add_c){ //FIXME little ugly
-        memcpy(h->zigzag_scan, zigzag_scan, 16*sizeof(uint8_t));
-        memcpy(h-> field_scan,  field_scan, 16*sizeof(uint8_t));
-    }else{
-        int i;
-        for(i=0; i<16; i++){
-#define T(x) (x>>2) | ((x<<2) & 0xF)
-            h->zigzag_scan[i] = T(zigzag_scan[i]);
-            h-> field_scan[i] = T( field_scan[i]);
-        }
-    }
-
     decode_init_vlc(h);
     
     if(avctx->extradata_size > 0 && avctx->extradata &&
@@ -4173,6 +4161,18 @@ static int decode_slice_header(H264Context *h){
     if (!s->context_initialized) {
         if (MPV_common_init(s) < 0)
             return -1;
+            
+        if(s->dsp.h264_idct_add == ff_h264_idct_add_c){ //FIXME little ugly
+            memcpy(h->zigzag_scan, zigzag_scan, 16*sizeof(uint8_t));
+            memcpy(h-> field_scan,  field_scan, 16*sizeof(uint8_t));
+        }else{
+            int i;
+            for(i=0; i<16; i++){
+#define T(x) (x>>2) | ((x<<2) & 0xF)
+                h->zigzag_scan[i] = T(zigzag_scan[i]);
+                h-> field_scan[i] = T( field_scan[i]);
+            }
+        }
 
         alloc_tables(h);