X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=imdct.c;h=93577b5451a0cbb8c8da58e997a9f4d77179243e;hp=93393e9959edb611e32b92c41a8c09c61e3af55e;hb=4643fd6eeee81acc0e82e47e7895a3111775bbba;hpb=0879c9de4eaf8c78131c243d8e9fec013df0d14a diff --git a/imdct.c b/imdct.c index 93393e99..93577b54 100644 --- a/imdct.c +++ b/imdct.c @@ -7,18 +7,14 @@ * Copyright (c) 2002 Fabrice Bellard * Partly based on libdjbfft by D. J. Bernstein * - * Licensed under the GNU Lesser General Public License. - * For licencing details see COPYING.LIB. + * Licensed under the GNU Lesser General Public License, see file COPYING.LIB. */ /** * \file imdct.c Inverse modified discrete cosine transform. */ -#include #include -#include -#include #include #include "para.h" @@ -144,28 +140,26 @@ __a_const static int split_radix_permutation(int i, int n) } /* z[0...8n - 1], w[1...2n - 1] */ -#define PASS(name)\ -static void name(struct fft_complex *z, const fftsample_t *wre, unsigned int n)\ -{\ - fftsample_t t1, t2, t3, t4, t5, t6;\ - int o1 = 2 * n;\ - int o2 = 4 * n;\ - int o3 = 6 * n;\ - const fftsample_t *wim = wre + o1;\ - n--;\ -\ - TRANSFORM_ZERO(z[0], z[o1], z[o2], z[o3]);\ - TRANSFORM(z[1], z[o1 + 1], z[o2 + 1], z[o3 + 1], wre[1], wim[-1]);\ - do {\ - z += 2;\ - wre += 2;\ - wim -= 2;\ - TRANSFORM(z[0], z[o1], z[o2], z[o3], wre[0], wim[0]);\ - TRANSFORM(z[1], z[o1 + 1], z[o2 + 1], z[o3 + 1], wre[1], wim[-1]);\ - } while (--n);\ +static void pass(struct fft_complex *z, const fftsample_t *wre, unsigned int n) +{ + fftsample_t t1, t2, t3, t4, t5, t6; + int o1 = 2 * n; + int o2 = 4 * n; + int o3 = 6 * n; + const fftsample_t *wim = wre + o1; + + n--; + TRANSFORM_ZERO(z[0], z[o1], z[o2], z[o3]); + TRANSFORM(z[1], z[o1 + 1], z[o2 + 1], z[o3 + 1], wre[1], wim[-1]); + do { + z += 2; + wre += 2; + wim -= 2; + TRANSFORM(z[0], z[o1], z[o2], z[o3], wre[0], wim[0]); + TRANSFORM(z[1], z[o1 + 1], z[o2 + 1], z[o3 + 1], wre[1], wim[-1]); + } while (--n); } -PASS(pass) #undef BUTTERFLIES #define BUTTERFLIES BUTTERFLIES_BIG