62#ifdef DCT_IFAST_SUPPORTED
65#ifdef DCT_FLOAT_SUPPORTED
74#ifdef DCT_ISLOW_SUPPORTED
75#define PROVIDE_ISLOW_TABLES
77#ifdef IDCT_SCALING_SUPPORTED
78#define PROVIDE_ISLOW_TABLES
96 inverse_DCT_method_ptr method_ptr =
NULL;
99 for (ci = 0,
compptr = cinfo->comp_info; ci < cinfo->num_components;
103#ifdef IDCT_SCALING_SUPPORTED
105 method_ptr = jpeg_idct_1x1;
109 method_ptr = jpeg_idct_2x2;
113 method_ptr = jpeg_idct_3x3;
117 method_ptr = jpeg_idct_4x4;
121 method_ptr = jpeg_idct_5x5;
125 method_ptr = jpeg_idct_6x6;
129 method_ptr = jpeg_idct_7x7;
133 method_ptr = jpeg_idct_9x9;
136 case ((10 << 8) + 10):
137 method_ptr = jpeg_idct_10x10;
140 case ((11 << 8) + 11):
141 method_ptr = jpeg_idct_11x11;
144 case ((12 << 8) + 12):
145 method_ptr = jpeg_idct_12x12;
148 case ((13 << 8) + 13):
149 method_ptr = jpeg_idct_13x13;
152 case ((14 << 8) + 14):
153 method_ptr = jpeg_idct_14x14;
156 case ((15 << 8) + 15):
157 method_ptr = jpeg_idct_15x15;
160 case ((16 << 8) + 16):
161 method_ptr = jpeg_idct_16x16;
164 case ((16 << 8) + 8):
165 method_ptr = jpeg_idct_16x8;
168 case ((14 << 8) + 7):
169 method_ptr = jpeg_idct_14x7;
172 case ((12 << 8) + 6):
173 method_ptr = jpeg_idct_12x6;
176 case ((10 << 8) + 5):
177 method_ptr = jpeg_idct_10x5;
181 method_ptr = jpeg_idct_8x4;
185 method_ptr = jpeg_idct_6x3;
189 method_ptr = jpeg_idct_4x2;
193 method_ptr = jpeg_idct_2x1;
196 case ((8 << 8) + 16):
197 method_ptr = jpeg_idct_8x16;
200 case ((7 << 8) + 14):
201 method_ptr = jpeg_idct_7x14;
204 case ((6 << 8) + 12):
205 method_ptr = jpeg_idct_6x12;
208 case ((5 << 8) + 10):
209 method_ptr = jpeg_idct_5x10;
213 method_ptr = jpeg_idct_4x8;
217 method_ptr = jpeg_idct_3x6;
221 method_ptr = jpeg_idct_2x4;
225 method_ptr = jpeg_idct_1x2;
230 switch (cinfo->dct_method) {
231#ifdef DCT_ISLOW_SUPPORTED
233 method_ptr = jpeg_idct_islow;
237#ifdef DCT_IFAST_SUPPORTED
239 method_ptr = jpeg_idct_ifast;
243#ifdef DCT_FLOAT_SUPPORTED
245 method_ptr = jpeg_idct_float;
250 ERREXIT(cinfo, JERR_NOT_COMPILED);
259 idct->
pub.inverse_DCT[ci] = method_ptr;
274#ifdef PROVIDE_ISLOW_TABLES
287#ifdef DCT_IFAST_SUPPORTED
301 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520,
302 22725, 31521, 29692, 26722, 22725, 17855, 12299, 6270,
303 21407, 29692, 27969, 25172, 21407, 16819, 11585, 5906,
304 19266, 26722, 25172, 22654, 19266, 15137, 10426, 5315,
305 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520,
306 12873, 17855, 16819, 15137, 12873, 10114, 6967, 3552,
307 8867, 12299, 11585, 10426, 8867, 6967, 4799, 2446,
308 4520, 6270, 5906, 5315, 4520, 3552, 2446, 1247
321#ifdef DCT_FLOAT_SUPPORTED
332 static const double aanscalefactor[
DCTSIZE] = {
333 1.0, 1.387039845, 1.306562965, 1.175875602,
334 1.0, 0.785694958, 0.541196100, 0.275899379
339 for (col = 0; col <
DCTSIZE; col++) {
341 ((
double) qtbl->quantval[
i] *
342 aanscalefactor[
row] * aanscalefactor[col] * 0.125);
350 ERREXIT(cinfo, JERR_NOT_COMPILED);
371 cinfo->idct = &idct->
pub;
374 for (ci = 0,
compptr = cinfo->comp_info; ci < cinfo->num_components;
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
MULTIPLIER ISLOW_MULT_TYPE
#define MULTIPLY16V16(var1, var2)
jpeg_component_info * compptr
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 ERREXIT2(cinfo, code, p1, p2)
struct jpeg_common_struct * j_common_ptr
int cur_method[MAX_COMPONENTS]
struct jpeg_inverse_dct pub
#define MEMZERO(addr, type, size)