static void horizontal_decompose53i(int *b, int width){ int temp[width];
static void horizontal_decompose53i(DWTELEM *b, int width){ DWTELEM temp[width];
static void horizontal_decompose53i(int *b, int width){    int temp[width];    const int width2= width>>1;    int A1,A2,A3,A4, x;    const int w2= (width+1)>>1;    for(x=0; x<width2; x++){        temp[x   ]= b[2*x    ];        temp[x+w2]= b[2*x + 1];    }    if(width&1)        temp[x   ]= b[2*x    ];#if 0    A2= temp[1       ];    A4= temp[0       ];    A1= temp[0+width2];    A1 -= (A2 + A4)>>1;    A4 += (A1 + 1)>>1;    b[0+width2] = A1;    b[0       ] = A4;    for(x=1; x+1<width2; x+=2){        A3= temp[x+width2];        A4= temp[x+1     ];        A3 -= (A2 + A4)>>1;        A2 += (A1 + A3 + 2)>>2;        b[x+width2] = A3;        b[x       ] = A2;        A1= temp[x+1+width2];        A2= temp[x+2       ];        A1 -= (A2 + A4)>>1;        A4 += (A1 + A3 + 2)>>2;        b[x+1+width2] = A1;        b[x+1       ] = A4;    }    A3= temp[width-1];    A3 -= A2;    A2 += (A1 + A3 + 2)>>2;    b[width -1] = A3;    b[width2-1] = A2;#else            lift(b+w2, temp+w2, temp, 1, 1, 1, width, -1, 0, 1, 1, 0);    lift(b   , temp   , b+w2, 1, 1, 1, width,  1, 2, 2, 0, 0);#endif}