#include <ac3dsp.h>
Data Fields
Set each encoded exponent in a block to the minimum of itself and the exponents in the same frequency bin of up to 5 following blocks.
More...
Convert an array of float in range [-1.0,1.0] to int32_t with range [-(1<<24),(1<<24)].
More...
Calculate bit allocation pointers.
More...
Update bap counts using the supplied array of bap.
More...
Calculate the number of bits needed to encode a set of mantissas.
More...
Detailed Description
Field Documentation
◆ ac3_exponent_min
void(* AC3DSPContext::ac3_exponent_min) (uint8_t *
exp,
int num_reuse_blocks,
int nb_coefs)
Set each encoded exponent in a block to the minimum of itself and the exponents in the same frequency bin of up to 5 following blocks.
- Parameters
-
exp pointer to the start of the current block of exponents. constraints: align 16
num_reuse_blocks number of blocks that will reuse exponents from the current block. constraints: range 0 to 5
nb_coefs number of frequency coefficients.
Definition at line 43 of file ac3dsp.h.
◆ float_to_fixed24
void(* AC3DSPContext::float_to_fixed24) (
int32_t *dst, const float *
src, unsigned
int len)
Convert an array of float in range [-1.0,1.0] to int32_t with range [-(1<<24),(1<<24)].
- Parameters
-
dst destination array of int32_t. constraints: 16-byte aligned
src source array of float. constraints: 16-byte aligned
len number of elements to convert. constraints: multiple of 32 greater than zero
Definition at line 56 of file ac3dsp.h.
◆ bit_alloc_calc_bap
void(* AC3DSPContext::bit_alloc_calc_bap) (int16_t *
mask, int16_t *psd,
int start,
int end,
int snr_offset,
int floor, const uint8_t *
bap_tab, uint8_t *bap)
Calculate bit allocation pointers.
The SNR is the difference between the masking curve and the signal. AC-3 uses this value for each frequency bin to allocate bits. The snroffset parameter is a global adjustment to the SNR for all bins.
- Parameters
-
[in] mask masking curve
[in] psd signal power for each frequency bin
[in] start starting bin location
[in] end ending bin location
[in] snr_offset SNR adjustment
[in] floor noise floor
[in] bap_tab look-up table for bit allocation pointers
[out] bap bit allocation pointers
Definition at line 73 of file ac3dsp.h.
◆ update_bap_counts
void(* AC3DSPContext::update_bap_counts) (uint16_t mant_cnt[16], uint8_t *bap,
int len)
Update bap counts using the supplied array of bap.
- Parameters
-
[out] mant_cnt bap counts for 1 block
[in] bap array of bap, pointing to start coef bin
[in] len number of elements to process
Definition at line 84 of file ac3dsp.h.
◆ compute_mantissa_size
int(* AC3DSPContext::compute_mantissa_size) (uint16_t mant_cnt[6][16])
Calculate the number of bits needed to encode a set of mantissas.
- Parameters
-
[in] mant_cnt bap counts for all blocks
- Returns
- mantissa bit count
Definition at line 92 of file ac3dsp.h.
◆ extract_exponents
◆ sum_square_butterfly_int32
void(* AC3DSPContext::sum_square_butterfly_int32) (int64_t sum[4], const
int32_t *coef0, const
int32_t *coef1,
int len)
◆ sum_square_butterfly_float
void(* AC3DSPContext::sum_square_butterfly_float) (float sum[4], const float *coef0, const float *coef1,
int len)
◆ out_channels
int AC3DSPContext::out_channels
◆ in_channels
int AC3DSPContext::in_channels
◆ downmix
void(* AC3DSPContext::downmix) (float **
samples, float **matrix,
int len)
◆ downmix_fixed
The documentation for this struct was generated from the following file: