43 #define MAX_CHANNELS 64
44 #define MAX_ELEM_ID 16
46 #define TNS_MAX_ORDER 20
47 #define MAX_LTP_LONG_SFB 40
85 #define IS_CODEBOOK_UNSIGNED(x) ((x - 1) & 10)
137 #define MAX_PREDICTORS 672
139 #define SCALE_DIV_512 36
140 #define SCALE_ONE_POS 140
141 #define SCALE_MAX_POS 255
142 #define SCALE_MAX_DIFF 60
143 #define SCALE_DIFF_ZERO 60
int predictor_initialized
uint8_t use_kb_window[2]
If set, use Kaiser-Bessel window, otherwise use a sinus window.
This structure describes decoded (raw) audio or video data.
struct LongTermPrediction LongTermPrediction
Long Term Prediction.
ChannelElement * che[4][MAX_ELEM_ID]
int common_window
Set if channels share a common 'IndividualChannelStream' in bitstream.
uint8_t ms_mask[128]
Set if mid/side stereo is used for each scalefactor window band.
Dynamic Range Control - decoded from the bitstream but not processed further.
float coef[8][4][TNS_MAX_ORDER]
enum RawDataBlockType type[8]
Type of channel element to be coupled - SCE or CPE.
struct PredictorState PredictorState
Predictor State.
Spectral data are scaled white noise not coded in the bitstream.
int band_incr
Number of DRC bands greater than 1 having DRC info.
const uint16_t * swb_offset
table of offsets to the lowest spectral coefficient of a scalefactor band, sfb, for a particular wind...
uint8_t layout_map[MAX_ELEM_ID *4][3]
Output configuration under trial specified by an inband PCE.
SingleChannelElement ch[2]
CouplingPoint
The point during decoding at which channel coupling is applied.
int num_coupled
number of target elements
int exclude_mask[MAX_CHANNELS]
Channels to be excluded from DRC processing.
SingleChannelElement * output_element[MAX_CHANNELS]
Points to each SingleChannelElement.
Scalefactor data are intensity stereo positions.
int id_select[8]
element id
ChannelElement * tag_che_map[4][MAX_ELEM_ID]
Output configuration set in a global header but not yet locked.
int dyn_rng_sgn[17]
DRC sign information; 0 - positive, 1 - negative.
float coeffs[1024]
coefficients for IMDCT
PredictorState predictor_state[MAX_PREDICTORS]
SpectralBandReplication sbr
enum CouplingPoint coupling_point
The point during decoding at which coupling is applied.
FmtConvertContext fmt_conv
Spectral Band Replication definitions and structures.
uint8_t max_sfb
number of scalefactor bands per group
int num_swb
number of scalefactor window bands
struct DynamicRangeControl DynamicRangeControl
Dynamic Range Control - decoded from the bitstream but not processed further.
int prog_ref_level
A reference level for the long-term program audio level for all channels combined.
Output configuration locked in place.
enum WindowSequence window_sequence[2]
int predictor_reset_group
int dyn_rng_ctl[17]
DRC magnitude information.
int pce_instance_tag
Indicates with which program the DRC info is associated.
int interpolation_scheme
Indicates the interpolation scheme used in the SBR QMF domain.
int ch_select[8]
[0] shared list of gains; [1] list of gains for right channel; [2] list of gains for left channel; [3...
int is_saved
Set if elements have stored overlap from previous frame.
struct TemporalNoiseShaping TemporalNoiseShaping
Temporal Noise Shaping.
main external API structure.
IndividualChannelStream ics
Spectral data are coded with an escape sequence.
struct OutputConfiguration OutputConfiguration
const uint8_t * swb_sizes
table of scalefactor band sizes for a particular window
OCStatus
Output configuration status.
struct AACContext AACContext
main AAC context
int ms_mode
Signals mid/side stereo flags coding mode (used by encoder)
Output configuration under trial specified by a frame header.
float ltp_state[3072]
time signal for LTP
uint8_t zeroes[128]
band is not coded (used by encoder)
int band_type_run_end[120]
band type run end points
float sf[120]
scalefactors
int sf_idx[128]
scalefactor indices (used by encoder)
#define DECLARE_ALIGNED(n, t, v)
int band_top[17]
Indicates the top of the i-th DRC band in units of 4 spectral lines.
Scalefactor data are intensity stereo positions.
DynamicRangeControl che_drc
OutputConfiguration oc[2]
uint8_t prediction_used[41]
Single Channel Element - used for both SCE and LFE elements.
struct SingleChannelElement SingleChannelElement
Single Channel Element - used for both SCE and LFE elements.
Individual Channel Stream.
channel element - generic struct for SCE/CPE/CCE/LFE
struct ChannelCoupling ChannelCoupling
coupling parameters
Scalefactors and spectral data are all zero.
enum BandType band_type[128]
band types
float ret_buf[2048]
PCM output buffer.
int8_t used[MAX_LTP_LONG_SFB]
struct ChannelElement ChannelElement
channel element - generic struct for SCE/CPE/CCE/LFE
Spectral Band Replication.
struct IndividualChannelStream IndividualChannelStream
Individual Channel Stream.
This and later band types encode two values (rather than four) with one code word.