summaryrefslogtreecommitdiff
path: root/libavcodec/dsputil.h
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2009-01-22 19:46:23 +0000
committerAlex Converse <alex.converse@gmail.com>2009-01-22 19:46:23 +0000
commit8f05c995fd5dac7be01f24382687a944e1105d76 (patch)
tree7c73bed382937621cf5a849ec1828a3820b2d4dc /libavcodec/dsputil.h
parent082491c47311619e4b6e1ab5dc0140a3d43769ac (diff)
Clean up FFT related comments.
Originally committed as revision 16721 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r--libavcodec/dsputil.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 0fa04e8d14..165aef7a09 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -674,6 +674,11 @@ typedef struct FFTContext {
void (*imdct_half)(struct MDCTContext *s, FFTSample *output, const FFTSample *input);
} FFTContext;
+/**
+ * Sets up a complex FFT.
+ * @param nbits log2 of the length of the input array
+ * @param inverse if 0 perform the forward transform, if 1 perform the inverse
+ */
int ff_fft_init(FFTContext *s, int nbits, int inverse);
void ff_fft_permute_c(FFTContext *s, FFTComplex *z);
void ff_fft_permute_sse(FFTContext *s, FFTComplex *z);
@@ -683,10 +688,17 @@ void ff_fft_calc_3dn(FFTContext *s, FFTComplex *z);
void ff_fft_calc_3dn2(FFTContext *s, FFTComplex *z);
void ff_fft_calc_altivec(FFTContext *s, FFTComplex *z);
+/**
+ * Do the permutation needed BEFORE calling ff_fft_calc().
+ */
static inline void ff_fft_permute(FFTContext *s, FFTComplex *z)
{
s->fft_permute(s, z);
}
+/**
+ * Do a complex FFT with the parameters defined in ff_fft_init(). The
+ * input data must be permuted before. No 1.0/sqrt(n) normalization is done.
+ */
static inline void ff_fft_calc(FFTContext *s, FFTComplex *z)
{
s->fft_calc(s, z);