10 #define JPEG_INTERNALS
15 #ifdef DCT_IFAST_SUPPORTED
22 Sorry,
this code only copes with 8x8 DCTs.
49 #if BITS_IN_JSAMPLE == 8
65 #define FIX_1_082392200 ((INT32)277)
66 #define FIX_1_414213562 ((INT32)362)
67 #define FIX_1_847759065 ((INT32)473)
68 #define FIX_2_613125930 ((INT32)669)
70 #define FIX_1_082392200 FIX(1.082392200)
71 #define FIX_1_414213562 FIX(1.414213562)
72 #define FIX_1_847759065 FIX(1.847759065)
73 #define FIX_2_613125930 FIX(2.613125930)
81 #ifndef USE_ACCURATE_ROUNDING
83 #define DESCALE(x, n) RIGHT_SHIFT(x, n)
90 #define MULTIPLY(var, const) ((DCTELEM)DESCALE((var) * (const), CONST_BITS))
98 #if BITS_IN_JSAMPLE == 8
99 #define DEQUANTIZE(coef, quantval) (((IFAST_MULT_TYPE)(coef)) * (quantval))
101 #define DEQUANTIZE(coef, quantval) \
102 DESCALE((coef) * (quantval), IFAST_SCALE_BITS - PASS1_BITS)
109 #ifdef RIGHT_SHIFT_IS_UNSIGNED
110 #define ISHIFT_TEMPS DCTELEM ishift_temp;
111 #if BITS_IN_JSAMPLE == 8
112 #define DCTELEMBITS 16
114 #define DCTELEMBITS 32
116 #define IRIGHT_SHIFT(x, shft) \
117 ((ishift_temp = (x)) < 0 \
118 ? (ishift_temp >> (shft)) | \
119 ((~((DCTELEM)0)) << (DCTELEMBITS - (shft))) \
120 : (ishift_temp >> (shft)))
123 #define IRIGHT_SHIFT(x, shft) ((x) >> (shft))
126 #ifdef USE_ACCURATE_ROUNDING
127 #define IDESCALE(x, n) ((int)IRIGHT_SHIFT((x) + (1 << ((n)-1)), n))
129 #define IDESCALE(x, n) ((int)IRIGHT_SHIFT(x, n))
140 DCTELEM tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
264 #ifndef NO_ZERO_ROW_TEST
#define IDCT_range_limit(cinfo)
for(ctr=DCTSIZE;ctr > 0;ctr--)
jpeg_component_info JCOEFPTR coef_block
#define DEQUANTIZE(coef, quantval)
jpeg_component_info * compptr
jpeg_component_info JCOEFPTR JSAMPARRAY JDIMENSION output_col
GLOBAL(void) jpeg_idct_ifast(j_decompress_ptr cinfo
IFAST_MULT_TYPE * quantptr
#define MULTIPLY(var, const)
jpeg_component_info JCOEFPTR JSAMPARRAY output_buf