
Go to the source code of this file.
Data Structures | |
| struct | ba_t |
| struct | expbap_t |
| struct | a52_state_s |
Defines | |
| #define | LEVEL_PLUS6DB 2.0 |
| #define | LEVEL_PLUS3DB 1.4142135623730951 |
| #define | LEVEL_3DB 0.7071067811865476 |
| #define | LEVEL_45DB 0.5946035575013605 |
| #define | LEVEL_6DB 0.5 |
| #define | EXP_REUSE (0) |
| #define | EXP_D15 (1) |
| #define | EXP_D25 (2) |
| #define | EXP_D45 (3) |
| #define | DELTA_BIT_REUSE (0) |
| #define | DELTA_BIT_NEW (1) |
| #define | DELTA_BIT_NONE (2) |
| #define | DELTA_BIT_RESERVED (3) |
| #define | ROUND(x) ((int)((x) + ((x) > 0 ? 0.5 : -0.5))) |
| #define | SAMPLE(x) (x) |
| #define | LEVEL(x) (x) |
| #define | MUL(a, b) ((a) * (b)) |
| #define | MUL_L(a, b) ((a) * (b)) |
| #define | MUL_C(a, b) ((a) * (b)) |
| #define | DIV(a, b) ((a) / (b)) |
| #define | BIAS(x) ((x) + bias) |
Typedefs | |
| typedef sample_t | quantizer_t |
Functions | |
| void | a52_bit_allocate (a52_state_t *state, ba_t *ba, int bndstart, int start, int end, int fastleak, int slowleak, expbap_t *expbap) |
| int | a52_downmix_init (int input, int flags, level_t *level, level_t clev, level_t slev) |
| int | a52_downmix_coeff (level_t *coeff, int acmod, int output, level_t level, level_t clev, level_t slev) |
| void | a52_downmix (sample_t *samples, int acmod, int output, sample_t bias, level_t clev, level_t slev) |
| void | a52_upmix (sample_t *samples, int acmod, int output) |
| void | a52_imdct_init (uint32_t mm_accel) |
| void | a52_imdct_256 (sample_t *data, sample_t *delay, sample_t bias) |
| void | a52_imdct_512 (sample_t *data, sample_t *delay, sample_t bias) |
| #define BIAS | ( | x | ) | ((x) + bias) |
Definition at line 135 of file a52_internal.h.
Referenced by mix21to2(), mix21toS(), mix22toS(), mix2to1(), mix31to2(), mix31toS(), mix32to2(), mix32toS(), mix3to1(), mix3to2(), mix4to1(), mix5to1(), move2to1(), ulaw2linear(), and vorbis_parse_audio_packet().
| #define DELTA_BIT_NEW (1) |
Definition at line 102 of file a52_internal.h.
| #define DELTA_BIT_NONE (2) |
Definition at line 103 of file a52_internal.h.
| #define DELTA_BIT_RESERVED (3) |
Definition at line 104 of file a52_internal.h.
| #define DELTA_BIT_REUSE (0) |
Definition at line 101 of file a52_internal.h.
| #define EXP_D15 (1) |
Definition at line 97 of file a52_internal.h.
| #define EXP_D25 (2) |
Definition at line 98 of file a52_internal.h.
| #define EXP_D45 (3) |
Definition at line 99 of file a52_internal.h.
| #define EXP_REUSE (0) |
Definition at line 96 of file a52_internal.h.
| #define LEVEL | ( | x | ) | (x) |
| #define LEVEL_3DB 0.7071067811865476 |
Definition at line 92 of file a52_internal.h.
Referenced by a52_downmix_coeff(), a52_downmix_init(), and a52_frame().
| #define LEVEL_45DB 0.5946035575013605 |
| #define LEVEL_6DB 0.5 |
| #define LEVEL_PLUS3DB 1.4142135623730951 |
| #define LEVEL_PLUS6DB 2.0 |
Definition at line 133 of file a52_internal.h.
Referenced by a52_downmix_coeff(), a52_downmix_init(), and a52_frame().
Definition at line 132 of file a52_internal.h.
Referenced by a52_block(), a52_downmix_coeff(), a52_downmix_init(), and coeff_get_coupling().
| #define ROUND | ( | x | ) | ((int)((x) + ((x) > 0 ? 0.5 : -0.5))) |
Definition at line 124 of file a52_internal.h.
| #define SAMPLE | ( | x | ) | (x) |
| typedef sample_t quantizer_t |
Definition at line 128 of file a52_internal.h.
| void a52_bit_allocate | ( | a52_state_t * | state, | |
| ba_t * | ba, | |||
| int | bndstart, | |||
| int | start, | |||
| int | end, | |||
| int | fastleak, | |||
| int | slowleak, | |||
| expbap_t * | expbap | |||
| ) |
Definition at line 119 of file bit_allocate.c.
References ba_t::bai, a52_state_s::bai, expbap_t::bap, baptab, bndtab, COMPUTE_MASK, a52_state_s::csnroffst, DELTA_BIT_NONE, ba_t::deltba, ba_t::deltbae, expbap_t::exp, floortab, a52_state_s::fscod, a52_state_s::halfrate, halfrate, hth, hthtab, latab, and UPDATE_LEAK.
Referenced by a52_block().
| void a52_downmix | ( | sample_t * | samples, | |
| int | acmod, | |||
| int | output, | |||
| sample_t | bias, | |||
| level_t | clev, | |||
| level_t | slev | |||
| ) |
Definition at line 474 of file downmix.c.
References A52_2F1R, A52_2F2R, A52_3F, A52_3F1R, A52_3F2R, A52_CHANNEL, A52_CHANNEL2, A52_CHANNEL_MASK, A52_DOLBY, A52_MONO, A52_STEREO, CONVERT, memcpy, mix21to2(), mix21toS(), mix22toS(), mix2to1(), mix31to2(), mix31toS(), mix32to2(), mix32toS(), mix3to1(), mix3to2(), mix4to1(), mix5to1(), and move2to1().
Referenced by a52_block().

| int a52_downmix_coeff | ( | level_t * | coeff, | |
| int | acmod, | |||
| int | output, | |||
| level_t | level, | |||
| level_t | clev, | |||
| level_t | slev | |||
| ) |
Definition at line 156 of file downmix.c.
References A52_2F1R, A52_2F2R, A52_3F, A52_3F1R, A52_3F2R, A52_CHANNEL, A52_CHANNEL1, A52_CHANNEL2, A52_CHANNEL_MASK, A52_DOLBY, A52_MONO, A52_STEREO, CONVERT, LEVEL_3DB, LEVEL_6DB, LEVEL_PLUS6DB, MUL_C, and MUL_L.
Referenced by a52_block().
Definition at line 28 of file downmix.c.
References A52_2F1R, A52_2F2R, A52_3F, A52_3F1R, A52_3F2R, A52_ADJUST_LEVEL, A52_CHANNEL, A52_CHANNEL1, A52_CHANNEL2, A52_CHANNEL_MASK, A52_DOLBY, A52_MONO, A52_STEREO, CONVERT, DIV, LEVEL, LEVEL_3DB, LEVEL_PLUS3DB, MUL_C, MUL_L, and output.
Referenced by a52_frame().
Definition at line 282 of file imdct.c.
References a52_imdct_window, BUTTERFLY_0, BUTTERFLY_B, fftorder, ifft64, complex_s::imag, complex_s::real, and window.
Referenced by a52_block().
Definition at line 245 of file imdct.c.
References a52_imdct_window, buf, BUTTERFLY_0, BUTTERFLY_B, fftorder, ifft128, complex_s::imag, complex_s::real, and window.
Referenced by a52_block().
| void a52_imdct_init | ( | uint32_t | mm_accel | ) |
Definition at line 345 of file imdct.c.
References a52_imdct_window, besselI0(), fftorder, ifft128, ifft128_c(), ifft64, ifft64_c(), complex_s::imag, M_PI, MM_ACCEL_DJBFFT, complex_s::real, roots128, roots16, roots32, roots64, and SAMPLE.
Referenced by a52_init().

| void a52_upmix | ( | sample_t * | samples, | |
| int | acmod, | |||
| int | output | |||
| ) |
Definition at line 615 of file downmix.c.
References A52_2F1R, A52_2F2R, A52_3F, A52_3F1R, A52_3F2R, A52_CHANNEL, A52_CHANNEL2, A52_CHANNEL_MASK, A52_DOLBY, A52_MONO, A52_STEREO, CONVERT, memcpy, and zero.
Referenced by a52_block().
1.5.5