Revision 19fb234e libavcodec/h264_cavlc.c

View differences:

libavcodec/h264_cavlc.c
911 911
        int i8x8, i4x4, chroma_idx;
912 912
        int dquant;
913 913
        GetBitContext *gb= IS_INTRA(mb_type) ? h->intra_gb_ptr : h->inter_gb_ptr;
914
        const uint8_t *scan, *scan8x8, *dc_scan;
914
        const uint8_t *scan, *scan8x8;
915 915

  
916 916
        if(IS_INTERLACED(mb_type)){
917 917
            scan8x8= s->qscale ? h->field_scan8x8_cavlc : h->field_scan8x8_cavlc_q0;
918 918
            scan= s->qscale ? h->field_scan : h->field_scan_q0;
919
            dc_scan= luma_dc_field_scan;
920 919
        }else{
921 920
            scan8x8= s->qscale ? h->zigzag_scan8x8_cavlc : h->zigzag_scan8x8_cavlc_q0;
922 921
            scan= s->qscale ? h->zigzag_scan : h->zigzag_scan_q0;
923
            dc_scan= luma_dc_zigzag_scan;
924 922
        }
925 923

  
926 924
        dquant= get_se_golomb(&s->gb);
......
939 937
        h->chroma_qp[0]= get_chroma_qp(h, 0, s->qscale);
940 938
        h->chroma_qp[1]= get_chroma_qp(h, 1, s->qscale);
941 939
        if(IS_INTRA16x16(mb_type)){
942
            if( decode_residual(h, h->intra_gb_ptr, h->mb, LUMA_DC_BLOCK_INDEX, dc_scan, h->dequant4_coeff[0][s->qscale], 16) < 0){
940
            AV_ZERO128(h->mb_luma_dc+0);
941
            AV_ZERO128(h->mb_luma_dc+8);
942
            if( decode_residual(h, h->intra_gb_ptr, h->mb_luma_dc, LUMA_DC_BLOCK_INDEX, scan, h->dequant4_coeff[0][s->qscale], 16) < 0){
943 943
                return -1; //FIXME continue if partitioned and other return -1 too
944 944
            }
945 945

  

Also available in: Unified diff