#include "dsputil.h"#include "gcc_fixes.h"#include "dsputil_ppc.h"#include "util_altivec.h"Go to the source code of this file.
Defines | |
| #define | BF(pre, pim, qre, qim, pre1, pim1, qre1, qim1) |
| #define | MUL16(a, b) ((a) * (b)) |
| #define | CMUL(pre, pim, are, aim, bre, bim) |
Functions | |
| void | ff_fft_calc_altivec (FFTContext *s, FFTComplex *z) |
| Do a complex FFT with the parameters defined in ff_fft_init(). | |
| #define BF | ( | pre, | |||
| pim, | |||||
| qre, | |||||
| qim, | |||||
| pre1, | |||||
| pim1, | |||||
| qre1, | |||||
| qim1 | ) |
Value:
{\
FFTSample ax, ay, bx, by;\
bx=pre1;\
by=pim1;\
ax=qre1;\
ay=qim1;\
pre = (bx + ax);\
pim = (by + ay);\
qre = (bx - ax);\
qim = (by - ay);\
}
Definition at line 34 of file fft_altivec.c.
| #define CMUL | ( | pre, | |||
| pim, | |||||
| are, | |||||
| aim, | |||||
| bre, | |||||
| bim | ) |
| #define MUL16 | ( | a, | |||
| b | ) | ((a) * (b)) |
Definition at line 46 of file fft_altivec.c.
| void ff_fft_calc_altivec | ( | FFTContext * | s, | |
| FFTComplex * | z | |||
| ) |
Do a complex FFT with the parameters defined in ff_fft_init().
The input data must be permuted before with s->revtab table. No 1.0/sqrt(n) normalization is done. AltiVec-enabled This code assumes that the 'z' pointer is 16 bytes-aligned It also assumes all FFTComplex are 8 bytes-aligned pair of float The code is exactly the same as the SSE version, except that successive MUL + ADD/SUB have been merged into fused multiply-add ('vec_madd' in altivec)
Definition at line 65 of file fft_altivec.c.
Referenced by ff_fft_init().
1.5.6