diff options
Diffstat (limited to 'decoder/ixheaacd_config.h')
-rw-r--r-- | decoder/ixheaacd_config.h | 79 |
1 files changed, 78 insertions, 1 deletions
diff --git a/decoder/ixheaacd_config.h b/decoder/ixheaacd_config.h index c78ce8f..59bacf0 100644 --- a/decoder/ixheaacd_config.h +++ b/decoder/ixheaacd_config.h @@ -41,6 +41,7 @@ #define USAC_OUT_FRAMELENGTH_4096 4096 #define MAX_CORE_SBR_FRAME_LEN_IDX (4) +#define IA_MAX_INP_BUFFER_SIZE (8 * 1024 + 11) #define ID_EXT_ELE_FILL 0 #define ID_EXT_ELE_MPEGS 1 @@ -51,6 +52,22 @@ #define ID_CONFIG_EXT_FILL 0 #define ID_CONFIG_EXT_LOUDNESS_INFO (2) +#define MAX_PARAMETER_BANDS (28) +#define MAX_NUM_OTT (5) +#define MAX_NUM_TTT (1) +#define MAX_INPUT_CHANNELS (2) +#define MAX_RESIDUAL_CHANNELS (3) +#define MAX_OUTPUT_CHANNELS (7) +#define MAX_NUM_EXT_TYPES (8) +#define MAX_M_INPUT (2) +#define MAX_M_OUTPUT (2) +#define QMF_BANDS_TO_HYBRID (3) +#define MAX_HYBRID_ONLY_BANDS_PER_QMF (8) +#define MAX_ARBITRARY_TREE_LEVELS (2) +#define MAX_OUTPUT_CHANNELS_AT \ + (MAX_OUTPUT_CHANNELS * (1 << MAX_ARBITRARY_TREE_LEVELS)) +#define MAX_ARBITRARY_TREE_INDEX ((1 << (MAX_ARBITRARY_TREE_LEVELS + 1)) - 1) + typedef UWORD8 UINT8; typedef UWORD32 UINT32; @@ -83,6 +100,66 @@ typedef struct { UINT32 bs_residual_bands; UINT32 bs_pseudo_lr; UINT32 bs_env_quant_mode; + UINT32 ldmps_present_flag; + + UINT32 bs_sampling_freq_index; + UINT32 bs_fampling_frequency; + UINT32 bs_frame_length; + UINT32 bs_tree_config; + UINT32 bs_quant_mode; + UINT32 bs_one_icc; + UINT32 bs_arbitrary_downmix; + UINT32 bs_residual_coding; + UINT32 bs_fixed_gain_sur; + UINT32 bs_fixed_gain_LFE; + UINT32 bs_matrix_mode; + UINT32 bs_3D_audio_mode; + UINT32 bs_3D_audio_HRTF_set; + UINT32 bs_HRTF_freq_res; + UINT32 HRTF_num_band; + UINT32 HRTF_num_phase; // new + UINT32 bs_HRTF_num_chan; + UINT32 bs_HRTF_asymmetric; + UINT32 bs_HRTF_level_left[MAX_OUTPUT_CHANNELS][MAX_PARAMETER_BANDS]; + UINT32 bs_HRTF_level_right[MAX_OUTPUT_CHANNELS][MAX_PARAMETER_BANDS]; + UINT32 bs_HRTF_phase[MAX_OUTPUT_CHANNELS]; + UINT32 bs_HRTF_phase_LR[MAX_OUTPUT_CHANNELS][MAX_PARAMETER_BANDS]; + UINT32 bs_HRTF_icc[MAX_OUTPUT_CHANNELS]; + UINT32 bs_HRTF_icc_LR[MAX_OUTPUT_CHANNELS][MAX_PARAMETER_BANDS]; + UINT32 bs_ott_bands[MAX_NUM_OTT]; + UINT32 bs_ttt_dual_mode[MAX_NUM_TTT]; + UINT32 bs_ttt_mode_low[MAX_NUM_TTT]; + UINT32 bs_ttt_mode_high[MAX_NUM_TTT]; + UINT32 bs_ttt_bands_low[MAX_NUM_TTT]; + UINT32 bs_ttt_bands_high[MAX_NUM_TTT]; + + UINT32 bs_sac_ext_type[MAX_NUM_EXT_TYPES]; + UINT32 sac_ext_cnt; + + UINT32 bs_residual_present[MAX_RESIDUAL_CHANNELS]; + UINT32 bs_residual_sampling_freq_index; + UINT32 bs_residual_frames_per_spatial_frame; + + UINT32 bs_residual_bands_ld_mps[MAX_RESIDUAL_CHANNELS]; + + UINT32 bs_arbitrary_downmix_residual_sampling_freq_index; + UINT32 bs_arbitrary_downmix_residual_frames_per_spatial_frame; + UINT32 bs_arbitrary_downmix_residual_bands; + + UINT32 num_out_chan_AT; + UINT32 num_ott_boxes_AT; + UINT32 bs_output_channel_pos_AT[MAX_OUTPUT_CHANNELS_AT]; + UINT32 bs_ott_box_present_AT[MAX_OUTPUT_CHANNELS][MAX_ARBITRARY_TREE_INDEX]; + UINT32 bs_ott_default_cld_AT[MAX_OUTPUT_CHANNELS * MAX_ARBITRARY_TREE_INDEX]; + UINT32 bs_ott_mode_lfe_AT[MAX_OUTPUT_CHANNELS * MAX_ARBITRARY_TREE_INDEX]; + UINT32 bs_ott_bands_AT[MAX_OUTPUT_CHANNELS * MAX_ARBITRARY_TREE_INDEX]; + + WORD32 num_ott_boxes; + WORD32 num_ttt_boxes; + WORD32 num_input_channels; + WORD32 num_output_channels; + WORD32 ott_mode_lfe[MAX_NUM_OTT]; // new + WORD32 no_ldsbr_present; } ia_usac_dec_mps_config_struct; #define BS_OUTPUT_CHANNEL_POS_NA -1 /* n/a */ @@ -634,6 +711,6 @@ UWORD32 ixheaacd_sbr_params(UWORD32 core_sbr_frame_len_idx, UWORD32 *sample_freq_indx); WORD32 ixheaacd_config(ia_bit_buf_struct *bit_buff, - ia_usac_config_struct *pstr_usac_conf, UINT32 *chan); + ia_usac_config_struct *pstr_usac_conf, UINT32 *chan, WORD32 ec_flag); #endif /* IXHEAACD_CONFIG_H */ |