Revision 26f548bb libavcodec/fft.h

View differences:

libavcodec/fft.h
39 39
    /* pre/post rotation tables */
40 40
    FFTSample *tcos;
41 41
    FFTSample *tsin;
42
    /**
43
     * Do the permutation needed BEFORE calling fft_calc().
44
     */
42 45
    void (*fft_permute)(struct FFTContext *s, FFTComplex *z);
46
    /**
47
     * Do a complex FFT with the parameters defined in ff_fft_init(). The
48
     * input data must be permuted before. No 1.0/sqrt(n) normalization is done.
49
     */
43 50
    void (*fft_calc)(struct FFTContext *s, FFTComplex *z);
44 51
    void (*imdct_calc)(struct FFTContext *s, FFTSample *output, const FFTSample *input);
45 52
    void (*imdct_half)(struct FFTContext *s, FFTSample *output, const FFTSample *input);
......
115 122
void ff_fft_init_arm(FFTContext *s);
116 123
void ff_dct_init_mmx(DCTContext *s);
117 124

  
118
/**
119
 * Do the permutation needed BEFORE calling ff_fft_calc().
120
 */
121
static inline void ff_fft_permute(FFTContext *s, FFTComplex *z)
122
{
123
    s->fft_permute(s, z);
124
}
125
/**
126
 * Do a complex FFT with the parameters defined in ff_fft_init(). The
127
 * input data must be permuted before. No 1.0/sqrt(n) normalization is done.
128
 */
129
static inline void ff_fft_calc(FFTContext *s, FFTComplex *z)
130
{
131
    s->fft_calc(s, z);
132
}
133 125
void ff_fft_end(FFTContext *s);
134 126

  
135
/* MDCT computation */
136

  
137
static inline void ff_imdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input)
138
{
139
    s->imdct_calc(s, output, input);
140
}
141
static inline void ff_imdct_half(FFTContext *s, FFTSample *output, const FFTSample *input)
142
{
143
    s->imdct_half(s, output, input);
144
}
145

  
146
static inline void ff_mdct_calc(FFTContext *s, FFTSample *output,
147
                                const FFTSample *input)
148
{
149
    s->mdct_calc(s, output, input);
150
}
151

  
152 127
/**
153 128
 * Maximum window size for ff_kbd_window_init.
154 129
 */
......
213 188

  
214 189
void ff_rdft_init_arm(RDFTContext *s);
215 190

  
216
static av_always_inline void ff_rdft_calc(RDFTContext *s, FFTSample *data)
217
{
218
    s->rdft_calc(s, data);
219
}
220

  
221 191
/* Discrete Cosine Transform */
222 192

  
223 193
struct DCTContext {
......
239 209
 * @note the first element of the input of DST-I is ignored
240 210
 */
241 211
int  ff_dct_init(DCTContext *s, int nbits, enum DCTTransformType type);
242
void ff_dct_calc(DCTContext *s, FFTSample *data);
243 212
void ff_dct_end (DCTContext *s);
244 213

  
245 214
#endif /* AVCODEC_FFT_H */

Also available in: Unified diff