av_cold void av_fft_end(FFTContext *s)
void av_imdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input)
filter_frame For filters that do not use the this method is called when a frame is pushed to the filter s input It can be called at any time except in a reentrant way If the input frame is enough to produce output
void av_fft_permute(FFTContext *s, FFTComplex *z)
Do the permutation needed BEFORE calling ff_fft_calc().
DCTContext * av_dct_init(int nbits, enum DCTTransformType type)
Set up DCT.
av_cold void ff_rdft_end(RDFTContext *s)
void av_dct_end(DCTContext *s)
void av_rdft_calc(RDFTContext *s, FFTSample *data)
void av_dct_calc(DCTContext *s, FFTSample *data)
FFTContext * av_mdct_init(int nbits, int inverse, double scale)
void av_mdct_end(FFTContext *s)
RDFTContext * av_rdft_init(int nbits, enum RDFTransformType trans)
Set up a real FFT.
av_cold void ff_dct_end(DCTContext *s)
and forward the test the status of outputs and forward it to the corresponding return FFERROR_NOT_READY If the filters stores internally one or a few frame for some input
av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans)
Set up a real FFT.
av_cold int ff_dct_init(DCTContext *s, int nbits, enum DCTTransformType inverse)
Set up DCT.
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
FFTContext * av_fft_init(int nbits, int inverse)
Set up a complex FFT.
static uint32_t inverse(uint32_t v)
find multiplicative inverse modulo 2 ^ 32
void av_rdft_end(RDFTContext *s)
void av_fft_calc(FFTContext *s, FFTComplex *z)
Do a complex FFT with the parameters defined in av_fft_init().
void av_mdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input)
void av_imdct_half(FFTContext *s, FFTSample *output, const FFTSample *input)