FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
fft.h File Reference
#include <stdint.h>
#include "config.h"
#include "libavutil/mem.h"
#include "avfft.h"

Go to the source code of this file.

Data Structures

struct  FFTDComplex
 
struct  FFTContext
 

Macros

#define CONFIG_FFT_FLOAT   1
 
#define CONFIG_FFT_FIXED_32   0
 
#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
 

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].
 
int ff_fft_init (FFTContext *s, int nbits, int inverse)
 Set up a complex FFT.
 
void ff_fft_init_x86 (FFTContext *s)
 
void ff_fft_init_arm (FFTContext *s)
 
void ff_fft_init_mips (FFTContext *s)
 FFT transform.
 
void ff_fft_init_ppc (FFTContext *s)
 
void ff_fft_fixed_init_arm (FFTContext *s)
 
void ff_fft_end (FFTContext *s)
 
int ff_mdct_init (FFTContext *s, int nbits, int inverse, double scale)
 init MDCT or IMDCT computation.
 
void ff_mdct_end (FFTContext *s)
 

Macro Definition Documentation

#define CONFIG_FFT_FLOAT   1

Definition at line 26 of file fft.h.

#define CONFIG_FFT_FIXED_32   0

Definition at line 30 of file fft.h.

#define FFT_NAME (   x)    x

Definition at line 41 of file fft.h.

Referenced by ff_init_ff_cos_tabs(), and fft16().

#define FF_FFT_PERM_DEFAULT   0

Definition at line 101 of file fft.h.

Referenced by ff_fft_init().

#define FF_FFT_PERM_SWAP_LSBS   1

Definition at line 102 of file fft.h.

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

#define FF_FFT_PERM_AVX   2

Definition at line 103 of file fft.h.

Referenced by ff_fft_init(), and ff_fft_init_x86().

#define FF_MDCT_PERM_NONE   0

Definition at line 105 of file fft.h.

Referenced by ff_mdct_init().

#define FF_MDCT_PERM_INTERLEAVE   1

Definition at line 106 of file fft.h.

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

#define COSTABLE_CONST

Definition at line 112 of file fft.h.

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

Definition at line 115 of file fft.h.

#define ff_init_ff_cos_tabs   FFT_NAME(ff_init_ff_cos_tabs)

Definition at line 133 of file fft.h.

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

#define ff_fft_init   FFT_NAME(ff_fft_init)

Definition at line 141 of file fft.h.

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

#define ff_fft_end   FFT_NAME(ff_fft_end)

Definition at line 142 of file fft.h.

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

#define ff_mdct_init   FFT_NAME(ff_mdct_init)
#define ff_mdct_end   FFT_NAME(ff_mdct_end)

Typedef Documentation

typedef float FFTDouble

Definition at line 43 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  )
COSTABLE_CONST FFTSample* const FFT_NAME ( ff_cos_tabs  )
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 88 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 140 of file fft.c.

void ff_fft_init_x86 ( FFTContext s)

Definition at line 25 of file fft_init.c.

Referenced by ff_fft_init().

void ff_fft_init_arm ( FFTContext s)

Definition at line 37 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_ppc ( FFTContext s)

Definition at line 143 of file fft_altivec.c.

Referenced by ff_fft_init().

void ff_fft_fixed_init_arm ( FFTContext s)

Definition at line 30 of file fft_fixed_init_arm.c.

Referenced by ff_fft_init().

void ff_fft_end ( FFTContext s)

Definition at line 216 of file fft.c.

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

init MDCT or IMDCT computation.

Definition at line 47 of file mdct.c.

void ff_mdct_end ( FFTContext s)

Definition at line 203 of file mdct.c.