fft.h File Reference
#include <stdint.h>
#include "config.h"
#include "libavutil/mem.h"
#include "avfft.h"
Include dependency graph for fft.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  FFTDComplex
 
struct  FFTContext
 

Macros

#define CONFIG_FFT_FLOAT   1
 
#define FFT_NAME(x)   x
 
#define FF_FFT_PERM_DEFAULT   0
 
#define FF_FFT_PERM_SWAP_LSBS   1
 
#define FF_FFT_PERM_AVX   2
 
#define FF_MDCT_PERM_NONE   0
 
#define FF_MDCT_PERM_INTERLEAVE   1
 
#define COSTABLE_CONST
 
#define COSTABLE(size)   COSTABLE_CONST DECLARE_ALIGNED(32, FFTSample, FFT_NAME(ff_cos_##size))[size/2]
 
#define ff_init_ff_cos_tabs   FFT_NAME(ff_init_ff_cos_tabs)
 
#define ff_fft_init   FFT_NAME(ff_fft_init)
 
#define ff_fft_end   FFT_NAME(ff_fft_end)
 
#define ff_mdct_init   FFT_NAME(ff_mdct_init)
 
#define ff_mdct_end   FFT_NAME(ff_mdct_end)
 

Typedefs

typedef float FFTDouble
 
typedef struct FFTDComplex FFTDComplex
 

Functions

 COSTABLE (16)
 
 COSTABLE (32)
 
 COSTABLE (64)
 
 COSTABLE (128)
 
 COSTABLE (256)
 
 COSTABLE (512)
 
 COSTABLE (1024)
 
 COSTABLE (2048)
 
 COSTABLE (4096)
 
 COSTABLE (8192)
 
 COSTABLE (16384)
 
 COSTABLE (32768)
 
 COSTABLE (65536)
 
COSTABLE_CONST FFTSample *const FFT_NAME (ff_cos_tabs)[17]
 
void ff_init_ff_cos_tabs (int index)
 Initialize the cosine table in ff_cos_tabs[index]. More...
 
int ff_fft_init (FFTContext *s, int nbits, int inverse)
 Set up a complex FFT. More...
 
void ff_fft_init_altivec (FFTContext *s)
 
void ff_fft_init_x86 (FFTContext *s)
 
void ff_fft_init_arm (FFTContext *s)
 
void ff_fft_init_mips (FFTContext *s)
 FFT transform. More...
 
void ff_fft_end (FFTContext *s)
 
int ff_mdct_init (FFTContext *s, int nbits, int inverse, double scale)
 init MDCT or IMDCT computation. More...
 
void ff_mdct_end (FFTContext *s)
 

Macro Definition Documentation

#define CONFIG_FFT_FLOAT   1

Definition at line 26 of file fft.h.

#define COSTABLE (   size)    COSTABLE_CONST DECLARE_ALIGNED(32, FFTSample, FFT_NAME(ff_cos_##size))[size/2]

Definition at line 100 of file fft.h.

#define COSTABLE_CONST

Definition at line 97 of file fft.h.

#define ff_fft_end   FFT_NAME(ff_fft_end)

Definition at line 127 of file fft.h.

Referenced by av_fft_end(), ff_mdct_end(), ff_rdft_end(), imc_decode_close(), and main().

#define ff_fft_init   FFT_NAME(ff_fft_init)

Definition at line 126 of file fft.h.

Referenced by av_fft_init(), ff_mdct_init(), ff_rdft_init(), imc_decode_init(), and main().

#define FF_FFT_PERM_AVX   2

Definition at line 88 of file fft.h.

Referenced by ff_fft_init(), and ff_fft_init_x86().

#define FF_FFT_PERM_DEFAULT   0

Definition at line 86 of file fft.h.

Referenced by ff_fft_init().

#define FF_FFT_PERM_SWAP_LSBS   1

Definition at line 87 of file fft.h.

Referenced by ff_fft_fixed_init_arm(), ff_fft_init(), and ff_fft_init_x86().

#define ff_init_ff_cos_tabs   FFT_NAME(ff_init_ff_cos_tabs)

Definition at line 118 of file fft.h.

Referenced by ff_dct_init(), ff_fft_init_mips(), and ff_rdft_init().

#define FF_MDCT_PERM_INTERLEAVE   1

Definition at line 91 of file fft.h.

Referenced by ff_fft_fixed_init_arm(), ff_fft_init_arm(), and ff_mdct_init().

#define FF_MDCT_PERM_NONE   0

Definition at line 90 of file fft.h.

Referenced by ff_mdct_init().

#define FFT_NAME (   x)    x

Definition at line 37 of file fft.h.

Typedef Documentation

typedef struct FFTDComplex FFTDComplex
typedef float FFTDouble

Definition at line 39 of file fft.h.

Function Documentation

COSTABLE ( 16  )
COSTABLE ( 32  )
COSTABLE ( 64  )
COSTABLE ( 128  )
COSTABLE ( 256  )
COSTABLE ( 512  )
COSTABLE ( 1024  )
COSTABLE ( 2048  )
COSTABLE ( 4096  )
COSTABLE ( 8192  )
COSTABLE ( 16384  )
COSTABLE ( 32768  )
COSTABLE ( 65536  )
void ff_fft_end ( FFTContext s)

Definition at line 203 of file fft.c.

int ff_fft_init ( FFTContext s,
int  nbits,
int  inverse 
)

Set up a complex FFT.

Parameters
nbitslog2 of the length of the input array
inverseif 0 perform the forward transform, if 1 perform the inverse

Definition at line 134 of file fft.c.

void ff_fft_init_altivec ( FFTContext s)

Definition at line 141 of file fft_altivec.c.

Referenced by ff_fft_init().

void ff_fft_init_arm ( FFTContext s)

Definition at line 41 of file fft_init_arm.c.

Referenced by ff_fft_init().

void ff_fft_init_mips ( FFTContext s)

FFT transform.

Definition at line 520 of file fft_mips.c.

Referenced by ff_fft_init().

void ff_fft_init_x86 ( FFTContext s)

Definition at line 24 of file fft_init.c.

Referenced by ff_fft_init().

void ff_init_ff_cos_tabs ( int  index)

Initialize the cosine table in ff_cos_tabs[index].

Parameters
indexindex in ff_cos_tabs array of the table to initialize

Definition at line 82 of file fft.c.

Referenced by ff_fft_init().

void ff_mdct_end ( FFTContext s)

Definition at line 199 of file mdct.c.

Referenced by ff_mdct_init().

int ff_mdct_init ( FFTContext s,
int  nbits,
int  inverse,
double  scale 
)

init MDCT or IMDCT computation.

Definition at line 43 of file mdct.c.

COSTABLE_CONST FFTSample* const FFT_NAME ( ff_cos_tabs  )