28 #define JPEG_INTERNALS 33 #ifdef DCT_ISLOW_SUPPORTED 41 Sorry,
this code only copes with 8x8 DCTs.
77 #if BITS_IN_JSAMPLE == 8 93 #define FIX_0_298631336 ((INT32) 2446) 94 #define FIX_0_390180644 ((INT32) 3196) 95 #define FIX_0_541196100 ((INT32) 4433) 96 #define FIX_0_765366865 ((INT32) 6270) 97 #define FIX_0_899976223 ((INT32) 7373) 98 #define FIX_1_175875602 ((INT32) 9633) 99 #define FIX_1_501321110 ((INT32) 12299) 100 #define FIX_1_847759065 ((INT32) 15137) 101 #define FIX_1_961570560 ((INT32) 16069) 102 #define FIX_2_053119869 ((INT32) 16819) 103 #define FIX_2_562915447 ((INT32) 20995) 104 #define FIX_3_072711026 ((INT32) 25172) 106 #define FIX_0_298631336 FIX(0.298631336) 107 #define FIX_0_390180644 FIX(0.390180644) 108 #define FIX_0_541196100 FIX(0.541196100) 109 #define FIX_0_765366865 FIX(0.765366865) 110 #define FIX_0_899976223 FIX(0.899976223) 111 #define FIX_1_175875602 FIX(1.175875602) 112 #define FIX_1_501321110 FIX(1.501321110) 113 #define FIX_1_847759065 FIX(1.847759065) 114 #define FIX_1_961570560 FIX(1.961570560) 115 #define FIX_2_053119869 FIX(2.053119869) 116 #define FIX_2_562915447 FIX(2.562915447) 117 #define FIX_3_072711026 FIX(3.072711026) 128 #if BITS_IN_JSAMPLE == 8 129 #define MULTIPLY(var,const) MULTIPLY16C16(var,const) 131 #define MULTIPLY(var,const) ((var) * (const)) 140 #define DEQUANTIZE(coef,quantval) (((ISLOW_MULT_TYPE) (coef)) * (quantval)) 152 INT32 tmp0, tmp1, tmp2, tmp3;
153 INT32 tmp10, tmp11, tmp12, tmp13;
154 INT32 z1, z2, z3, z4, z5;
188 wsptr[DCTSIZE*0] = dcval;
189 wsptr[DCTSIZE*1] = dcval;
190 wsptr[DCTSIZE*2] = dcval;
191 wsptr[DCTSIZE*3] = dcval;
192 wsptr[DCTSIZE*4] = dcval;
193 wsptr[DCTSIZE*5] = dcval;
194 wsptr[DCTSIZE*6] = dcval;
195 wsptr[DCTSIZE*7] = dcval;
207 z3 =
DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]);
213 z2 =
DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]);
214 z3 =
DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]);
228 tmp0 =
DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]);
229 tmp1 =
DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]);
230 tmp2 =
DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]);
231 tmp3 =
DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]);
277 for (ctr = 0; ctr <
DCTSIZE; ctr++) {
287 #ifndef NO_ZERO_ROW_TEST 288 if (wsptr[1] == 0 && wsptr[2] == 0 && wsptr[3] == 0 && wsptr[4] == 0 &&
289 wsptr[5] == 0 && wsptr[6] == 0 && wsptr[7] == 0) {
311 z2 = (
INT32) wsptr[2];
312 z3 = (
INT32) wsptr[6];
330 tmp0 = (
INT32) wsptr[7];
331 tmp1 = (
INT32) wsptr[5];
332 tmp2 = (
INT32) wsptr[3];
333 tmp3 = (
INT32) wsptr[1];
360 outptr[0] = range_limit[(
int)
DESCALE(tmp10 + tmp3,
363 outptr[7] = range_limit[(
int)
DESCALE(tmp10 - tmp3,
366 outptr[1] = range_limit[(
int)
DESCALE(tmp11 + tmp2,
369 outptr[6] = range_limit[(
int)
DESCALE(tmp11 - tmp2,
372 outptr[2] = range_limit[(
int)
DESCALE(tmp12 + tmp1,
375 outptr[5] = range_limit[(
int)
DESCALE(tmp12 - tmp1,
378 outptr[3] = range_limit[(
int)
DESCALE(tmp13 + tmp0,
381 outptr[4] = range_limit[(
int)
DESCALE(tmp13 - tmp0,
#define IDCT_range_limit(cinfo)
jpeg_component_info JCOEFPTR coef_block
#define MULTIPLY(var, const)
jpeg_idct_islow(j_decompress_ptr cinfo, jpeg_component_info *compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)
jpeg_component_info * compptr
jpeg_component_info JCOEFPTR JSAMPARRAY JDIMENSION output_col
MULTIPLIER ISLOW_MULT_TYPE
jpeg_component_info JCOEFPTR JSAMPARRAY output_buf
#define DEQUANTIZE(coef, quantval)