|
|
|
@@ -50,27 +50,27 @@ typedef struct { |
|
|
|
|
|
|
|
///@defgroup bsi bit stream information |
|
|
|
///@{ |
|
|
|
int frame_type; ///< frame type (strmtyp) |
|
|
|
int frame_type; ///< frame type (strmtyp) |
|
|
|
int substreamid; ///< substream identification |
|
|
|
int frame_size; ///< current frame size, in bytes |
|
|
|
int bit_rate; ///< stream bit rate, in bits-per-second |
|
|
|
int sample_rate; ///< sample frequency, in Hz |
|
|
|
int num_blocks; ///< number of audio blocks |
|
|
|
int channel_mode; ///< channel mode (acmod) |
|
|
|
int channel_mode; ///< channel mode (acmod) |
|
|
|
int lfe_on; ///< lfe channel in use |
|
|
|
int center_mix_level; ///< Center mix level index |
|
|
|
int surround_mix_level; ///< Surround mix level index |
|
|
|
///@} |
|
|
|
|
|
|
|
///@defgroup cpl standard coupling |
|
|
|
int cpl_in_use; ///< coupling in use |
|
|
|
int channel_in_cpl[AC3_MAX_CHANNELS]; ///< channel in coupling |
|
|
|
int phase_flags_in_use; ///< phase flags in use |
|
|
|
int phase_flags[18]; ///< phase flags |
|
|
|
int num_cpl_subbands; ///< number of coupling sub bands |
|
|
|
int num_cpl_bands; ///< number of coupling bands |
|
|
|
int cpl_band_struct[18]; ///< coupling band structure |
|
|
|
int cpl_coords[AC3_MAX_CHANNELS][18]; ///< coupling coordinates |
|
|
|
int cpl_in_use; ///< coupling in use (cplinu) |
|
|
|
int channel_in_cpl[AC3_MAX_CHANNELS]; ///< channel in coupling (chincpl) |
|
|
|
int phase_flags_in_use; ///< phase flags in use (phsflginu) |
|
|
|
int phase_flags[18]; ///< phase flags (phsflg) |
|
|
|
int num_cpl_subbands; ///< number of coupling sub bands (ncplsubnd) |
|
|
|
int num_cpl_bands; ///< number of coupling bands (ncplbnd) |
|
|
|
int cpl_band_struct[18]; ///< coupling band structure (cplbndstrc) |
|
|
|
int cpl_coords[AC3_MAX_CHANNELS][18]; ///< coupling coordinates (cplco) |
|
|
|
///@} |
|
|
|
|
|
|
|
///@defgroup channel channel |
|
|
|
@@ -89,25 +89,25 @@ typedef struct { |
|
|
|
///@} |
|
|
|
|
|
|
|
///@defgroup bandwidth bandwidth |
|
|
|
int start_freq[AC3_MAX_CHANNELS]; ///< start frequency bin |
|
|
|
int end_freq[AC3_MAX_CHANNELS]; ///< end frequency bin |
|
|
|
int start_freq[AC3_MAX_CHANNELS]; ///< start frequency bin (strtmant) |
|
|
|
int end_freq[AC3_MAX_CHANNELS]; ///< end frequency bin (endmant) |
|
|
|
///@} |
|
|
|
|
|
|
|
///@defgroup rematrixing rematrixing |
|
|
|
int num_rematrixing_bands; ///< number of rematrixing bands |
|
|
|
int rematrixing_flags[4]; ///< rematrixing flags |
|
|
|
int num_rematrixing_bands; ///< number of rematrixing bands (nrematbnd) |
|
|
|
int rematrixing_flags[4]; ///< rematrixing flags (rematflg) |
|
|
|
///@} |
|
|
|
|
|
|
|
///@defgroup exponents exponents |
|
|
|
int num_exp_groups[AC3_MAX_CHANNELS]; ///< Number of exponent groups |
|
|
|
int num_exp_groups[AC3_MAX_CHANNELS]; ///< Number of exponent groups (nexpgrp) |
|
|
|
int8_t dexps[AC3_MAX_CHANNELS][AC3_MAX_COEFS]; ///< decoded exponents |
|
|
|
int exp_strategy[AC3_MAX_CHANNELS]; ///< exponent strategies |
|
|
|
int exp_strategy[AC3_MAX_CHANNELS]; ///< exponent strategies (expstr) |
|
|
|
///@} |
|
|
|
|
|
|
|
///@defgroup bitalloc bit allocation |
|
|
|
AC3BitAllocParameters bit_alloc_params; ///< bit allocation parameters |
|
|
|
int snr_offset[AC3_MAX_CHANNELS]; ///< signal-to-noise ratio offsets |
|
|
|
int fast_gain[AC3_MAX_CHANNELS]; ///< fast gain values (signal-to-mask ratio) |
|
|
|
int snr_offset[AC3_MAX_CHANNELS]; ///< signal-to-noise ratio offsets (snroffst) |
|
|
|
int fast_gain[AC3_MAX_CHANNELS]; ///< fast gain values/SMR's (fgain) |
|
|
|
uint8_t bap[AC3_MAX_CHANNELS][AC3_MAX_COEFS]; ///< bit allocation pointers |
|
|
|
int16_t psd[AC3_MAX_CHANNELS][AC3_MAX_COEFS]; ///< scaled exponents |
|
|
|
int16_t band_psd[AC3_MAX_CHANNELS][50]; ///< interpolated exponents |
|
|
|
@@ -121,12 +121,12 @@ typedef struct { |
|
|
|
|
|
|
|
///@defgroup dithering zero-mantissa dithering |
|
|
|
int dither_all; ///< true if all channels are dithered |
|
|
|
int dither_flag[AC3_MAX_CHANNELS]; ///< dither flags |
|
|
|
int dither_flag[AC3_MAX_CHANNELS]; ///< dither flags (dithflg) |
|
|
|
AVRandomState dith_state; ///< for dither generation |
|
|
|
///@} |
|
|
|
|
|
|
|
///@defgroup imdct IMDCT |
|
|
|
int block_switch[AC3_MAX_CHANNELS]; ///< block switch flags |
|
|
|
int block_switch[AC3_MAX_CHANNELS]; ///< block switch flags (blksw) |
|
|
|
MDCTContext imdct_512; ///< for 512 sample IMDCT |
|
|
|
MDCTContext imdct_256; ///< for 256 sample IMDCT |
|
|
|
///@} |
|
|
|
|