- int a0, a1, a2, a3, b0, b1, b2, b3;
- INIT_CLIP;
-
- /* XXX: I did that only to give same values as previous code */
- a0 = W4 * (col[8*0] + ((1<<(COL_SHIFT-1))/W4));
- a1 = a0;
- a2 = a0;
- a3 = a0;
-
- a0 += + W2*col[8*2];
- a1 += + W6*col[8*2];
- a2 += - W6*col[8*2];
- a3 += - W2*col[8*2];
-
- b0 = MUL(W1, col[8*1]);
- b1 = MUL(W3, col[8*1]);
- b2 = MUL(W5, col[8*1]);
- b3 = MUL(W7, col[8*1]);
-
- MAC(b0, + W3, col[8*3]);
- MAC(b1, - W7, col[8*3]);
- MAC(b2, - W1, col[8*3]);
- MAC(b3, - W5, col[8*3]);
-
- if(col[8*4]){
- a0 += + W4*col[8*4];
- a1 += - W4*col[8*4];
- a2 += - W4*col[8*4];
- a3 += + W4*col[8*4];
- }
-
- if (col[8*5]) {
- MAC(b0, + W5, col[8*5]);
- MAC(b1, - W1, col[8*5]);
- MAC(b2, + W7, col[8*5]);
- MAC(b3, + W3, col[8*5]);
- }
-
- if(col[8*6]){
- a0 += + W6*col[8*6];
- a1 += - W2*col[8*6];
- a2 += + W2*col[8*6];
- a3 += - W6*col[8*6];
- }
-
- if (col[8*7]) {
- MAC(b0, + W7, col[8*7]);
- MAC(b1, - W5, col[8*7]);
- MAC(b2, + W3, col[8*7]);
- MAC(b3, - W1, col[8*7]);
- }
-
- dest[0] = CLIP(dest[0] + ((a0 + b0) >> COL_SHIFT));
- dest += line_size;
- dest[0] = CLIP(dest[0] + ((a1 + b1) >> COL_SHIFT));
- dest += line_size;
- dest[0] = CLIP(dest[0] + ((a2 + b2) >> COL_SHIFT));
- dest += line_size;
- dest[0] = CLIP(dest[0] + ((a3 + b3) >> COL_SHIFT));
- dest += line_size;
- dest[0] = CLIP(dest[0] + ((a3 - b3) >> COL_SHIFT));
- dest += line_size;
- dest[0] = CLIP(dest[0] + ((a2 - b2) >> COL_SHIFT));
- dest += line_size;
- dest[0] = CLIP(dest[0] + ((a1 - b1) >> COL_SHIFT));
- dest += line_size;
- dest[0] = CLIP(dest[0] + ((a0 - b0) >> COL_SHIFT));
+ int a0, a1, a2, a3, b0, b1, b2, b3;
+ INIT_CLIP;
+
+ IDCT_COLS;
+
+ dest[0] = CLIP(dest[0] + ((a0 + b0) >> COL_SHIFT));
+ dest += line_size;
+ dest[0] = CLIP(dest[0] + ((a1 + b1) >> COL_SHIFT));
+ dest += line_size;
+ dest[0] = CLIP(dest[0] + ((a2 + b2) >> COL_SHIFT));
+ dest += line_size;
+ dest[0] = CLIP(dest[0] + ((a3 + b3) >> COL_SHIFT));
+ dest += line_size;
+ dest[0] = CLIP(dest[0] + ((a3 - b3) >> COL_SHIFT));
+ dest += line_size;
+ dest[0] = CLIP(dest[0] + ((a2 - b2) >> COL_SHIFT));
+ dest += line_size;
+ dest[0] = CLIP(dest[0] + ((a1 - b1) >> COL_SHIFT));
+ dest += line_size;
+ dest[0] = CLIP(dest[0] + ((a0 - b0) >> COL_SHIFT));