40#ifdef DCT_IFAST_SUPPORTED
48 Sorry,
this code only copes with 8x8 DCTs.
76#if BITS_IN_JSAMPLE == 8
92#define FIX_1_082392200 ((INT32) 277)
93#define FIX_1_414213562 ((INT32) 362)
94#define FIX_1_847759065 ((INT32) 473)
95#define FIX_2_613125930 ((INT32) 669)
97#define FIX_1_082392200 FIX(1.082392200)
98#define FIX_1_414213562 FIX(1.414213562)
99#define FIX_1_847759065 FIX(1.847759065)
100#define FIX_2_613125930 FIX(2.613125930)
109#ifndef USE_ACCURATE_ROUNDING
111#define DESCALE(x,n) RIGHT_SHIFT(x, n)
119#define MULTIPLY(var,const) ((DCTELEM) DESCALE((var) * (const), CONST_BITS))
128#if BITS_IN_JSAMPLE == 8
129#define DEQUANTIZE(coef,quantval) (((IFAST_MULT_TYPE) (coef)) * (quantval))
131#define DEQUANTIZE(coef,quantval) \
132 DESCALE((coef)*(quantval), IFAST_SCALE_BITS-PASS1_BITS)
140#ifdef RIGHT_SHIFT_IS_UNSIGNED
141#define ISHIFT_TEMPS DCTELEM ishift_temp;
142#if BITS_IN_JSAMPLE == 8
143#define DCTELEMBITS 16
145#define DCTELEMBITS 32
147#define IRIGHT_SHIFT(x,shft) \
148 ((ishift_temp = (x)) < 0 ? \
149 (ishift_temp >> (shft)) | ((~((DCTELEM) 0)) << (DCTELEMBITS-(shft))) : \
150 (ishift_temp >> (shft)))
153#define IRIGHT_SHIFT(x,shft) ((x) >> (shft))
156#ifdef USE_ACCURATE_ROUNDING
157#define IDESCALE(x,n) ((int) IRIGHT_SHIFT((x) + (1 << ((n)-1)), n))
159#define IDESCALE(x,n) ((int) IRIGHT_SHIFT(x, n))
172 DCTELEM tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
173 DCTELEM tmp10, tmp11, tmp12, tmp13;
174 DCTELEM z5, z10, z11, z12, z13;
190 for (ctr =
DCTSIZE; ctr > 0; ctr--) {
235 tmp0 = tmp10 + tmp13;
236 tmp3 = tmp10 - tmp13;
237 tmp1 = tmp11 + tmp12;
238 tmp2 = tmp11 - tmp12;
282 for (ctr = 0; ctr <
DCTSIZE; ctr++) {
292#ifndef NO_ZERO_ROW_TEST
293 if (wsptr[1] == 0 && wsptr[2] == 0 && wsptr[3] == 0 && wsptr[4] == 0 &&
294 wsptr[5] == 0 && wsptr[6] == 0 && wsptr[7] == 0) {
322 tmp0 = tmp10 + tmp13;
323 tmp3 = tmp10 - tmp13;
324 tmp1 = tmp11 + tmp12;
325 tmp2 = tmp11 - tmp12;
#define ISHIFT_TEMPS
Definition jcphuff.c:84
INT32 DCTELEM
Definition jdct.h:35
jpeg_component_info JCOEFPTR coef_block
Definition jdct.h:106
INT32 IFAST_MULT_TYPE
Definition jdct.h:64
jpeg_component_info JCOEFPTR JSAMPARRAY JDIMENSION output_col
Definition jdct.h:106
#define RANGE_MASK
Definition jdct.h:81
jpeg_component_info * compptr
Definition jdct.h:105
#define IDCT_range_limit(cinfo)
Definition jdct.h:79
jpeg_component_info JCOEFPTR JSAMPARRAY output_buf
Definition jdct.h:106
#define PASS1_BITS
Definition jfdctint.c:79
#define FIX_1_847759065
Definition jfdctint.c:100
jpeg_idct_ifast(j_decompress_ptr cinfo, jpeg_component_info *compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)
Definition jidctfst.c:168
#define DEQUANTIZE(coef, quantval)
Definition jidctfst.c:129
#define MULTIPLY(var, const)
Definition jidctfst.c:119
#define FIX_2_613125930
Definition jidctfst.c:95
#define FIX_1_414213562
Definition jidctfst.c:93
#define FIX_1_082392200
Definition jidctfst.c:92
#define IDESCALE(x, n)
Definition jidctfst.c:159
unsigned int JDIMENSION
Definition jmorecfg.h:171
char JSAMPLE
Definition jmorecfg.h:64
#define SHIFT_TEMPS
Definition jpegint.h:289
struct jpeg_decompress_struct * j_decompress_ptr
Definition jpeglib.h:263
#define DCTSIZE
Definition jpeglib.h:41
JCOEF FAR * JCOEFPTR
Definition jpeglib.h:75
JSAMPROW * JSAMPARRAY
Definition jpeglib.h:67
JSAMPLE FAR * JSAMPROW
Definition jpeglib.h:66
#define DCTSIZE2
Definition jpeglib.h:42
#define GLOBAL(g)
Definition crypt.c:87
G inptr
Definition fileio.c:766
typedef int(UZ_EXP MsgFn)()
char workspace[12]
Definition zipinfo.c:998