76 #define RIGHT_SHIFT(x, n) ((x) >> (n)) 83 Sorry,
this code only copes with 8x8 DCTs.
116 #define FIX_0_382683433 ((int32_t) 98) 117 #define FIX_0_541196100 ((int32_t) 139) 118 #define FIX_0_707106781 ((int32_t) 181) 119 #define FIX_1_306562965 ((int32_t) 334) 121 #define FIX_0_382683433 FIX(0.382683433) 122 #define FIX_0_541196100 FIX(0.541196100) 123 #define FIX_0_707106781 FIX(0.707106781) 124 #define FIX_1_306562965 FIX(1.306562965) 133 #ifndef USE_ACCURATE_ROUNDING 135 #define DESCALE(x,n) RIGHT_SHIFT(x, n) 143 #define MULTIPLY(var,const) ((int16_t) DESCALE((var) * (const), CONST_BITS)) 146 int tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
147 int tmp10, tmp11, tmp12, tmp13;
148 int z1, z2, z3, z4, z5, z11, z13;
155 for (ctr =
DCTSIZE-1; ctr >= 0; ctr--) {
156 tmp0 = dataptr[0] + dataptr[7];
157 tmp7 = dataptr[0] - dataptr[7];
158 tmp1 = dataptr[1] + dataptr[6];
159 tmp6 = dataptr[1] - dataptr[6];
160 tmp2 = dataptr[2] + dataptr[5];
161 tmp5 = dataptr[2] - dataptr[5];
162 tmp3 = dataptr[3] + dataptr[4];
163 tmp4 = dataptr[3] - dataptr[4];
172 dataptr[0] = tmp10 + tmp11;
173 dataptr[4] = tmp10 - tmp11;
176 dataptr[2] = tmp13 + z1;
177 dataptr[6] = tmp13 - z1;
194 dataptr[5] = z13 + z2;
195 dataptr[3] = z13 - z2;
196 dataptr[1] = z11 + z4;
197 dataptr[7] = z11 - z4;
210 int tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
211 int tmp10, tmp11, tmp12, tmp13;
212 int z1, z2, z3, z4, z5, z11, z13;
221 for (ctr =
DCTSIZE-1; ctr >= 0; ctr--) {
238 dataptr[
DCTSIZE*0] = tmp10 + tmp11;
239 dataptr[
DCTSIZE*4] = tmp10 - tmp11;
242 dataptr[
DCTSIZE*2] = tmp13 + z1;
243 dataptr[
DCTSIZE*6] = tmp13 - z1;
276 int tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
277 int tmp10, tmp11, tmp12, tmp13;
287 for (ctr =
DCTSIZE-1; ctr >= 0; ctr--) {
304 dataptr[
DCTSIZE*0] = tmp10 + tmp11;
305 dataptr[
DCTSIZE*4] = tmp10 - tmp11;
308 dataptr[
DCTSIZE*2] = tmp13 + z1;
309 dataptr[
DCTSIZE*6] = tmp13 - z1;
316 dataptr[
DCTSIZE*1] = tmp10 + tmp11;
317 dataptr[
DCTSIZE*5] = tmp10 - tmp11;
320 dataptr[
DCTSIZE*3] = tmp13 + z1;
321 dataptr[
DCTSIZE*7] = tmp13 - z1;
331 #undef FIX_0_541196100 332 #undef FIX_1_306562965 static av_always_inline void row_fdct(int16_t *data)
#define MULTIPLY(var, const)
ff_fdct_ifast(int16_t *data)
common internal and external API header
ff_fdct_ifast248(int16_t *data)