62#ifdef DCT_IFAST_SUPPORTED
65#ifdef DCT_FLOAT_SUPPORTED
84 inverse_DCT_method_ptr method_ptr =
NULL;
87 for (ci = 0,
compptr = cinfo->comp_info; ci < cinfo->num_components;
91#ifdef IDCT_SCALING_SUPPORTED
96#ifndef PROVIDE_ISLOW_TABLES
97#define PROVIDE_ISLOW_TABLES
100 method_ptr = jpeg_idct_1x1;
104 method_ptr = jpeg_idct_2x2;
108 method_ptr = jpeg_idct_3x3;
112 method_ptr = jpeg_idct_4x4;
116 method_ptr = jpeg_idct_5x5;
120 method_ptr = jpeg_idct_6x6;
124 method_ptr = jpeg_idct_7x7;
128 method_ptr = jpeg_idct_9x9;
131 case ((10 << 8) + 10):
132 method_ptr = jpeg_idct_10x10;
135 case ((11 << 8) + 11):
136 method_ptr = jpeg_idct_11x11;
139 case ((12 << 8) + 12):
140 method_ptr = jpeg_idct_12x12;
143 case ((13 << 8) + 13):
144 method_ptr = jpeg_idct_13x13;
147 case ((14 << 8) + 14):
148 method_ptr = jpeg_idct_14x14;
151 case ((15 << 8) + 15):
152 method_ptr = jpeg_idct_15x15;
155 case ((16 << 8) + 16):
156 method_ptr = jpeg_idct_16x16;
159 case ((16 << 8) + 8):
160 method_ptr = jpeg_idct_16x8;
163 case ((14 << 8) + 7):
164 method_ptr = jpeg_idct_14x7;
167 case ((12 << 8) + 6):
168 method_ptr = jpeg_idct_12x6;
171 case ((10 << 8) + 5):
172 method_ptr = jpeg_idct_10x5;
176 method_ptr = jpeg_idct_8x4;
180 method_ptr = jpeg_idct_6x3;
184 method_ptr = jpeg_idct_4x2;
188 method_ptr = jpeg_idct_2x1;
191 case ((8 << 8) + 16):
192 method_ptr = jpeg_idct_8x16;
195 case ((7 << 8) + 14):
196 method_ptr = jpeg_idct_7x14;
199 case ((6 << 8) + 12):
200 method_ptr = jpeg_idct_6x12;
203 case ((5 << 8) + 10):
204 method_ptr = jpeg_idct_5x10;
208 method_ptr = jpeg_idct_4x8;
212 method_ptr = jpeg_idct_3x6;
216 method_ptr = jpeg_idct_2x4;
220 method_ptr = jpeg_idct_1x2;
225 switch (cinfo->dct_method) {
226#ifdef DCT_ISLOW_SUPPORTED
228#ifndef PROVIDE_ISLOW_TABLES
229#define PROVIDE_ISLOW_TABLES
231 method_ptr = jpeg_idct_islow;
235#ifdef DCT_IFAST_SUPPORTED
237 method_ptr = jpeg_idct_ifast;
241#ifdef DCT_FLOAT_SUPPORTED
243 method_ptr = jpeg_idct_float;
248 ERREXIT(cinfo, JERR_NOT_COMPILED);
255 idct->
pub.inverse_DCT[ci] = method_ptr;
270#ifdef PROVIDE_ISLOW_TABLES
283#ifdef DCT_IFAST_SUPPORTED
297 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520,
298 22725, 31521, 29692, 26722, 22725, 17855, 12299, 6270,
299 21407, 29692, 27969, 25172, 21407, 16819, 11585, 5906,
300 19266, 26722, 25172, 22654, 19266, 15137, 10426, 5315,
301 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520,
302 12873, 17855, 16819, 15137, 12873, 10114, 6967, 3552,
303 8867, 12299, 11585, 10426, 8867, 6967, 4799, 2446,
304 4520, 6270, 5906, 5315, 4520, 3552, 2446, 1247
317#ifdef DCT_FLOAT_SUPPORTED
329 static const double aanscalefactor[
DCTSIZE] = {
330 1.0, 1.387039845, 1.306562965, 1.175875602,
331 1.0, 0.785694958, 0.541196100, 0.275899379
333#if JPEG_DATA_PRECISION == BITS_IN_JSAMPLE
337 for (col = 0; col <
DCTSIZE; col++) {
339 aanscalefactor[
row] * aanscalefactor[col] * 0.125);
341 double extrafactor = 0.125;
344#if JPEG_DATA_PRECISION < BITS_IN_JSAMPLE
346 do { extrafactor *= 2.0; }
while (--
i);
349 do { extrafactor *= 0.5; }
while (--
i);
354 for (col = 0; col <
DCTSIZE; col++) {
356 aanscalefactor[
row] * aanscalefactor[col] * extrafactor);
365 ERREXIT(cinfo, JERR_NOT_COMPILED);
384 cinfo->idct = &idct->
pub;
387 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
for(i=0;i< ARRAY_SIZE(offsets);i++)
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
MULTIPLIER IFAST_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)
#define JPEG_DATA_PRECISION
struct jpeg_common_struct * j_common_ptr
int cur_method[MAX_COMPONENTS]
struct jpeg_inverse_dct pub
#define MEMZERO(addr, type, size)