fix ASC, fix full bandwidth for non USAC
This commit is contained in:
parent
1f798f1cc5
commit
433d6c3eb6
2 changed files with 8 additions and 10 deletions
|
|
@ -412,6 +412,7 @@ WORD32 ixheaace_get_audiospecific_config_bytes(
|
|||
pstr_audio_specific_config->sampling_frequency /= 2;
|
||||
|
||||
if ((AOT_SBR == aot) || (AOT_PS == aot)) {
|
||||
ext_aot = aot;
|
||||
aot = AOT_AAC_LC;
|
||||
}
|
||||
}
|
||||
|
|
@ -460,9 +461,12 @@ WORD32 ixheaace_get_audiospecific_config_bytes(
|
|||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff,
|
||||
(pstr_audio_specific_config->channel_configuration), 4);
|
||||
|
||||
if (ext_aot != -1) aot = ext_aot;
|
||||
|
||||
if ((AOT_SBR == aot) || (AOT_PS == aot)) {
|
||||
ext_aot = AOT_SBR;
|
||||
sbr_present_flag = 1;
|
||||
|
||||
tmp = 0x0f;
|
||||
for (i = 0; i < sizeof(ia_sampl_freq_table) / sizeof(ia_sampl_freq_table[0]); i++) {
|
||||
if (ia_sampl_freq_table[i] == pstr_audio_specific_config->ext_sampling_frequency) {
|
||||
|
|
@ -470,18 +474,12 @@ WORD32 ixheaace_get_audiospecific_config_bytes(
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
pstr_audio_specific_config->ext_samp_freq_index = (UWORD32)tmp;
|
||||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff,
|
||||
(pstr_audio_specific_config->ext_samp_freq_index), 4);
|
||||
if (pstr_audio_specific_config->ext_samp_freq_index == 0xf) {
|
||||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff,
|
||||
(pstr_audio_specific_config->ext_sampling_frequency), 24);
|
||||
}
|
||||
|
||||
if (AOT_PS == aot) {
|
||||
ps_present_flag = 1;
|
||||
}
|
||||
|
||||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff, AOT_AAC_LC, 5);
|
||||
}
|
||||
switch (aot) {
|
||||
case AOT_AAC_ELD: {
|
||||
|
|
@ -506,7 +504,7 @@ WORD32 ixheaace_get_audiospecific_config_bytes(
|
|||
ext_id = 0x2b7;
|
||||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff, ext_id, 11);
|
||||
|
||||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff, aot, 5);
|
||||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff, ext_aot, 5);
|
||||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff, sbr_present_flag, 1);
|
||||
if (sbr_present_flag) {
|
||||
bit_cnt += iusace_write_bits_buf(pstr_it_bit_buff,
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@ IA_ERRORCODE ia_enhaacplus_enc_aac_enc_open(iexheaac_encoder_str **ppstr_exheaac
|
|||
|
||||
WORD32 tns_mask = config.use_tns;
|
||||
if (config.full_bandwidth) {
|
||||
pstr_exheaac_encoder->config.band_width = config.core_sample_rate >> 2;
|
||||
pstr_exheaac_encoder->config.band_width = config.core_sample_rate >> (aot == AOT_USAC ? 2 : 1);
|
||||
} else {
|
||||
ixheaace_determine_bandwidth(pstr_exheaac_encoder->config.band_width, config.bit_rate,
|
||||
config.core_sample_rate, pstr_element_info->n_channels_in_el,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue