10 #define JPEG_INTERNALS
15 #ifdef DCT_IFAST_SUPPORTED
22 Sorry,
this code only copes with 8x8 DCTs.
53 #define FIX_0_382683433 ((INT32)98)
54 #define FIX_0_541196100 ((INT32)139)
55 #define FIX_0_707106781 ((INT32)181)
56 #define FIX_1_306562965 ((INT32)334)
58 #define FIX_0_382683433 FIX(0.382683433)
59 #define FIX_0_541196100 FIX(0.541196100)
60 #define FIX_0_707106781 FIX(0.707106781)
61 #define FIX_1_306562965 FIX(1.306562965)
69 #ifndef USE_ACCURATE_ROUNDING
71 #define DESCALE(x, n) RIGHT_SHIFT(x, n)
78 #define MULTIPLY(var, const) ((DCTELEM)DESCALE((var) * (const), CONST_BITS))
86 DCTELEM tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
98 tmp0 = dataptr[0] + dataptr[7];
99 tmp7 = dataptr[0] - dataptr[7];
100 tmp1 = dataptr[1] + dataptr[6];
101 tmp6 = dataptr[1] - dataptr[6];
102 tmp2 = dataptr[2] + dataptr[5];
103 tmp5 = dataptr[2] - dataptr[5];
104 tmp3 = dataptr[3] + dataptr[4];
105 tmp4 = dataptr[3] - dataptr[4];
136 dataptr[5] =
z13 +
z2;
137 dataptr[3] =
z13 -
z2;
138 dataptr[1] =
z11 +
z4;
139 dataptr[7] =
z11 -
z4;
GLsizei GLsizei GLenum GLenum const GLvoid * data
GLOBAL(void) jpeg_fdct_ifast(DCTELEM *data)
#define MULTIPLY(var, const)