void ff_svq3_add_idct_c(uint8_t *dst, DCTELEM *block, int stride, int qp,

                            int dc)

{

    const int qmul = svq3_dequant_coeff[qp];

    int i;

    uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;



    if (dc) {

        dc = 13*13*((dc == 1) ? 1538*block[0] : ((qmul*(block[0] >> 3)) / 2));

        block[0] = 0;

    }



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

        const int z0 = 13*(block[0 + 4*i] +    block[2 + 4*i]);

        const int z1 = 13*(block[0 + 4*i] -    block[2 + 4*i]);

        const int z2 =  7* block[1 + 4*i] - 17*block[3 + 4*i];

        const int z3 = 17* block[1 + 4*i] +  7*block[3 + 4*i];



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

        block[1 + 4*i] = z1 + z2;

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

        block[3 + 4*i] = z0 - z3;

    }



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

        const int z0 = 13*(block[i + 4*0] +    block[i + 4*2]);

        const int z1 = 13*(block[i + 4*0] -    block[i + 4*2]);

        const int z2 =  7* block[i + 4*1] - 17*block[i + 4*3];

        const int z3 = 17* block[i + 4*1] +  7*block[i + 4*3];

        const int rr = (dc + 0x80000);



        dst[i + stride*0] = cm[ dst[i + stride*0] + (((z0 + z3)*qmul + rr) >> 20) ];

        dst[i + stride*1] = cm[ dst[i + stride*1] + (((z1 + z2)*qmul + rr) >> 20) ];

        dst[i + stride*2] = cm[ dst[i + stride*2] + (((z1 - z2)*qmul + rr) >> 20) ];

        dst[i + stride*3] = cm[ dst[i + stride*3] + (((z0 - z3)*qmul + rr) >> 20) ];

    }

}

void ff_svq3_add_idct_c(uint8_t *dst, DCTELEM *block, int stride, int qp,

                            int dc)

{

    const int qmul = svq3_dequant_coeff[qp];

    int i;

    uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;



    if (dc) {

        dc = 13*13*((dc == 1) ? 1538*block[0] : ((qmul*(block[0] >> 3)) / 2));

        block[0] = 0;

    }



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

        const int z0 = 13*(block[0 + 4*i] +    block[2 + 4*i]);

        const int z1 = 13*(block[0 + 4*i] -    block[2 + 4*i]);

        const int z2 =  7* block[1 + 4*i] - 17*block[3 + 4*i];

        const int z3 = 17* block[1 + 4*i] +  7*block[3 + 4*i];



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

        block[1 + 4*i] = z1 + z2;

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

        block[3 + 4*i] = z0 - z3;

    }



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

        const int z0 = 13*(block[i + 4*0] +    block[i + 4*2]);

        const int z1 = 13*(block[i + 4*0] -    block[i + 4*2]);

        const int z2 =  7* block[i + 4*1] - 17*block[i + 4*3];

        const int z3 = 17* block[i + 4*1] +  7*block[i + 4*3];

        const int rr = (dc + 0x80000);



        dst[i + stride*0] = cm[ dst[i + stride*0] + (((z0 + z3)*qmul + rr) >> 20) ];

        dst[i + stride*1] = cm[ dst[i + stride*1] + (((z1 + z2)*qmul + rr) >> 20) ];

        dst[i + stride*2] = cm[ dst[i + stride*2] + (((z1 - z2)*qmul + rr) >> 20) ];

        dst[i + stride*3] = cm[ dst[i + stride*3] + (((z0 - z3)*qmul + rr) >> 20) ];

    }

}

    uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;         dst[i + stride*0] = cm[ dst[i + stride*0] + (((z0 + z3)*qmul + rr) >> 20) ];         dst[i + stride*1] = cm[ dst[i + stride*1] + (((z1 + z2)*qmul + rr) >> 20) ];         dst[i + stride*2] = cm[ dst[i + stride*2] + (((z1 - z2)*qmul + rr) >> 20) ];         dst[i + stride*3] = cm[ dst[i + stride*3] + (((z0 - z3)*qmul + rr) >> 20) ];
void FUNC_0(uint8_t *VAR_0, DCTELEM *VAR_1, int VAR_2, int VAR_3,

                            int VAR_4)

{

    const int VAR_5 = svq3_dequant_coeff[VAR_3];

    int VAR_6;

    uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;



    if (VAR_4) {

        VAR_4 = 13*13*((VAR_4 == 1) ? 1538*VAR_1[0] : ((VAR_5*(VAR_1[0] >> 3)) / 2));

        VAR_1[0] = 0;

    }



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

        const int VAR_11 = 13*(VAR_1[0 + 4*VAR_6] +    VAR_1[2 + 4*VAR_6]);

        const int VAR_11 = 13*(VAR_1[0 + 4*VAR_6] -    VAR_1[2 + 4*VAR_6]);

        const int VAR_11 =  7* VAR_1[1 + 4*VAR_6] - 17*VAR_1[3 + 4*VAR_6];

        const int VAR_11 = 17* VAR_1[1 + 4*VAR_6] +  7*VAR_1[3 + 4*VAR_6];



        VAR_1[0 + 4*VAR_6] = VAR_11 + VAR_11;

        VAR_1[1 + 4*VAR_6] = VAR_11 + VAR_11;

        VAR_1[2 + 4*VAR_6] = VAR_11 - VAR_11;

        VAR_1[3 + 4*VAR_6] = VAR_11 - VAR_11;

    }



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

        const int VAR_11 = 13*(VAR_1[VAR_6 + 4*0] +    VAR_1[VAR_6 + 4*2]);

        const int VAR_11 = 13*(VAR_1[VAR_6 + 4*0] -    VAR_1[VAR_6 + 4*2]);

        const int VAR_11 =  7* VAR_1[VAR_6 + 4*1] - 17*VAR_1[VAR_6 + 4*3];

        const int VAR_11 = 17* VAR_1[VAR_6 + 4*1] +  7*VAR_1[VAR_6 + 4*3];

        const int VAR_11 = (VAR_4 + 0x80000);



        VAR_0[VAR_6 + VAR_2*0] = cm[ VAR_0[VAR_6 + VAR_2*0] + (((VAR_11 + VAR_11)*VAR_5 + VAR_11) >> 20) ];

        VAR_0[VAR_6 + VAR_2*1] = cm[ VAR_0[VAR_6 + VAR_2*1] + (((VAR_11 + VAR_11)*VAR_5 + VAR_11) >> 20) ];

        VAR_0[VAR_6 + VAR_2*2] = cm[ VAR_0[VAR_6 + VAR_2*2] + (((VAR_11 - VAR_11)*VAR_5 + VAR_11) >> 20) ];

        VAR_0[VAR_6 + VAR_2*3] = cm[ VAR_0[VAR_6 + VAR_2*3] + (((VAR_11 - VAR_11)*VAR_5 + VAR_11) >> 20) ];

    }

}

void FUNC_0(uint8_t *VAR_0, DCTELEM *VAR_1, int VAR_2, int VAR_3,
int VAR_4)
{ const int VAR_5 = svq3_dequant_coeff[VAR_3]; int VAR_6; uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; if (VAR_4) { VAR_4 = 13*13*((VAR_4 == 1) ? 1538*VAR_1[0] : ((VAR_5*(VAR_1[0] >> 3)) / 2)); VAR_1[0] = 0; } for (VAR_6 = 0; VAR_6 < 4; VAR_6++) { const int VAR_11 = 13*(VAR_1[0 + 4*VAR_6] +    VAR_1[2 + 4*VAR_6]); const int VAR_11 = 13*(VAR_1[0 + 4*VAR_6] -    VAR_1[2 + 4*VAR_6]); const int VAR_11 =  7* VAR_1[1 + 4*VAR_6] - 17*VAR_1[3 + 4*VAR_6]; const int VAR_11 = 17* VAR_1[1 + 4*VAR_6] +  7*VAR_1[3 + 4*VAR_6]; VAR_1[0 + 4*VAR_6] = VAR_11 + VAR_11; VAR_1[1 + 4*VAR_6] = VAR_11 + VAR_11; VAR_1[2 + 4*VAR_6] = VAR_11 - VAR_11; VAR_1[3 + 4*VAR_6] = VAR_11 - VAR_11; } for (VAR_6 = 0; VAR_6 < 4; VAR_6++) { const int VAR_11 = 13*(VAR_1[VAR_6 + 4*0] +    VAR_1[VAR_6 + 4*2]); const int VAR_11 = 13*(VAR_1[VAR_6 + 4*0] -    VAR_1[VAR_6 + 4*2]); const int VAR_11 =  7* VAR_1[VAR_6 + 4*1] - 17*VAR_1[VAR_6 + 4*3]; const int VAR_11 = 17* VAR_1[VAR_6 + 4*1] +  7*VAR_1[VAR_6 + 4*3]; const int VAR_11 = (VAR_4 + 0x80000); VAR_0[VAR_6 + VAR_2*0] = cm[ VAR_0[VAR_6 + VAR_2*0] + (((VAR_11 + VAR_11)*VAR_5 + VAR_11) >> 20) ]; VAR_0[VAR_6 + VAR_2*1] = cm[ VAR_0[VAR_6 + VAR_2*1] + (((VAR_11 + VAR_11)*VAR_5 + VAR_11) >> 20) ]; VAR_0[VAR_6 + VAR_2*2] = cm[ VAR_0[VAR_6 + VAR_2*2] + (((VAR_11 - VAR_11)*VAR_5 + VAR_11) >> 20) ]; VAR_0[VAR_6 + VAR_2*3] = cm[ VAR_0[VAR_6 + VAR_2*3] + (((VAR_11 - VAR_11)*VAR_5 + VAR_11) >> 20) ]; } }