FFT functions.  
 | 
 Data Structures | 
| struct   | FFTComplex | 
 Typedefs | 
| typedef float  | FFTSample | 
| typedef struct FFTContext  | FFTContext | 
| typedef struct RDFTContext  | RDFTContext | 
| typedef struct DCTContext  | DCTContext | 
 Enumerations | 
| enum   | RDFTransformType { DFT_R2C, 
IDFT_C2R, 
IDFT_R2C, 
DFT_C2R
 } | 
| enum   | DCTTransformType { DCT_II =  0, 
DCT_III, 
DCT_I, 
DST_I
 } | 
 Functions | 
| FFTContext *  | av_fft_init (int nbits, int inverse) | 
|   | Set up a complex FFT.  
  | 
| void  | av_fft_permute (FFTContext *s, FFTComplex *z) | 
|   | Do the permutation needed BEFORE calling ff_fft_calc().  
  | 
| void  | av_fft_calc (FFTContext *s, FFTComplex *z) | 
|   | Do a complex FFT with the parameters defined in av_fft_init().  
  | 
| void  | av_fft_end (FFTContext *s) | 
| FFTContext *  | av_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) | 
| RDFTContext *  | av_rdft_init (int nbits, enum RDFTransformType trans) | 
|   | Set up a real FFT.  
  | 
| 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.  
  | 
| void  | av_dct_calc (DCTContext *s, FFTSample *data) | 
| void  | av_dct_end (DCTContext *s) | 
FFT functions.