All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Files | Data Structures | Typedefs | Enumerations | Functions
FFT functions


file  avfft.h
 FFT functions.

Data Structures

struct  FFTComplex


typedef float FFTSample


enum  RDFTransformType { DFT_R2C, IDFT_C2R, IDFT_R2C, DFT_C2R }
enum  DCTTransformType { DCT_II = 0, DCT_III, DCT_I, DST_I }


FFTContextav_fft_init (int nbits, int inverse)
 Set up a complex FFT. More...
void av_fft_permute (FFTContext *s, FFTComplex *z)
 Do the permutation needed BEFORE calling ff_fft_calc(). More...
void av_fft_calc (FFTContext *s, FFTComplex *z)
 Do a complex FFT with the parameters defined in av_fft_init(). More...
void av_fft_end (FFTContext *s)
FFTContextav_mdct_init (int nbits, int inverse, double scale)
void av_imdct_calc (FFTContext *s, FFTSample *output, const FFTSample *input)
void av_imdct_half (FFTContext *s, FFTSample *output, const FFTSample *input)
void av_mdct_calc (FFTContext *s, FFTSample *output, const FFTSample *input)
void av_mdct_end (FFTContext *s)
RDFTContextav_rdft_init (int nbits, enum RDFTransformType trans)
 Set up a real FFT. More...
void av_rdft_calc (RDFTContext *s, FFTSample *data)
void av_rdft_end (RDFTContext *s)
DCTContextav_dct_init (int nbits, enum DCTTransformType type)
 Set up DCT. More...
void av_dct_calc (DCTContext *s, FFTSample *data)
void av_dct_end (DCTContext *s)

Detailed Description

Typedef Documentation

typedef float FFTSample

Definition at line 35 of file avfft.h.

Enumeration Type Documentation


Definition at line 71 of file avfft.h.


Definition at line 93 of file avfft.h.

Function Documentation

FFTContext* av_fft_init ( int  nbits,
int  inverse 

Set up a complex FFT.

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

Definition at line 28 of file avfft.c.

Referenced by config_input(), config_output(), convert_coeffs(), fft_init(), and load_data().

void av_fft_permute ( FFTContext s,
FFTComplex z 
void av_fft_calc ( FFTContext s,
FFTComplex z 

Do a complex FFT with the parameters defined in av_fft_init().

The input data must be permuted before. No 1.0/sqrt(n) normalization is done.

Definition at line 43 of file avfft.c.

Referenced by convert_coeffs(), fast_convolute2(), fft_calc(), fft_horizontal(), fft_vertical(), filter_frame(), headphone_fast_convolute(), ifft_horizontal(), ifft_vertical(), load_data(), plot_cqt(), plot_freqs(), run_channel_fft(), sofalizer_fast_convolute(), and synth_window().

void av_fft_end ( FFTContext s)

Definition at line 48 of file avfft.c.

Referenced by common_uninit(), config_output(), convert_coeffs(), fft_end(), load_data(), and uninit().

FFTContext* av_mdct_init ( int  nbits,
int  inverse,
double  scale 

Referenced by mdct_init().

void av_imdct_calc ( FFTContext s,
FFTSample output,
const FFTSample input 

Referenced by imdct_calc().

void av_imdct_half ( FFTContext s,
FFTSample output,
const FFTSample input 
void av_mdct_calc ( FFTContext s,
FFTSample output,
const FFTSample input 

Referenced by mdct_calc().

void av_mdct_end ( FFTContext s)

Referenced by mdct_end().

RDFTContext* av_rdft_init ( int  nbits,
enum RDFTransformType  trans 

Set up a real FFT.

nbitslog2 of the length of the input array
transthe type of transform

Referenced by config_input(), config_output(), config_props(), convert_coeffs(), equ_init(), video_audio_display(), and yae_reset().

void av_rdft_calc ( RDFTContext s,
FFTSample data 
void av_rdft_end ( RDFTContext s)
DCTContext* av_dct_init ( int  nbits,
enum DCTTransformType  type 

Set up DCT.

nbitssize of the input array: (1 << nbits) for DCT-II, DCT-III and DST-I (1 << nbits) + 1 for DCT-I
typethe type of transform
the first element of the input of DST-I is ignored
void av_dct_calc ( DCTContext s,
FFTSample data 
void av_dct_end ( DCTContext s)