# HG changeset patch # User michael # Date 1117986680 0 # Node ID a7925aaeea1e16be36a3f8cbc006eb369ca35331 # Parent fa1c8955e29109d8db26e2b5d058d9fe01365386 10l (dont read variables before they have been set) diff -r fa1c8955e291 -r a7925aaeea1e h264.c --- a/h264.c Sat Jun 04 15:49:54 2005 +0000 +++ b/h264.c Sun Jun 05 15:51:20 2005 +0000 @@ -2998,18 +2998,6 @@ 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 @@ 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);