void FUNCC(ff_h264_idct_add)(uint8_t *_dst, DCTELEM *_block, int stride)

{

    int i;

    INIT_CLIP

    pixel *dst = (pixel*)_dst;

    dctcoef *block = (dctcoef*)_block;

    stride /= sizeof(pixel);



    block[0] += 1 << 5;



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

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

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

        const int z2= (block[i + 4*1]>>1) -  block[i + 4*3];

        const int z3=  block[i + 4*1]     + (block[i + 4*3]>>1);



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

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

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

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

    }



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

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

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

        const int z2= (block[1 + 4*i]>>1) -  block[3 + 4*i];

        const int z3=  block[1 + 4*i]     + (block[3 + 4*i]>>1);



        dst[i + 0*stride]= CLIP(dst[i + 0*stride] + ((z0 + z3) >> 6));

        dst[i + 1*stride]= CLIP(dst[i + 1*stride] + ((z1 + z2) >> 6));

        dst[i + 2*stride]= CLIP(dst[i + 2*stride] + ((z1 - z2) >> 6));

        dst[i + 3*stride]= CLIP(dst[i + 3*stride] + ((z0 - z3) >> 6));

    }

}

void FUNCC(ff_h264_idct_add)(uint8_t *_dst, DCTELEM *_block, int stride)

{

    int i;

    INIT_CLIP

    pixel *dst = (pixel*)_dst;

    dctcoef *block = (dctcoef*)_block;

    stride /= sizeof(pixel);



    block[0] += 1 << 5;



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

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

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

        const int z2= (block[i + 4*1]>>1) -  block[i + 4*3];

        const int z3=  block[i + 4*1]     + (block[i + 4*3]>>1);



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

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

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

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

    }



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

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

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

        const int z2= (block[1 + 4*i]>>1) -  block[3 + 4*i];

        const int z3=  block[1 + 4*i]     + (block[3 + 4*i]>>1);



        dst[i + 0*stride]= CLIP(dst[i + 0*stride] + ((z0 + z3) >> 6));

        dst[i + 1*stride]= CLIP(dst[i + 1*stride] + ((z1 + z2) >> 6));

        dst[i + 2*stride]= CLIP(dst[i + 2*stride] + ((z1 - z2) >> 6));

        dst[i + 3*stride]= CLIP(dst[i + 3*stride] + ((z0 - z3) >> 6));

    }

}

    INIT_CLIP         dst[i + 0*stride]= CLIP(dst[i + 0*stride] + ((z0 + z3) >> 6));         dst[i + 1*stride]= CLIP(dst[i + 1*stride] + ((z1 + z2) >> 6));         dst[i + 2*stride]= CLIP(dst[i + 2*stride] + ((z1 - z2) >> 6));         dst[i + 3*stride]= CLIP(dst[i + 3*stride] + ((z0 - z3) >> 6));     INIT_CLIP     INIT_CLIP     INIT_CLIP
void FUNC_0(ff_h264_idct_add)(uint8_t *_dst, DCTELEM *_block, int stride)

{

    int VAR_0;

    INIT_CLIP

    pixel *dst = (pixel*)_dst;

    dctcoef *block = (dctcoef*)_block;

    stride /= sizeof(pixel);



    block[0] += 1 << 5;



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

        const int VAR_5=  block[VAR_0 + 4*0]     +  block[VAR_0 + 4*2];

        const int VAR_5=  block[VAR_0 + 4*0]     -  block[VAR_0 + 4*2];

        const int VAR_5= (block[VAR_0 + 4*1]>>1) -  block[VAR_0 + 4*3];

        const int VAR_5=  block[VAR_0 + 4*1]     + (block[VAR_0 + 4*3]>>1);



        block[VAR_0 + 4*0]= VAR_5 + VAR_5;

        block[VAR_0 + 4*1]= VAR_5 + VAR_5;

        block[VAR_0 + 4*2]= VAR_5 - VAR_5;

        block[VAR_0 + 4*3]= VAR_5 - VAR_5;

    }



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

        const int VAR_5=  block[0 + 4*VAR_0]     +  block[2 + 4*VAR_0];

        const int VAR_5=  block[0 + 4*VAR_0]     -  block[2 + 4*VAR_0];

        const int VAR_5= (block[1 + 4*VAR_0]>>1) -  block[3 + 4*VAR_0];

        const int VAR_5=  block[1 + 4*VAR_0]     + (block[3 + 4*VAR_0]>>1);



        dst[VAR_0 + 0*stride]= CLIP(dst[VAR_0 + 0*stride] + ((VAR_5 + VAR_5) >> 6));

        dst[VAR_0 + 1*stride]= CLIP(dst[VAR_0 + 1*stride] + ((VAR_5 + VAR_5) >> 6));

        dst[VAR_0 + 2*stride]= CLIP(dst[VAR_0 + 2*stride] + ((VAR_5 - VAR_5) >> 6));

        dst[VAR_0 + 3*stride]= CLIP(dst[VAR_0 + 3*stride] + ((VAR_5 - VAR_5) >> 6));

    }

}

void FUNC_0(ff_h264_idct_add)(uint8_t *_dst, DCTELEM *_block, int stride)
{ int VAR_0; INIT_CLIP
pixel *dst = (pixel*)_dst; dctcoef *block = (dctcoef*)_block; stride /= sizeof(pixel); block[0] += 1 << 5; for(VAR_0=0; VAR_0<4; VAR_0++){ const int VAR_5=  block[VAR_0 + 4*0]     +  block[VAR_0 + 4*2]; const int VAR_5=  block[VAR_0 + 4*0]     -  block[VAR_0 + 4*2]; const int VAR_5= (block[VAR_0 + 4*1]>>1) -  block[VAR_0 + 4*3]; const int VAR_5=  block[VAR_0 + 4*1]     + (block[VAR_0 + 4*3]>>1); block[VAR_0 + 4*0]= VAR_5 + VAR_5; block[VAR_0 + 4*1]= VAR_5 + VAR_5; block[VAR_0 + 4*2]= VAR_5 - VAR_5; block[VAR_0 + 4*3]= VAR_5 - VAR_5; } for(VAR_0=0; VAR_0<4; VAR_0++){ const int VAR_5=  block[0 + 4*VAR_0]     +  block[2 + 4*VAR_0]; const int VAR_5=  block[0 + 4*VAR_0]     -  block[2 + 4*VAR_0]; const int VAR_5= (block[1 + 4*VAR_0]>>1) -  block[3 + 4*VAR_0]; const int VAR_5=  block[1 + 4*VAR_0]     + (block[3 + 4*VAR_0]>>1); dst[VAR_0 + 0*stride]= CLIP(dst[VAR_0 + 0*stride] + ((VAR_5 + VAR_5) >> 6)); dst[VAR_0 + 1*stride]= CLIP(dst[VAR_0 + 1*stride] + ((VAR_5 + VAR_5) >> 6)); dst[VAR_0 + 2*stride]= CLIP(dst[VAR_0 + 2*stride] + ((VAR_5 - VAR_5) >> 6)); dst[VAR_0 + 3*stride]= CLIP(dst[VAR_0 + 3*stride] + ((VAR_5 - VAR_5) >> 6)); } }