19#ifndef AVCODEC_AVFFT_H
20#define AVCODEC_AVFFT_H
39typedef float FFTSample;
41typedef struct FFTComplex {
45typedef struct FFTContext FFTContext;
54FFTContext *av_fft_init(
int nbits,
int inverse);
61void av_fft_permute(FFTContext *s, FFTComplex *z);
69void av_fft_calc(FFTContext *s, FFTComplex *z);
72void av_fft_end(FFTContext *s);
79FFTContext *av_mdct_init(
int nbits,
int inverse,
double scale);
81void av_imdct_calc(FFTContext *s, FFTSample *output,
const FFTSample *input);
83void av_imdct_half(FFTContext *s, FFTSample *output,
const FFTSample *input);
85void av_mdct_calc(FFTContext *s, FFTSample *output,
const FFTSample *input);
87void av_mdct_end(FFTContext *s);
91enum RDFTransformType {
98typedef struct RDFTContext RDFTContext;
108RDFTContext *av_rdft_init(
int nbits,
enum RDFTransformType trans);
110void av_rdft_calc(RDFTContext *s, FFTSample *data);
112void av_rdft_end(RDFTContext *s);
116typedef struct DCTContext DCTContext;
118enum DCTTransformType {
138DCTContext *av_dct_init(
int nbits,
enum DCTTransformType type);
140void av_dct_calc(DCTContext *s, FFTSample *data);
142void av_dct_end (DCTContext *s);
Macro definitions for various function/variable attributes.
#define attribute_deprecated