MDCT/IMDCT transforms. More...
#include "dsputil.h"Go to the source code of this file.
Defines | |
| #define | BESSEL_I0_ITER 50 |
| #define | CMUL(pre, pim, are, aim, bre, bim) |
Functions | |
| av_cold void | ff_kbd_window_init (float *window, float alpha, int n) |
| Generate a Kaiser-Bessel Derived Window. | |
| DECLARE_ALIGNED (16, float, ff_sine_128[128]) | |
| DECLARE_ALIGNED (16, float, ff_sine_256[256]) | |
| DECLARE_ALIGNED (16, float, ff_sine_512[512]) | |
| DECLARE_ALIGNED (16, float, ff_sine_1024[1024]) | |
| DECLARE_ALIGNED (16, float, ff_sine_2048[2048]) | |
| DECLARE_ALIGNED (16, float, ff_sine_4096[4096]) | |
| av_cold void | ff_sine_window_init (float *window, int n) |
| Generate a sine window. | |
| av_cold int | ff_mdct_init (MDCTContext *s, int nbits, int inverse) |
| init MDCT or IMDCT computation. | |
| void | ff_imdct_half_c (MDCTContext *s, FFTSample *output, const FFTSample *input) |
| Compute the middle half of the inverse MDCT of size N = 2^nbits, thus excluding the parts that can be derived by symmetry. | |
| void | ff_imdct_calc_c (MDCTContext *s, FFTSample *output, const FFTSample *input) |
| Compute inverse MDCT of size N = 2^nbits. | |
| void | ff_mdct_calc_c (MDCTContext *s, FFTSample *out, const FFTSample *input) |
| Compute MDCT of size N = 2^nbits. | |
| av_cold void | ff_mdct_end (MDCTContext *s) |
Variables | |
| float * | ff_sine_windows [6] |
MDCT/IMDCT transforms.
Definition in file mdct.c.
| #define BESSEL_I0_ITER 50 |
Definition at line 29 of file mdct.c.
Referenced by ff_kbd_window_init().
| #define CMUL | ( | pre, | ||
| pim, | ||||
| are, | ||||
| aim, | ||||
| bre, | ||||
| bim | ||||
| ) |
{\
FFTSample _are = (are);\
FFTSample _aim = (aim);\
FFTSample _bre = (bre);\
FFTSample _bim = (bim);\
(pre) = _are * _bre - _aim * _bim;\
(pim) = _are * _bim + _aim * _bre;\
}
Definition at line 103 of file mdct.c.
Referenced by ff_imdct_half_c(), and ff_mdct_calc_c().
| DECLARE_ALIGNED | ( | 16 | , | |
| float | , | |||
| ff_sine_128 | [128] | |||
| ) |
| DECLARE_ALIGNED | ( | 16 | , | |
| float | , | |||
| ff_sine_512 | [512] | |||
| ) |
| DECLARE_ALIGNED | ( | 16 | , | |
| float | , | |||
| ff_sine_1024 | [1024] | |||
| ) |
| DECLARE_ALIGNED | ( | 16 | , | |
| float | , | |||
| ff_sine_256 | [256] | |||
| ) |
| DECLARE_ALIGNED | ( | 16 | , | |
| float | , | |||
| ff_sine_2048 | [2048] | |||
| ) |
| DECLARE_ALIGNED | ( | 16 | , | |
| float | , | |||
| ff_sine_4096 | [4096] | |||
| ) |
| void ff_imdct_calc_c | ( | MDCTContext * | s, | |
| FFTSample * | output, | |||
| const FFTSample * | input | |||
| ) |
| void ff_imdct_half_c | ( | MDCTContext * | s, | |
| FFTSample * | output, | |||
| const FFTSample * | input | |||
| ) |
Compute the middle half of the inverse MDCT of size N = 2^nbits, thus excluding the parts that can be derived by symmetry.
| output | N/2 samples | |
| input | N/2 samples |
Definition at line 119 of file mdct.c.
Referenced by ff_imdct_calc_c().
| av_cold void ff_kbd_window_init | ( | float * | window, | |
| float | alpha, | |||
| int | n | |||
| ) |
Generate a Kaiser-Bessel Derived Window.
| window | pointer to half window | |
| alpha | determines window shape | |
| n | size of half window |
Definition at line 30 of file mdct.c.
Referenced by aac_decode_init(), aac_encode_init(), and ac3_decode_init().
| void ff_mdct_calc_c | ( | MDCTContext * | s, | |
| FFTSample * | out, | |||
| const FFTSample * | input | |||
| ) |
| av_cold void ff_mdct_end | ( | MDCTContext * | s | ) |
Definition at line 224 of file mdct.c.
Referenced by aac_decode_close(), aac_encode_end(), ac3_decode_end(), cook_decode_close(), dca_decode_end(), decode_end(), encode_end(), ff_wma_end(), main(), vorbis_encode_close(), and vorbis_free().
| av_cold int ff_mdct_init | ( | MDCTContext * | s, | |
| int | nbits, | |||
| int | inverse | |||
| ) |
init MDCT or IMDCT computation.
Definition at line 71 of file mdct.c.
Referenced by aac_decode_init(), aac_encode_init(), ac3_decode_init(), create_vorbis_context(), dca_decode_init(), decode_init(), encode_init(), init_atrac3_transforms(), init_cook_mlt(), main(), vorbis_parse_id_hdr(), and wma_decode_init().
| av_cold void ff_sine_window_init | ( | float * | window, | |
| int | n | |||
| ) |
Generate a sine window.
| window | pointer to half window | |
| n | size of half window |
Definition at line 62 of file mdct.c.
Referenced by aac_decode_init(), aac_encode_init(), decode_init(), encode_init(), ff_wma_init(), imc_decode_init(), and init_cook_mlt().
| float* ff_sine_windows[6] |
Definition at line 57 of file mdct.c.
Referenced by ff_wma_init().
1.7.1