Compare commits
3 commits
main
...
tables-new
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
698232d13f | ||
|
|
77756da7aa | ||
|
|
5a9fa7a2ce |
4 changed files with 161 additions and 103 deletions
|
|
@ -27,3 +27,5 @@ include("${XAAC_ROOT}/encoder/libxaacenc.cmake")
|
|||
include("${XAAC_ROOT}/test/encoder/xaacenc.cmake")
|
||||
include("${XAAC_ROOT}/fuzzer/xaac_enc_fuzzer.cmake")
|
||||
|
||||
set_property(TARGET libxaacenc PROPERTY POSITION_INDEPENDENT_CODE 1)
|
||||
set_property(TARGET libxaacdec PROPERTY POSITION_INDEPENDENT_CODE 1)
|
||||
|
|
|
|||
|
|
@ -158,31 +158,31 @@ static WORD32 ixheaace_get_start_freq(WORD32 fs, WORD32 start_freq) {
|
|||
WORD32 minimum_k0;
|
||||
|
||||
switch (fs) {
|
||||
case 16000:
|
||||
case 8000:
|
||||
minimum_k0 = 24;
|
||||
break;
|
||||
case 22050:
|
||||
case 11025:
|
||||
minimum_k0 = 17;
|
||||
break;
|
||||
case 24000:
|
||||
case 12000:
|
||||
minimum_k0 = 16;
|
||||
break;
|
||||
case 32000:
|
||||
case 16000:
|
||||
minimum_k0 = 16;
|
||||
break;
|
||||
case 44100:
|
||||
case 22050:
|
||||
minimum_k0 = 12;
|
||||
break;
|
||||
case 48000:
|
||||
case 24000:
|
||||
minimum_k0 = 11;
|
||||
break;
|
||||
case 64000:
|
||||
case 32000:
|
||||
minimum_k0 = 10;
|
||||
break;
|
||||
case 88200:
|
||||
case 44100:
|
||||
minimum_k0 = 7;
|
||||
break;
|
||||
case 96000:
|
||||
case 48000:
|
||||
minimum_k0 = 7;
|
||||
break;
|
||||
default:
|
||||
|
|
@ -190,30 +190,30 @@ static WORD32 ixheaace_get_start_freq(WORD32 fs, WORD32 start_freq) {
|
|||
}
|
||||
|
||||
switch (fs) {
|
||||
case 16000: {
|
||||
case 8000: {
|
||||
return (minimum_k0 + vector_offset_16k[start_freq]);
|
||||
} break;
|
||||
|
||||
case 22050: {
|
||||
case 11025: {
|
||||
return (minimum_k0 + vector_offset_22k[start_freq]);
|
||||
} break;
|
||||
|
||||
case 24000: {
|
||||
case 12000: {
|
||||
return (minimum_k0 + vector_offset_24k[start_freq]);
|
||||
} break;
|
||||
|
||||
case 32000: {
|
||||
case 16000: {
|
||||
return (minimum_k0 + vector_offset_32k[start_freq]);
|
||||
} break;
|
||||
|
||||
case 44100:
|
||||
case 48000:
|
||||
case 64000: {
|
||||
case 22050:
|
||||
case 24000:
|
||||
case 32000: {
|
||||
return (minimum_k0 + vector_offset_44_48_64[start_freq]);
|
||||
} break;
|
||||
|
||||
case 88200:
|
||||
case 96000: {
|
||||
case 44100:
|
||||
case 48000: {
|
||||
return (minimum_k0 + vector_offset_88_96[start_freq]);
|
||||
} break;
|
||||
|
||||
|
|
@ -230,36 +230,54 @@ static WORD32 ixheaace_get_stop_freq(WORD32 fs, WORD32 stop_freq) {
|
|||
WORD32 v_dstop[13];
|
||||
|
||||
switch (fs) {
|
||||
case 16000:
|
||||
case 8000:
|
||||
k1_min = ixheaace_stop_freq_16k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_stop_freq_16k[0];
|
||||
break;
|
||||
case 22050:
|
||||
case 11025:
|
||||
k1_min = ixheaace_stop_freq_22k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_stop_freq_22k[0];
|
||||
break;
|
||||
case 24000:
|
||||
case 12000:
|
||||
k1_min = ixheaace_stop_freq_24k[0];
|
||||
v_stop_freq = (WORD32 *)&ixheaace_stop_freq_24k[0];
|
||||
break;
|
||||
case 32000:
|
||||
case 16000:
|
||||
k1_min = 32;
|
||||
|
||||
v_stop_freq = (WORD32 *)vector_stop_freq_32;
|
||||
break;
|
||||
|
||||
case 44100:
|
||||
case 22050:
|
||||
k1_min = 23;
|
||||
|
||||
v_stop_freq = (WORD32 *)vector_stop_freq_44;
|
||||
break;
|
||||
|
||||
case 48000:
|
||||
case 24000:
|
||||
k1_min = 21;
|
||||
|
||||
v_stop_freq = (WORD32 *)vector_stop_freq_48;
|
||||
break;
|
||||
|
||||
case 32000:
|
||||
k1_min = 20;
|
||||
|
||||
v_stop_freq = (WORD32 *)vector_stop_freq_64;
|
||||
break;
|
||||
|
||||
case 44100:
|
||||
k1_min = 15;
|
||||
|
||||
v_stop_freq = (WORD32 *)vector_stop_freq_88;
|
||||
break;
|
||||
|
||||
case 48000:
|
||||
k1_min = 13;
|
||||
|
||||
v_stop_freq = (WORD32 *)vector_stop_freq_96;
|
||||
break;
|
||||
|
||||
default:
|
||||
v_stop_freq = (WORD32 *)vector_stop_freq_32;
|
||||
k1_min = 21; /* illegal fs */
|
||||
|
|
|
|||
|
|
@ -48,6 +48,9 @@ const WORD32 vector_offset_def[] = {0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 2
|
|||
const WORD32 vector_stop_freq_32[14] = {32, 34, 36, 38, 40, 42, 44, 46, 49, 52, 55, 58, 61, 64};
|
||||
const WORD32 vector_stop_freq_44[14] = {23, 25, 27, 29, 32, 34, 37, 40, 43, 47, 51, 55, 59, 64};
|
||||
const WORD32 vector_stop_freq_48[14] = {21, 23, 25, 27, 30, 32, 35, 38, 42, 45, 49, 54, 59, 64};
|
||||
const WORD32 vector_stop_freq_64[14] = {20, 22, 24, 26, 28, 31, 34, 37, 41, 45, 49, 54, 59, 64};
|
||||
const WORD32 vector_stop_freq_88[14] = {15, 17, 19, 21, 23, 26, 29, 33, 37, 41, 46, 51, 57, 64};
|
||||
const WORD32 vector_stop_freq_96[14] = {13, 15, 17, 19, 21, 24, 27, 31, 35, 39, 44, 50, 57, 64};
|
||||
|
||||
const ixheaace_str_ps_tab ia_enhaacplus_enc_ps_tab = {
|
||||
/*a_hyb_res[3]*/
|
||||
|
|
@ -741,7 +744,7 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
},
|
||||
#else
|
||||
{{{
|
||||
/*** 8000hz 1ch ***/
|
||||
/*** 8000hz 1ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -750,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 ***/
|
||||
/*** 8000hz 2ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -762,7 +765,7 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 11025hz 1ch ***/
|
||||
/*** 11025hz 1ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -770,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, 64001, {15, 15}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{48000, 66001, {15, 15}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 11025hz 2ch ***/
|
||||
/*** 11025hz 2ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -781,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, 128001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 132301, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 12000hz 1ch ***/
|
||||
/*** 12000hz 1ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -793,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, 64001, {15, 15}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{48000, 72001, {15, 15}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 12000hz 2ch ***/
|
||||
/*** 12000hz 2ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -804,11 +807,12 @@ 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, 128001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 128000, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{128000, 144001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 16000hz 1ch ***/
|
||||
/*** 16000hz 1ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -818,10 +822,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, 64001, {15, 13}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{44000, 96001, {15, 13}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 16000hz 2ch ***/
|
||||
/*** 16000hz 2ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -829,11 +833,12 @@ 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, 128001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 128000, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{128000, 192001, {15, 13}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 22050hz 1ch ***/
|
||||
/*** 22050hz 1ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -843,10 +848,11 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{36000, 44000, {11, 10}, 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},
|
||||
{68000, 96000, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{96000, 132151, {14, 14}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 22050hz 2ch ***/
|
||||
/*** 22050hz 2ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -855,11 +861,12 @@ 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, 128001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{101000, 128000, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{128000, 264601, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 24000hz 1ch ***/
|
||||
/*** 24000hz 1ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -869,10 +876,11 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{36000, 44000, {11, 10}, 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},
|
||||
{68000, 96000, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{96000, 144001, {15, 14}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 24000hz 2ch ***/
|
||||
/*** 24000hz 2ch SBR_AAC ***/
|
||||
{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},
|
||||
|
|
@ -880,47 +888,68 @@ 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, 128001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{76000, 128000, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{128000, 288001, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 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, 160001, {13, 11}, 1, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
/*** 32000hz 1ch SBR_AAC ***/
|
||||
{10000, 15000, {0, 0}, 0, {1, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{15000, 19000, {1, 5}, 0, {1, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{19000, 22000, {2, 5}, 0, {1, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{22000, 27000, {3, 6}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{27000, 30000, {4, 7}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{30000, 33000, {5, 8}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{33000, 36000, {6, 8}, 2, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{36000, 39000, {7, 8}, 2, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{39000, 42000, {8, 9}, 2, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{42000, 46000, {9, 9}, 1, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{46000, 51500, {10, 9}, 1, {3, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{51500, 58000, {11, 10}, 1, {3, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{58000, 68000, {12, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{68000, 78000, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{78000, 90000, {14, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{90000, 192001, {15, 14}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 32000hz 2ch ***/
|
||||
{32000, 60000, {4, 4}, 3, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
/*** 32000hz 2ch SBR_AAC ***/
|
||||
{16000, 28000, {0, 5}, 0, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{28000, 32000, {1, 5}, 0, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{32000, 60000, {4, 6}, 3, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{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},
|
||||
{144000, 156000, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{156000, 180000, {14, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{180000, 384001, {15, 14}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 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},
|
||||
/*** 44100hz 1ch SBR_AAC ***/
|
||||
{10000, 15000, {0, 0}, 0, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{15000, 19000, {1, 1}, 0, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{19000, 22000, {2, 2}, 0, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{22000, 27000, {3, 3}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{27000, 30000, {4, 4}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{30000, 33000, {5, 5}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{33000, 38000, {6, 6}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{38000, 46000, {7, 7}, 2, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{46000, 50000, {8, 7}, 2, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{50000, 62000, {9, 8}, 1, {3, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{62000, 79000, {10, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{79000, 94000, {11, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{94000, 110000, {12, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{110000, 150000, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{150000, 220000, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{220000, 264601, {15, 14}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 44100hz 2ch ***/
|
||||
/*** 44100hz 2ch SBR_AAC ***/
|
||||
{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},
|
||||
{16000, 22000, {0, 0}, 0, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{22000, 26000, {0, 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, {1, 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},
|
||||
|
|
@ -930,42 +959,48 @@ const ixheaace_str_qmf_tabs ixheaace_qmf_tab = {
|
|||
{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},
|
||||
{132000, 224000, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{224000, 312000, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{312000, 529201, {15, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}},
|
||||
|
||||
{{
|
||||
/*** 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},
|
||||
/*** 48000hz 1ch SBR_AAC ***/
|
||||
{10000, 15000, {0, 0}, 0, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{15000, 19000, {1, 4}, 0, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{19000, 22000, {2, 4}, 0, {1, 0, 6}, IXHEAACE_SBR_MODE_MONO},
|
||||
{22000, 27000, {3, 4}, 0, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{27000, 30000, {4, 4}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{30000, 33000, {5, 5}, 3, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{33000, 38000, {6, 6}, 2, {2, 0, 3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{38000, 46000, {7, 7}, 2, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{46000, 50000, {8, 7}, 2, {2, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{50000, 62000, {9, 8}, 1, {3, 0, 0}, IXHEAACE_SBR_MODE_MONO},
|
||||
{62000, 79000, {10, 8}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{79000, 94000, {11, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{94000, 110000, {12, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{110000, 150000, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{150000, 220000, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{220000, 288001, {15, 14}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_MONO},
|
||||
{0}},
|
||||
{
|
||||
/*** 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},
|
||||
/*** 48000hz 2ch SBR_AAC ***/
|
||||
{12000, 25500, {0, 0}, 0, {2, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{25500, 30000, {1, 1}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{30000, 34500, {2, 4}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{34500, 39000, {3, 4}, 0, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{39000, 43500, {4, 4}, 3, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{43500, 48000, {5, 5}, 3, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{48000, 56000, {6, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{56000, 66000, {7, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_SWITCH_LRC},
|
||||
{66000, 80000, {8, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{80000, 94000, {9, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{94000, 112000, {10, 6}, 2, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{112000, 144000, {11, 10}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{144000, 172000, {12, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{172000, 256000, {13, 11}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{256000, 412000, {14, 12}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{412000, 576001, {15, 14}, 1, {3, 0, -3}, IXHEAACE_SBR_MODE_LEFT_RIGHT},
|
||||
{0}}}
|
||||
|
||||
},
|
||||
|
|
|
|||
|
|
@ -181,6 +181,9 @@ extern const WORD32 vector_offset_def[];
|
|||
extern const WORD32 vector_stop_freq_32[14];
|
||||
extern const WORD32 vector_stop_freq_44[14];
|
||||
extern const WORD32 vector_stop_freq_48[14];
|
||||
extern const WORD32 vector_stop_freq_64[14];
|
||||
extern const WORD32 vector_stop_freq_88[14];
|
||||
extern const WORD32 vector_stop_freq_96[14];
|
||||
|
||||
/* Resampler tables */
|
||||
extern const ixheaace_resampler_table ixheaace_resamp_2_to_1_iir_filt_params;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue