ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

fft.cpp File Reference

#include "common/cosinetables.h"
#include "common/fft.h"
#include "common/util.h"
#include "common/textconsole.h"
Include dependency graph for fft.cpp:

Go to the source code of this file.

Namespaces

namespace  Common
 

Internal interface to the QuickTime audio decoder.


Defines

#define sqrthalf   (float)M_SQRT1_2
#define BF(x, y, a, b)
#define BUTTERFLIES(a0, a1, a2, a3)
#define BUTTERFLIES_BIG(a0, a1, a2, a3)
#define TRANSFORM(a0, a1, a2, a3, wre, wim)
#define TRANSFORM_ZERO(a0, a1, a2, a3)
#define PASS(name)
#define BUTTERFLIES   BUTTERFLIES_BIG

Define Documentation

#define BF (   x,
  y,
  a,
  b 
)
Value:
{ \
    x = a - b; \
    y = a + b; \
}

Definition at line 115 of file fft.cpp.

#define BUTTERFLIES   BUTTERFLIES_BIG

Definition at line 181 of file fft.cpp.

#define BUTTERFLIES (   a0,
  a1,
  a2,
  a3 
)
Value:
{ \
    BF(t3, t5, t5, t1); \
    BF(a2.re, a0.re, a0.re, t5); \
    BF(a3.im, a1.im, a1.im, t3); \
    BF(t4, t6, t2, t6); \
    BF(a3.re, a1.re, a1.re, t4); \
    BF(a2.im, a0.im, a0.im, t6); \
}

Definition at line 181 of file fft.cpp.

#define BUTTERFLIES_BIG (   a0,
  a1,
  a2,
  a3 
)
Value:
{ \
    float r0 = a0.re, i0 = a0.im, r1 = a1.re, i1 = a1.im; \
    BF(t3, t5, t5, t1); \
    BF(a2.re, a0.re, r0, t5); \
    BF(a3.im, a1.im, i1, t3); \
    BF(t4, t6, t2, t6); \
    BF(a3.re, a1.re, r1, t4); \
    BF(a2.im, a0.im, i0, t6); \
}

Definition at line 132 of file fft.cpp.

#define PASS (   name  ) 
Value:
static void name(Complex *z, const float *wre, unsigned int n) { \
    float t1, t2, t3, t4, t5, t6; \
    int o1 = 2 * n; \
    int o2 = 4 * n; \
    int o3 = 6 * n; \
    const float *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);\
}

Definition at line 159 of file fft.cpp.

#define sqrthalf   (float)M_SQRT1_2

Definition at line 113 of file fft.cpp.

#define TRANSFORM (   a0,
  a1,
  a2,
  a3,
  wre,
  wim 
)
Value:
{ \
    t1 = a2.re * wre + a2.im * wim; \
    t2 = a2.im * wre - a2.re * wim; \
    t5 = a3.re * wre - a3.im * wim; \
    t6 = a3.im * wre + a3.re * wim; \
    BUTTERFLIES(a0, a1, a2, a3) \
}

Definition at line 142 of file fft.cpp.

#define TRANSFORM_ZERO (   a0,
  a1,
  a2,
  a3 
)
Value:
{ \
    t1 = a2.re; \
    t2 = a2.im; \
    t5 = a3.re; \
    t6 = a3.im; \
    BUTTERFLIES(a0, a1, a2, a3) \
}

Definition at line 150 of file fft.cpp.



Generated on Sat Mar 16 2019 05:02:44 for ResidualVM by doxygen 1.7.1
curved edge   curved edge