FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | 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 FFT_FLOAT   1
 
#define FFT_FIXED_32   0
 
#define FFT_NAME(x)   x
 
#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
 

Enumerations

enum  fft_permutation_type { FF_FFT_PERM_DEFAULT, FF_FFT_PERM_SWAP_LSBS, FF_FFT_PERM_AVX }
 
enum  mdct_permutation_type { FF_MDCT_PERM_NONE, FF_MDCT_PERM_INTERLEAVE }
 

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_aarch64 (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_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. More...
 
void ff_mdct_end (FFTContext *s)
 

Macro Definition Documentation

#define FFT_FLOAT   1

Definition at line 26 of file fft.h.

#define 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.

#define COSTABLE_CONST

Definition at line 118 of file fft.h.

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

Definition at line 121 of file fft.h.

#define ff_init_ff_cos_tabs   FFT_NAME(ff_init_ff_cos_tabs)

Definition at line 139 of file fft.h.

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

#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)

Typedef Documentation

typedef float FFTDouble

Definition at line 43 of file fft.h.

Enumeration Type Documentation

Enumerator
FF_FFT_PERM_DEFAULT 
FF_FFT_PERM_SWAP_LSBS 
FF_FFT_PERM_AVX 

Definition at line 77 of file fft.h.

Enumerator
FF_MDCT_PERM_NONE 
FF_MDCT_PERM_INTERLEAVE 

Definition at line 83 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_template.c.

Referenced by ff_fft_init().

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_template.c.

void ff_fft_init_aarch64 ( FFTContext s)

Definition at line 33 of file fft_init_aarch64.c.

Referenced by ff_fft_init().

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 39 of file fft_init_arm.c.

Referenced by ff_fft_init().

void ff_fft_init_mips ( FFTContext s)

FFT transform.

Definition at line 499 of file fft_mips.c.

Referenced by ff_fft_init().

void ff_fft_init_ppc ( FFTContext s)

Definition at line 152 of file fft_init.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 217 of file fft_template.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_template.c.

void ff_mdct_end ( FFTContext s)

Definition at line 203 of file mdct_template.c.

Referenced by ff_mdct_init().