Compare commits
1 commit
main
...
downsample
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
190c50a619 |
9 changed files with 172 additions and 75 deletions
|
|
@ -940,7 +940,6 @@ IA_ERRORCODE ixheaacd_dec_api(pVOID p_ia_xheaac_dec_obj, WORD32 i_cmd,
|
|||
} else {
|
||||
*pui_value = p_obj_exhaacplus_dec->p_state_aac->audio_object_type;
|
||||
}
|
||||
if (*pui_value == AOT_AAC_LC) *pui_value = p_obj_exhaacplus_dec->p_state_aac->init_sbr_flag ? (p_obj_exhaacplus_dec->p_state_aac->init_ps_flag ? AOT_PS : AOT_SBR) : AOT_AAC_LC;
|
||||
} else {
|
||||
*pui_value = AOT_AAC_LC;
|
||||
}
|
||||
|
|
@ -2531,8 +2530,6 @@ IA_ERRORCODE ixheaacd_dec_init(
|
|||
p_obj_exhaacplus_dec->aac_config.ui_n_channels = num_channels_1;
|
||||
p_obj_exhaacplus_dec->aac_config.ui_samp_freq = sample_rate;
|
||||
p_state_enhaacplus_dec->ui_init_done = 1;
|
||||
p_state_enhaacplus_dec->init_sbr_flag = sbr_present_flag;
|
||||
p_state_enhaacplus_dec->init_ps_flag = !p_obj_exhaacplus_dec->aac_config.ui_channel_mode;
|
||||
|
||||
memcpy(it_bit_buff, &temp_bit_buff, sizeof(struct ia_bit_buf_struct));
|
||||
|
||||
|
|
|
|||
|
|
@ -162,8 +162,6 @@ typedef struct ia_aac_dec_state_struct {
|
|||
UWORD32 ui_input_over;
|
||||
UWORD32 header_dec_done;
|
||||
WORD32 frame_counter;
|
||||
WORD32 init_sbr_flag;
|
||||
WORD32 init_ps_flag;
|
||||
ia_aac_decoder_struct *pstr_aac_dec_info[MAX_BS_ELEMENT];
|
||||
|
||||
UWORD32 ch_config;
|
||||
|
|
|
|||
|
|
@ -2473,15 +2473,20 @@ static IA_ERRORCODE ia_enhaacplus_enc_init(ixheaace_api_struct *pstr_api_struct,
|
|||
? core_ch
|
||||
: pstr_api_struct->config[ele_idx].i_channels_mode);
|
||||
|
||||
WORD32 is_single_rate = (
|
||||
pstr_api_struct->pstr_state->aot == AOT_AAC_ELD &&
|
||||
(!pstr_api_struct->pstr_state->mps_enable
|
||||
|| (pstr_api_struct->pstr_state->mps_tree_config == TREE_212 && pstr_aac_config->sample_rate < 27713)));
|
||||
|
||||
if (!(pstr_api_struct->config[ele_idx].aac_classic) &&
|
||||
ixheaace_is_sbr_setting_available(
|
||||
pstr_aac_config->bit_rate,
|
||||
(pstr_api_struct->pstr_state->mps_enable
|
||||
? 1
|
||||
: pstr_aac_config->num_out_channels),
|
||||
: pstr_api_struct->config[ele_idx].chmode_nchannels),
|
||||
pstr_aac_config->sample_rate, &core_sample_rate,
|
||||
pstr_api_struct->spectral_band_replication_tabs.ptr_qmf_tab,
|
||||
pstr_api_struct->pstr_state->aot)) {
|
||||
pstr_api_struct->pstr_state->aot, is_single_rate)) {
|
||||
ixheaace_str_sbr_cfg spectral_band_replication_config;
|
||||
ixheaace_initialize_sbr_defaults(&spectral_band_replication_config);
|
||||
|
||||
|
|
@ -2490,6 +2495,7 @@ static IA_ERRORCODE ia_enhaacplus_enc_init(ixheaace_api_struct *pstr_api_struct,
|
|||
spectral_band_replication_config.crc_sbr = 0;
|
||||
spectral_band_replication_config.parametric_coding = 1;
|
||||
spectral_band_replication_config.is_esbr = pstr_api_struct->config[0].esbr_flag;
|
||||
spectral_band_replication_config.sample_rate_mode = is_single_rate ? IXHEAACE_SINGLE_RATE : IXHEAACE_DUAL_RATE;
|
||||
if (pstr_api_struct->pstr_state->aot == AOT_AAC_ELD) {
|
||||
spectral_band_replication_config.is_ld_sbr = 1;
|
||||
spectral_band_replication_config.sbr_codec = ELD_SBR;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include "iusace_type_def.h"
|
||||
#include "ixheaac_type_def.h"
|
||||
#include "ixheaac_constants.h"
|
||||
#include "ixheaace_error_codes.h"
|
||||
|
|
@ -231,16 +233,16 @@ static WORD32 ixheaace_get_stop_freq(WORD32 fs, WORD32 stop_freq) {
|
|||
|
||||
switch (fs) {
|
||||
case 16000:
|
||||
k1_min = ixheaace_usac_stop_freq_16k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_usac_stop_freq_16k[0];
|
||||
k1_min = ixheaace_stop_freq_16k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_stop_freq_16k[0];
|
||||
break;
|
||||
case 22050:
|
||||
k1_min = ixheaace_usac_stop_freq_22k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_usac_stop_freq_22k[0];
|
||||
k1_min = ixheaace_stop_freq_22k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_stop_freq_22k[0];
|
||||
break;
|
||||
case 24000:
|
||||
k1_min = ixheaace_usac_stop_freq_24k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_usac_stop_freq_24k[0];
|
||||
k1_min = ixheaace_stop_freq_24k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_stop_freq_24k[0];
|
||||
break;
|
||||
case 32000:
|
||||
k1_min = 32;
|
||||
|
|
@ -371,6 +373,22 @@ ixheaace_get_sbr_start_freq_raw(WORD32 start_freq, WORD32 qmf_bands, WORD32 fs)
|
|||
return result;
|
||||
}
|
||||
|
||||
WORD32
|
||||
ixheaace_get_sbr_stop_freq_raw(WORD32 stop_freq, WORD32 qmf_bands, WORD32 fs) {
|
||||
WORD32 result;
|
||||
|
||||
if (stop_freq < 0 || stop_freq > 13) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
result = ixheaace_get_stop_freq(fs, stop_freq);
|
||||
|
||||
result = (result * fs / qmf_bands + 1) >> 1;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
static WORD32 ixheaace_number_of_bands(WORD32 b_p_o, WORD32 start, WORD32 stop,
|
||||
FLOAT32 warp_fac) {
|
||||
WORD32 result = 0;
|
||||
|
|
@ -416,6 +434,24 @@ static VOID ixheaace_cum_sum(WORD32 start_value, WORD32 *ptr_diff, WORD32 length
|
|||
}
|
||||
}
|
||||
|
||||
WORD32
|
||||
ixheaace_find_stop_band_downsample(const WORD32 sampling_freq, const WORD32 num_channels,
|
||||
const WORD32 start_freq, const WORD32 stop_freq,
|
||||
const ixheaace_sr_mode sample_rate_mode, WORD32 sbr_ratio_idx,
|
||||
ixheaace_sbr_codec_type sbr_codec) {
|
||||
WORD32 stop_freq_max = sampling_freq / 2;
|
||||
WORD32 k0, k2;
|
||||
IA_ERRORCODE ret;
|
||||
|
||||
while (stop_freq > 0 && (ixheaace_get_sbr_stop_freq_raw(stop_freq, num_channels, sampling_freq) > stop_freq_max)) stop_freq_max--;
|
||||
if ((ixheaace_get_sbr_stop_freq_raw(stop_freq, num_channels, sampling_freq) > stop_freq_max)) return -1;
|
||||
|
||||
ret = ixheaace_find_start_and_stop_band(sampling_freq, num_channels, start_freq, stop_freq, sample_rate_mode, &k0, &k2, sbr_ratio_idx, sbr_codec);
|
||||
if (ret != IA_NO_ERROR) return -1;
|
||||
|
||||
return k2;
|
||||
}
|
||||
|
||||
IA_ERRORCODE
|
||||
ixheaace_find_start_and_stop_band(const WORD32 sampling_freq, const WORD32 num_channels,
|
||||
const WORD32 start_freq, const WORD32 stop_freq,
|
||||
|
|
@ -440,6 +476,8 @@ ixheaace_find_start_and_stop_band(const WORD32 sampling_freq, const WORD32 num_c
|
|||
return IA_EXHEAACE_INIT_FATAL_SBR_INVALID_SAMPLERATE_MODE;
|
||||
}
|
||||
|
||||
printf("start freq: %d, stop freq: %d\n", start_freq, stop_freq);
|
||||
|
||||
if (stop_freq < 14) {
|
||||
switch (sbr_codec) {
|
||||
case USAC_SBR: {
|
||||
|
|
@ -495,14 +533,17 @@ ixheaace_find_start_and_stop_band(const WORD32 sampling_freq, const WORD32 num_c
|
|||
} else {
|
||||
if (sampling_freq <= 32000) {
|
||||
if ((*ptr_k2 - *ptr_k0) > MAXIMUM_FREQ_COEFFS_LE32KHZ) {
|
||||
printf("error: bad coefs (32000): %d\n", *ptr_k2 - *ptr_k0);
|
||||
return IA_EXHEAACE_INIT_FATAL_SBR_INVALID_FREQ_COEFFS;
|
||||
}
|
||||
} else if (sampling_freq == 44100) {
|
||||
if ((*ptr_k2 - *ptr_k0) > MAXIMUM_FREQ_COEFFS_EQ44KHZ) {
|
||||
printf("error: bad coefs (44100): %d\n", *ptr_k2 - *ptr_k0);
|
||||
return IA_EXHEAACE_INIT_FATAL_SBR_INVALID_FREQ_COEFFS;
|
||||
}
|
||||
} else if (sampling_freq >= 48000) {
|
||||
if ((*ptr_k2 - *ptr_k0) > MAXIMUM_FREQ_COEFFS_GE48KHZ) {
|
||||
printf("error: bad coefs (48000): %d\n", *ptr_k2 - *ptr_k0);
|
||||
return IA_EXHEAACE_INIT_FATAL_SBR_INVALID_FREQ_COEFFS;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -511,6 +552,7 @@ ixheaace_find_start_and_stop_band(const WORD32 sampling_freq, const WORD32 num_c
|
|||
}
|
||||
|
||||
if ((*ptr_k2 - *ptr_k0) < 0) {
|
||||
printf("error: negative coefs: %d\n", *ptr_k2 - *ptr_k0);
|
||||
return IA_EXHEAACE_INIT_FATAL_SBR_INVALID_FREQ_COEFFS;
|
||||
}
|
||||
|
||||
|
|
@ -572,6 +614,7 @@ ixheaace_update_freq_scale(UWORD8 *ptr_k_master, WORD32 *ptr_num_bands, const WO
|
|||
ixheaace_shellsort_int(diff0, num_bands0);
|
||||
|
||||
if (diff0[0] == 0) {
|
||||
printf("bad number bands at diff0\n");
|
||||
return IA_EXHEAACE_INIT_FATAL_SBR_INVALID_NUM_BANDS;
|
||||
}
|
||||
|
||||
|
|
@ -594,6 +637,7 @@ ixheaace_update_freq_scale(UWORD8 *ptr_k_master, WORD32 *ptr_num_bands, const WO
|
|||
ixheaace_shellsort_int(diff0, num_bands0);
|
||||
|
||||
if (diff0[0] == 0) {
|
||||
printf("bad number bands at diff0\n");
|
||||
return IA_EXHEAACE_INIT_FATAL_SBR_INVALID_NUM_BANDS;
|
||||
}
|
||||
|
||||
|
|
@ -643,6 +687,7 @@ ixheaace_update_freq_scale(UWORD8 *ptr_k_master, WORD32 *ptr_num_bands, const WO
|
|||
}
|
||||
|
||||
if (*ptr_num_bands < 1) {
|
||||
printf("bad number bands at ptr_num_bands\n");
|
||||
return IA_EXHEAACE_INIT_FATAL_SBR_INVALID_NUM_BANDS;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,3 +43,8 @@ ixheaace_find_start_and_stop_band(const WORD32 sampling_freq, const WORD32 num_c
|
|||
ixheaace_sbr_codec_type sbr_codec);
|
||||
|
||||
WORD32 ixheaace_get_sbr_start_freq_raw(WORD32 start_freq, WORD32 qmf_bands, WORD32 fs);
|
||||
WORD32 ixheaace_get_sbr_stop_freq_raw(WORD32 stop_freq, WORD32 qmf_bands, WORD32 fs);
|
||||
WORD32 ixheaace_find_stop_band_downsample(const WORD32 sampling_freq, const WORD32 num_channels,
|
||||
const WORD32 start_freq, const WORD32 stop_freq,
|
||||
const ixheaace_sr_mode sample_rate_mode, WORD32 sbr_ratio_idx,
|
||||
ixheaace_sbr_codec_type sbr_codec);
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
* Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "ixheaac_type_def.h"
|
||||
|
|
@ -380,7 +381,7 @@ static IA_ERRORCODE ixheaace_create_env_channel(
|
|||
UWORD32
|
||||
ixheaace_is_sbr_setting_available(UWORD32 bitrate, UWORD32 num_output_channels,
|
||||
UWORD32 sample_rate_input, UWORD32 *ptr_core_sr,
|
||||
ixheaace_str_qmf_tabs *pstr_qmf_tab, WORD32 aot) {
|
||||
ixheaace_str_qmf_tabs *pstr_qmf_tab, WORD32 aot, WORD32 single_rate) {
|
||||
FLAG table_found = IXHEAACE_TABLE_IDX_NOT_FOUND;
|
||||
WORD32 idx_sr;
|
||||
WORD32 idx_ch;
|
||||
|
|
@ -399,7 +400,7 @@ ixheaace_is_sbr_setting_available(UWORD32 bitrate, UWORD32 num_output_channels,
|
|||
}
|
||||
#endif
|
||||
|
||||
*ptr_core_sr = sample_rate_input / 2;
|
||||
*ptr_core_sr = single_rate ? sample_rate_input : (sample_rate_input / 2);
|
||||
|
||||
table_found = ia_enhaacplus_enc_get_sbr_tuning_table_idx(
|
||||
bitrate, num_output_channels, *ptr_core_sr, pstr_qmf_tab, NULL, &idx_sr, &idx_ch,
|
||||
|
|
@ -407,6 +408,8 @@ ixheaace_is_sbr_setting_available(UWORD32 bitrate, UWORD32 num_output_channels,
|
|||
((AOT_AAC_ELD == aot) ? pstr_qmf_tab->sbr_tuning_table_ld
|
||||
: pstr_qmf_tab->sbr_tuning_table_lc));
|
||||
|
||||
printf("core_sr: %d, sr_input: %d\n", *ptr_core_sr, sample_rate_input);
|
||||
|
||||
return (table_found == IXHEAACE_TABLE_IDX_NOT_FOUND) ? 0 : 1;
|
||||
}
|
||||
|
||||
|
|
@ -490,6 +493,10 @@ VOID ixheaace_adjust_sbr_settings(const ixheaace_pstr_sbr_cfg pstr_config, UWORD
|
|||
pstr_qmf_tab->sbr_tuning_table_ld[idx_sr][idx_ch][idx_entry].stereo_mode;
|
||||
pstr_config->freq_scale =
|
||||
pstr_qmf_tab->sbr_tuning_table_ld[idx_sr][idx_ch][idx_entry].freq_scale;
|
||||
|
||||
if (pstr_config->sample_rate_mode == IXHEAACE_SINGLE_RATE) {
|
||||
WORD32 stopFreq;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
|
|
@ -597,6 +604,7 @@ VOID ixheaace_initialize_sbr_defaults(ixheaace_pstr_sbr_cfg pstr_config) {
|
|||
pstr_config->sbr_harmonic = 0;
|
||||
pstr_config->sbr_ratio_idx = 0; // NO_SBR
|
||||
pstr_config->use_low_freq_res = 0;
|
||||
pstr_config->sample_rate_mode = IXHEAACE_DUAL_RATE;
|
||||
}
|
||||
|
||||
static IA_ERRORCODE ia_enhaacplus_enc_update_freq_band_tab(
|
||||
|
|
@ -967,7 +975,7 @@ ixheaace_env_open(ixheaace_pstr_sbr_enc *pstr_env_encoder, ixheaace_pstr_sbr_cfg
|
|||
pstr_env_enc->str_sbr_cfg.stereo_mode =
|
||||
(params->codec_settings.num_channels == 2) ? params->stereo_mode : IXHEAACE_SBR_MODE_MONO;
|
||||
|
||||
if (1) {
|
||||
if (params->sample_rate_mode == IXHEAACE_DUAL_RATE) {
|
||||
pstr_env_enc->str_sbr_hdr.sample_rate_mode = IXHEAACE_DUAL_RATE;
|
||||
if (params->sbr_codec == USAC_SBR) {
|
||||
pstr_env_enc->str_sbr_cfg.sample_freq = 2 * params->codec_settings.sample_freq;
|
||||
|
|
@ -982,6 +990,7 @@ ixheaace_env_open(ixheaace_pstr_sbr_enc *pstr_env_encoder, ixheaace_pstr_sbr_cfg
|
|||
pstr_env_enc->str_sbr_hdr.sample_rate_mode = IXHEAACE_SINGLE_RATE;
|
||||
pstr_env_enc->str_sbr_cfg.sample_freq = params->codec_settings.sample_freq;
|
||||
}
|
||||
printf("sample rate mode: %d, sample freq: %d\n", pstr_env_enc->str_sbr_hdr.sample_rate_mode, pstr_env_enc->str_sbr_cfg.sample_freq);
|
||||
if (params->is_ld_sbr) {
|
||||
pstr_env_enc->str_sbr_bs.count_send_header_data = -1;
|
||||
} else {
|
||||
|
|
@ -1043,7 +1052,7 @@ ixheaace_env_open(ixheaace_pstr_sbr_enc *pstr_env_encoder, ixheaace_pstr_sbr_cfg
|
|||
pstr_env_enc->str_sbr_cfg.use_parametric_coding = params->parametric_coding;
|
||||
|
||||
err_code = ia_enhaacplus_enc_update_freq_band_tab(
|
||||
&pstr_env_enc->str_sbr_cfg, &pstr_env_enc->str_sbr_hdr, IXHEAACE_QMF_CHANNELS);
|
||||
&pstr_env_enc->str_sbr_cfg, &pstr_env_enc->str_sbr_hdr, IXHEAACE_QMF_CHANNELS / (pstr_env_enc->str_sbr_hdr.sample_rate_mode == IXHEAACE_SINGLE_RATE ? 2 : 1));
|
||||
if (err_code) {
|
||||
return err_code;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ typedef struct ixheaace_str_sbr_cfg {
|
|||
WORD32 hq_esbr;
|
||||
ixheaace_sbr_codec_type sbr_codec;
|
||||
WORD32 use_low_freq_res;
|
||||
ixheaace_sr_mode sample_rate_mode;
|
||||
} ixheaace_str_sbr_cfg, *ixheaace_pstr_sbr_cfg;
|
||||
|
||||
typedef struct ixheaace_str_sbr_enc *ixheaace_pstr_sbr_enc;
|
||||
|
|
@ -92,7 +93,7 @@ typedef struct ixheaace_str_sbr_enc *ixheaace_pstr_sbr_enc;
|
|||
UWORD32
|
||||
ixheaace_is_sbr_setting_available(UWORD32 bitrate, UWORD32 num_output_channels,
|
||||
UWORD32 sample_rate_input, UWORD32 *sample_rate_core,
|
||||
ixheaace_str_qmf_tabs *ptr_qmf_tab, WORD32 aot);
|
||||
ixheaace_str_qmf_tabs *ptr_qmf_tab, WORD32 aot, WORD32 single_rate);
|
||||
|
||||
UWORD32 ixheaace_sbr_limit_bitrate(UWORD32 bit_rate, UWORD32 num_channels,
|
||||
UWORD32 core_sample_rate, ixheaace_str_qmf_tabs *ptr_qmf_tab,
|
||||
|
|
|
|||
|
|
@ -136,10 +136,8 @@ static VOID ia_enhaacplus_enc_qmf_based_noise_floor_detection(
|
|||
mean_org += ton_org;
|
||||
mean_sbr += ton_sbr;
|
||||
}
|
||||
if ((stop_channel - start_channel) > 0) {
|
||||
mean_org /= (stop_channel - start_channel);
|
||||
mean_sbr /= (stop_channel - start_channel);
|
||||
}
|
||||
mean_org /= (stop_channel - start_channel);
|
||||
mean_sbr /= (stop_channel - start_channel);
|
||||
}
|
||||
|
||||
if (mean_org < SBR_TON_MEAN_P0009 && mean_sbr < SBR_TON_MEAN_P0009) {
|
||||
|
|
|
|||
|
|
@ -744,7 +744,7 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
},
|
||||
#else
|
||||
{{{
|
||||
/*** 8000hz 1ch SBR_AAC ***/
|
||||
/*** 8000hz 1ch ***/
|
||||
{8000, 10000, {7, 11}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{10000, 12000, {11, 13}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{12000, 16000, {14, 13}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
|
|
@ -753,7 +753,7 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{32000, 48001, {14, 15}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 8000hz 2ch SBR_AAC ***/
|
||||
/*** 8000hz 2ch ***/
|
||||
{16000, 24000, {6, 9}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{24000, 28000, {9, 11}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{28000, 36000, {11, 11}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
|
|
@ -765,7 +765,7 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 11025hz 1ch SBR_AAC ***/
|
||||
/*** 11025hz 1ch ***/
|
||||
{8000, 10000, {5, 6}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{10000, 12000, {8, 12}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{12000, 16000, {12, 13}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
|
|
@ -773,10 +773,10 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{20000, 24000, {13, 13}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{24000, 32000, {14, 14}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{32000, 48000, {15, 15}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{48000, 66001, {15, 15}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{48000, 64001, {15, 15}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 11025hz 2ch SBR_AAC ***/
|
||||
/*** 11025hz 2ch ***/
|
||||
{16000, 24000, {7, 9}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{24000, 28000, {10, 10}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{28000, 36000, {12, 12}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
|
|
@ -784,11 +784,11 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{44000, 52000, {14, 13}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{52000, 60000, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{60000, 76000, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 132301, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 128001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 12000hz 1ch SBR_AAC ***/
|
||||
/*** 12000hz 1ch ***/
|
||||
{8000, 10000, {4, 6}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{10000, 12000, {7, 11}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{12000, 16000, {11, 12}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
|
|
@ -796,10 +796,10 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{20000, 24000, {12, 12}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{24000, 32000, {13, 13}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{32000, 48000, {14, 14}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{48000, 72001, {15, 15}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{48000, 64001, {15, 15}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 12000hz 2ch SBR_AAC ***/
|
||||
/*** 12000hz 2ch ***/
|
||||
{16000, 24000, {6, 9}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{24000, 28000, {9, 10}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{28000, 36000, {11, 12}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
|
|
@ -807,11 +807,11 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{44000, 52000, {13, 13}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{52000, 60000, {14, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{60000, 76000, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 144001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 128001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 16000hz 1ch SBR_AAC ***/
|
||||
/*** 16000hz 1ch ***/
|
||||
{6000, 8000, {0, 0}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{8000, 10000, {1, 0}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{10000, 12000, {2, 6}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
|
|
@ -821,10 +821,10 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{22000, 28000, {10, 12}, 2, {2, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{28000, 36000, {12, 13}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 44000, {14, 13}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{44000, 96001, {15, 13}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{44000, 64001, {15, 13}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 16000hz 2ch SBR_AAC ***/
|
||||
/*** 16000hz 2ch ***/
|
||||
{16000, 24000, {4, 1}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{24000, 28000, {8, 10}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{28000, 36000, {10, 12}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
|
|
@ -832,11 +832,11 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{44000, 52000, {15, 13}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{52000, 60000, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{60000, 76000, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 192001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 128001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 22050hz 1ch SBR_AAC ***/
|
||||
/*** 22050hz 1ch ***/
|
||||
{8000, 11369, {1, 1}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{11369, 16000, {3, 4}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{16000, 18000, {3, 5}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
|
|
@ -844,10 +844,12 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{22000, 28000, {7, 8}, 2, {2, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{28000, 36000, {10, 9}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 44000, {11, 10}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{44000, 132151, {13, 12}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{44000, 52000, {13, 11}, 1, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{52000, 68000, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{68000, 96001, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 22050hz 2ch SBR_AAC ***/
|
||||
/*** 22050hz 2ch ***/
|
||||
{16000, 24000, {2, 1}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{24000, 28000, {5, 6}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{28000, 32000, {5, 8}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
|
|
@ -856,11 +858,11 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{44000, 52000, {12, 9}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{52000, 60000, {13, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{60000, 101000, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{101000, 264601, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{101000, 128001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 24000hz 1ch SBR_AAC ***/
|
||||
/*** 24000hz 1ch ***/
|
||||
{8000, 12000, {1, 1}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{12000, 16000, {3, 4}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{16000, 18000, {3, 5}, 3, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
|
|
@ -868,10 +870,12 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{22000, 28000, {7, 8}, 2, {2, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{28000, 36000, {10, 9}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 44000, {11, 10}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{44000, 144001, {13, 11}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{44000, 52000, {13, 11}, 1, {3, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{52000, 68000, {15, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{68000, 96001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 24000hz 2ch SBR_AAC ***/
|
||||
/*** 24000hz 2ch ***/
|
||||
{16000, 24000, {2, 1}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{24000, 28000, {5, 6}, 3, {1, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{28000, 36000, {7, 8}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
|
|
@ -879,58 +883,92 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{44000, 52000, {12, 9}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{52000, 60000, {13, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{60000, 76000, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 288001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 128001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 32000hz 1ch SBR_AAC ***/
|
||||
/*** 32000hz 1ch ***/
|
||||
{24000, 36000, {4, 4}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 60000, {7, 6}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{60000, 72000, {9, 8}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{72000, 100000, {11, 10}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{100000, 192001, {13, 11}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{100000, 160001, {13, 11}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 32000hz 2ch SBR_AAC ***/
|
||||
/*** 32000hz 2ch ***/
|
||||
{32000, 60000, {4, 4}, 3, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{60000, 80000, {7, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{80000, 112000, {9, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{112000, 144000, {11, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{144000, 384001, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{60000, 80000, {11, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{80000, 112000, {12, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{112000, 144000, {13, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{144000, 256001, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 44100hz 1ch SBR_AAC ***/
|
||||
{24000, 36000, {4, 4}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 60000, {7, 6}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{60000, 72000, {9, 8}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{72000, 100000, {11, 10}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{100000, 264601, {13, 11}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
/*** 44100hz 1ch ***/
|
||||
{12000, 16000, {0, 0}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{16000, 22000, {1, 1}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{22000, 30000, {2, 3}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{30000, 36000, {4, 4}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 40000, {5, 4}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{40000, 48000, {6, 5}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{48000, 60000, {7, 6}, 1, {3, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{60000, 72000, {9, 6}, 1, {3, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{72000, 88000, {10, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{88000, 160001, {12, 9}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{160001, 288001, {13, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 44100hz 2ch SBR_AAC ***/
|
||||
{32000, 60000, {4, 4}, 3, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{60000, 80000, {7, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{80000, 112000, {9, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{112000, 144000, {11, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{144000, 529201, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
/*** 44100hz 2ch ***/
|
||||
{12000, 16000, {0, 0}, 0, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{16000, 22000, {1, 0}, 0, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{22000, 26000, {2, 1}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{26000, 30000, {3, 3}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{30000, 34000, {3, 3}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{34000, 38000, {4, 4}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{38000, 44000, {5, 4}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{44000, 52000, {6, 4}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{52000, 60000, {8, 5}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{60000, 68000, {9, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{68000, 76000, {10, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 90000, {11, 7}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{90000, 112000, {11, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{112000, 132000, {12, 9}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{132000, 180000, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{180000, 288001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 48000hz 1ch SBR_AAC ***/
|
||||
{24000, 36000, {4, 9}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 60000, {7, 10}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{60000, 72000, {9, 10}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{72000, 100000, {11, 11}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{100000, 288001, {13, 11}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
/*** 48000hz 1ch ***/
|
||||
{12000, 16000, {0, 0}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{16000, 22000, {1, 1}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{22000, 30000, {2, 3}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{30000, 36000, {4, 4}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 40000, {5, 4}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{40000, 48000, {6, 5}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{48000, 60000, {7, 6}, 1, {3, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{60000, 72000, {9, 6}, 1, {3, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{72000, 88000, {10, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{88000, 160001, {12, 9}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{160001, 288001, {13, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 48000hz 2ch SBR_AAC ***/
|
||||
{32000, 60000, {4, 9}, 3, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{60000, 80000, {7, 10}, 2, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{80000, 112000, {9, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{112000, 144000, {11, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{144000, 576001, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
/*** 48000hz 2ch ***/
|
||||
{12000, 16000, {0, 0}, 0, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{16000, 22000, {0, 0}, 0, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{22000, 26000, {1, 1}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{26000, 30000, {2, 3}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{30000, 34000, {3, 3}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{34000, 38000, {4, 4}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{38000, 44000, {2, 4}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{44000, 52000, {6, 4}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{52000, 60000, {8, 5}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{60000, 68000, {9, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{68000, 76000, {10, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 90000, {11, 7}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{90000, 112000, {11, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{112000, 132000, {12, 9}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{132000, 180000, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{180000, 288001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}}
|
||||
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue