void FUNCC(ff_h264_luma_dc_dequant_idct)(int16_t *_output, int16_t *_input, int qmul){

#define stride 16

    int i;

    int temp[16];

    static const uint8_t x_offset[4]={0, 2*stride, 8*stride, 10*stride};

    dctcoef *input = (dctcoef*)_input;

    dctcoef *output = (dctcoef*)_output;



    for(i=0; i<4; i++){

        const int z0= input[4*i+0] + input[4*i+1];

        const int z1= input[4*i+0] - input[4*i+1];

        const int z2= input[4*i+2] - input[4*i+3];

        const int z3= input[4*i+2] + input[4*i+3];



        temp[4*i+0]= z0+z3;

        temp[4*i+1]= z0-z3;

        temp[4*i+2]= z1-z2;

        temp[4*i+3]= z1+z2;

    }



    for(i=0; i<4; i++){

        const int offset= x_offset[i];

        const int z0= temp[4*0+i] + temp[4*2+i];

        const int z1= temp[4*0+i] - temp[4*2+i];

        const int z2= temp[4*1+i] - temp[4*3+i];

        const int z3= temp[4*1+i] + temp[4*3+i];



        output[stride* 0+offset]= ((((z0 + z3)*qmul + 128 ) >> 8));

        output[stride* 1+offset]= ((((z1 + z2)*qmul + 128 ) >> 8));

        output[stride* 4+offset]= ((((z1 - z2)*qmul + 128 ) >> 8));

        output[stride* 5+offset]= ((((z0 - z3)*qmul + 128 ) >> 8));

    }

#undef stride

}

void FUNCC(ff_h264_luma_dc_dequant_idct)(int16_t *_output, int16_t *_input, int qmul){

#define stride 16

    int i;

    int temp[16];

    static const uint8_t x_offset[4]={0, 2*stride, 8*stride, 10*stride};

    dctcoef *input = (dctcoef*)_input;

    dctcoef *output = (dctcoef*)_output;



    for(i=0; i<4; i++){

        const int z0= input[4*i+0] + input[4*i+1];

        const int z1= input[4*i+0] - input[4*i+1];

        const int z2= input[4*i+2] - input[4*i+3];

        const int z3= input[4*i+2] + input[4*i+3];



        temp[4*i+0]= z0+z3;

        temp[4*i+1]= z0-z3;

        temp[4*i+2]= z1-z2;

        temp[4*i+3]= z1+z2;

    }



    for(i=0; i<4; i++){

        const int offset= x_offset[i];

        const int z0= temp[4*0+i] + temp[4*2+i];

        const int z1= temp[4*0+i] - temp[4*2+i];

        const int z2= temp[4*1+i] - temp[4*3+i];

        const int z3= temp[4*1+i] + temp[4*3+i];



        output[stride* 0+offset]= ((((z0 + z3)*qmul + 128 ) >> 8));

        output[stride* 1+offset]= ((((z1 + z2)*qmul + 128 ) >> 8));

        output[stride* 4+offset]= ((((z1 - z2)*qmul + 128 ) >> 8));

        output[stride* 5+offset]= ((((z0 - z3)*qmul + 128 ) >> 8));

    }

#undef stride

}

        const int z0= temp[4*0+i] + temp[4*2+i];         const int z1= temp[4*0+i] - temp[4*2+i];         const int z2= temp[4*1+i] - temp[4*3+i];         const int z3= temp[4*1+i] + temp[4*3+i];         output[stride* 0+offset]= ((((z0 + z3)*qmul + 128 ) >> 8));         output[stride* 1+offset]= ((((z1 + z2)*qmul + 128 ) >> 8));         output[stride* 4+offset]= ((((z1 - z2)*qmul + 128 ) >> 8));         output[stride* 5+offset]= ((((z0 - z3)*qmul + 128 ) >> 8));
void FUNC_0(ff_h264_luma_dc_dequant_idct)(int16_t *_output, int16_t *_input, int qmul){

#define stride 16

    int VAR_0;

    int VAR_1[16];

    static const uint8_t VAR_2[4]={0, 2*stride, 8*stride, 10*stride};

    dctcoef *input = (dctcoef*)_input;

    dctcoef *output = (dctcoef*)_output;



    for(VAR_0=0; VAR_0<4; VAR_0++){

        const int VAR_8= input[4*VAR_0+0] + input[4*VAR_0+1];

        const int VAR_8= input[4*VAR_0+0] - input[4*VAR_0+1];

        const int VAR_8= input[4*VAR_0+2] - input[4*VAR_0+3];

        const int VAR_8= input[4*VAR_0+2] + input[4*VAR_0+3];



        VAR_1[4*VAR_0+0]= VAR_8+VAR_8;

        VAR_1[4*VAR_0+1]= VAR_8-VAR_8;

        VAR_1[4*VAR_0+2]= VAR_8-VAR_8;

        VAR_1[4*VAR_0+3]= VAR_8+VAR_8;

    }



    for(VAR_0=0; VAR_0<4; VAR_0++){

        const int VAR_7= VAR_2[VAR_0];

        const int VAR_8= VAR_1[4*0+VAR_0] + VAR_1[4*2+VAR_0];

        const int VAR_8= VAR_1[4*0+VAR_0] - VAR_1[4*2+VAR_0];

        const int VAR_8= VAR_1[4*1+VAR_0] - VAR_1[4*3+VAR_0];

        const int VAR_8= VAR_1[4*1+VAR_0] + VAR_1[4*3+VAR_0];



        output[stride* 0+VAR_7]= ((((VAR_8 + VAR_8)*qmul + 128 ) >> 8));

        output[stride* 1+VAR_7]= ((((VAR_8 + VAR_8)*qmul + 128 ) >> 8));

        output[stride* 4+VAR_7]= ((((VAR_8 - VAR_8)*qmul + 128 ) >> 8));

        output[stride* 5+VAR_7]= ((((VAR_8 - VAR_8)*qmul + 128 ) >> 8));

    }

#undef stride

}

void FUNC_0(ff_h264_luma_dc_dequant_idct)(int16_t *_output, int16_t *_input, int qmul){ #define stride 16
int VAR_0; int VAR_1[16]; static const uint8_t VAR_2[4]={0, 2*stride, 8*stride, 10*stride}; dctcoef *input = (dctcoef*)_input; dctcoef *output = (dctcoef*)_output; for(VAR_0=0; VAR_0<4; VAR_0++){ const int VAR_8= input[4*VAR_0+0] + input[4*VAR_0+1]; const int VAR_8= input[4*VAR_0+0] - input[4*VAR_0+1]; const int VAR_8= input[4*VAR_0+2] - input[4*VAR_0+3]; const int VAR_8= input[4*VAR_0+2] + input[4*VAR_0+3]; VAR_1[4*VAR_0+0]= VAR_8+VAR_8; VAR_1[4*VAR_0+1]= VAR_8-VAR_8; VAR_1[4*VAR_0+2]= VAR_8-VAR_8; VAR_1[4*VAR_0+3]= VAR_8+VAR_8; } for(VAR_0=0; VAR_0<4; VAR_0++){ const int VAR_7= VAR_2[VAR_0]; const int VAR_8= VAR_1[4*0+VAR_0] + VAR_1[4*2+VAR_0]; const int VAR_8= VAR_1[4*0+VAR_0] - VAR_1[4*2+VAR_0]; const int VAR_8= VAR_1[4*1+VAR_0] - VAR_1[4*3+VAR_0]; const int VAR_8= VAR_1[4*1+VAR_0] + VAR_1[4*3+VAR_0]; output[stride* 0+VAR_7]= ((((VAR_8 + VAR_8)*qmul + 128 ) >> 8)); output[stride* 1+VAR_7]= ((((VAR_8 + VAR_8)*qmul + 128 ) >> 8)); output[stride* 4+VAR_7]= ((((VAR_8 - VAR_8)*qmul + 128 ) >> 8)); output[stride* 5+VAR_7]= ((((VAR_8 - VAR_8)*qmul + 128 ) >> 8)); } #undef stride
}