10 #define JPEG_INTERNALS
51 #ifdef DCT_IFAST_SUPPORTED
54 #ifdef DCT_FLOAT_SUPPORTED
62 #ifdef DCT_ISLOW_SUPPORTED
63 #define PROVIDE_ISLOW_TABLES
65 #ifdef IDCT_SCALING_SUPPORTED
66 #define PROVIDE_ISLOW_TABLES
83 inverse_DCT_method_ptr method_ptr =
nullptr;
86 for (ci = 0,
compptr = cinfo->comp_info; ci < cinfo->num_components;
92 #ifdef IDCT_SCALING_SUPPORTED
102 method_ptr = jpeg_idct_4x4;
107 switch (cinfo->dct_method)
109 #ifdef DCT_ISLOW_SUPPORTED
111 method_ptr = jpeg_idct_islow;
115 #ifdef DCT_IFAST_SUPPORTED
117 method_ptr = jpeg_idct_ifast;
121 #ifdef DCT_FLOAT_SUPPORTED
123 method_ptr = jpeg_idct_float;
128 ERREXIT(cinfo, JERR_NOT_COMPILED);
152 #ifdef PROVIDE_ISLOW_TABLES
168 #ifdef DCT_IFAST_SUPPORTED
184 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520,
185 22725, 31521, 29692, 26722, 22725, 17855, 12299, 6270,
186 21407, 29692, 27969, 25172, 21407, 16819, 11585, 5906,
187 19266, 26722, 25172, 22654, 19266, 15137, 10426, 5315,
188 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520,
189 12873, 17855, 16819, 15137, 12873, 10114, 6967, 3552,
190 8867, 12299, 11585, 10426, 8867, 6967, 4799, 2446,
191 4520, 6270, 5906, 5315, 4520, 3552, 2446, 1247};
198 (
INT32)qtbl->quantval[i], (
INT32)aanscales[i]),
204 #ifdef DCT_FLOAT_SUPPORTED
216 static const double aanscalefactor[
DCTSIZE] = {
217 1.0, 1.387039845, 1.306562965, 1.175875602,
218 1.0, 0.785694958, 0.541196100, 0.275899379};
223 for (col = 0; col <
DCTSIZE; col++)
226 (
double)qtbl->quantval[i] * aanscalefactor[
row] *
227 aanscalefactor[col]);
235 ERREXIT(cinfo, JERR_NOT_COMPILED);
257 for (ci = 0,
compptr = cinfo->comp_info; ci < cinfo->num_components;
GLenum GLenum GLvoid * row
MULTIPLIER ISLOW_MULT_TYPE
#define MULTIPLY16V16(var1, var2)
FAST_FLOAT FLOAT_MULT_TYPE
start_pass(j_decompress_ptr cinfo)
jinit_inverse_dct(j_decompress_ptr cinfo)
my_idct_controller * my_idct_ptr
#define ERREXIT(cinfo, code)
#define ERREXIT1(cinfo, code, p1)
for(ctr=DCTSIZE;ctr > 0;ctr--)
jpeg_component_info * compptr
jpeg_idct_2x2(j_decompress_ptr cinfo, jpeg_component_info *compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)
jpeg_idct_1x1(j_decompress_ptr cinfo, jpeg_component_info *compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)
#define MEMZERO(target, size)
struct jpeg_common_struct * j_common_ptr
inverse_DCT_method_ptr inverse_DCT[MAX_COMPONENTS]
int cur_method[MAX_COMPONENTS]
struct jpeg_inverse_dct pub