diff --git a/apps/decoder.c b/apps/decoder.c index 401a26761ce7244356038ff81f2ba9abd4994989..d38c4d8d0273c1c191f8d7cb15e42f1d85cb5766 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -735,6 +735,7 @@ cleanup: destroy_td_hrtf( hHrtfBinary.hHrtfTD ); destroy_hrtf_statistics( hHrtfBinary.hHrtfStatistics ); } +#ifndef FIX_BASOP_2059_REVERB_MEMORY #ifdef FIX_1990_SANITIZER_IN_REVERB_LOAD // TODO: /* This free differs from float version. @@ -742,6 +743,7 @@ cleanup: IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics = NULL; IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics ); destroy_hrtf_statistics( hHrtfStatistics ); +#endif #endif IVAS_DEC_Close( &hIvasDec ); CustomLsReader_close( &hLsCustomReader ); diff --git a/lib_com/options.h b/lib_com/options.h index ee8c6be3a9aa0af714ecc976f86e5934592bbd16..63656e72ee9a677063ab1aace8ac5c74b99b353f 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -86,6 +86,7 @@ #define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */ #define NONBE_1122_KEEP_EVS_MODE_UNCHANGED /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR. */ #define FIX_1435_MOVE_STEREO_PANNING /* VA: issue 1435: do the EVS stereo panning in the renderer */ +#define FIX_BASOP_2059_REVERB_MEMORY /* Philips: Fix for reverb memory non-optimality */ #define FIX_2252_SCALING_SAVE_HB_SYNTH /* VA: issue 2252: fix use-of-uninit-value in save_hb_synth_fx[] scaling in FOA decoding with bitstream that starts with an SID */ #define FIX_2248_EVS_ASSERT /* VA: Include _sat in an EVS related part of the code */ #define FIX_2254_IMPROV_COMPLEXITY_BE /* VA: BE small complexity reduction */ diff --git a/lib_rend/ivas_hrtf_fx.c b/lib_rend/ivas_hrtf_fx.c index dee0fe052a902bb55841b54c10646c6ff79fcce7..136949e3644817b7af9ad2b789d42ab219375918 100644 --- a/lib_rend/ivas_hrtf_fx.c +++ b/lib_rend/ivas_hrtf_fx.c @@ -343,6 +343,27 @@ ivas_error ivas_HRTF_statistics_init_fx( HrtfStatistics->average_energy_r = NULL; HrtfStatistics->inter_aural_coherence = NULL; +#ifdef FIX_BASOP_2059_REVERB_MEMORY + SWITCH( sampleRate ) + { + case 48000: + HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_48kHz_fx; + HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_48kHz_fx; + HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_48kHz_fx; + BREAK; + case 32000: + HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_32kHz_fx; + HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_32kHz_fx; + HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_32kHz_fx; + BREAK; + case 16000: + HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_16kHz_fx; + HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_16kHz_fx; + HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_16kHz_fx; + BREAK; + } +#else + SWITCH( sampleRate ) { case 48000: @@ -418,6 +439,7 @@ ivas_error ivas_HRTF_statistics_init_fx( HrtfStatistics->fromROM = TRUE; #ifdef FIX_1990_SANITIZER_IN_REVERB_LOAD HrtfStatistics->fromROM = FALSE; // TODO: temporary hack until HRTF statistics ROM tables are converted from Word16 to Word32 +#endif #endif *hHrtfStatistics = HrtfStatistics; diff --git a/lib_rend/ivas_rom_binaural_crend_head.h b/lib_rend/ivas_rom_binaural_crend_head.h index ae97fc0feddcb92e1aca13577804a22338f56bea..114ab09054fc3a19ad0b8c29aaa80d9517d3611e 100644 --- a/lib_rend/ivas_rom_binaural_crend_head.h +++ b/lib_rend/ivas_rom_binaural_crend_head.h @@ -327,6 +327,26 @@ extern const Word16 CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CH /********************** default HRIR reverb rom tables **********************/ +#ifdef FIX_BASOP_2059_REVERB_MEMORY +/* Sample Rate = 48000 */ + +extern const Word32 defaultHRIR_coherence_48kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const Word32 defaultHRIR_left_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const Word32 defaultHRIR_right_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC]; + +/* Sample Rate = 32000 */ + +extern const Word32 defaultHRIR_coherence_32kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const Word32 defaultHRIR_left_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const Word32 defaultHRIR_right_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC]; + +/* Sample Rate = 16000 */ + +extern const Word32 defaultHRIR_coherence_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern const Word32 defaultHRIR_left_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern const Word32 defaultHRIR_right_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; + +#else /* Sample Rate = 48000 */ extern const Word16 defaultHRIR_Q_48kHz_fx; @@ -348,4 +368,5 @@ extern const Word16 defaultHRIR_coherence_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; extern const Word16 defaultHRIR_left_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; extern const Word16 defaultHRIR_right_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; +#endif #endif /* _IVAS_ROM_BINAURAL_CREND_HEAD_ */ diff --git a/lib_rend/ivas_rom_binaural_crend_head_fx.c b/lib_rend/ivas_rom_binaural_crend_head_fx.c index 9be532b7961d4f3976de3633f36a96c16c48af75..ff770dc6f77f61539e154a32e5591d3a0cbd366e 100644 --- a/lib_rend/ivas_rom_binaural_crend_head_fx.c +++ b/lib_rend/ivas_rom_binaural_crend_head_fx.c @@ -7202,6 +7202,278 @@ const Word16 CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS] /* Sample Rate = 48000 */ +#ifdef FIX_BASOP_2059_REVERB_MEMORY +const Word32 defaultHRIR_left_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC] = { + 263340032, 261283840, 257286144, 255180800, 255827968, 256581632, 255188992, 253018112, + 253353984, 257163264, 261718016, 263626752, 262332416, 259907584, 258154496, 256991232, + 255672320, 254418944, 253779968, 253329408, 251953152, 249634816, 247750656, 247283712, + 247537664, 247209984, 246194176, 245456896, 245366784, 245268480, 244711424, 244301824, + 244776960, 245833728, 246497280, 246382592, 246030336, 245997568, 246128640, 245956608, + 245350400, 244637696, 244129792, 243777536, 243286016, 242524160, 241721344, 241164288, + 240803840, 240279552, 239411200, 238469120, 237797376, 237338624, 236666880, 235667456, + 234725376, 234201088, 233930752, 233521152, 232947712, 232603648, 232734720, 233078784, + 233267200, 233316352, 233644032, 234471424, 235520000, 236453888, 237371392, 238665728, + 240484352, 242475008, 244244480, 245874688, 247709696, 249749504, 251551744, 252780544, + 253591552, 254410752, 255270912, 255737856, 255524864, 254853120, 254164992, 253460480, + 252346368, 250650624, 248733696, 247013376, 245391360, 243441664, 241033216, 238567424, + 236404736, 234373120, 232079360, 229515264, 227123200, 225222656, 223682560, 222191616, + 220831744, 220020736, 219996160, 220520448, 221184000, 221970432, 223166464, 224862208, + 226672640, 228171776, 229408768, 230768640, 232349696, 233775104, 234708992, 235323392, + 236011520, 236797952, 237281280, 237182976, 236732416, 236306432, 235913216, 235200512, + 233996288, 232587264, 231383040, 230383616, 229236736, 227778560, 226320384, 225222656, + 224370688, 223338496, 221986816, 220676096, 219693056, 218865664, 217784320, 216424448, + 215195648, 214351872, 213704704, 212942848, 212123648, 211599360, 211574784, 211820544, + 212000768, 212140032, 212549632, 213377024, 214335488, 215023616, 215474176, 216080384, + 216965120, 217743360, 218054656, 218103808, 218333184, 218783744, 219037696, 218865664, + 218570752, 218546176, 218718208, 218710016, 218423296, 218120192, 218120192, 218357760, + 218521600, 218439680, 218341376, 218595328, 219152384, 219570176, 219627520, 219725824, + 220332032, 221208576, 221732864, 221863936, 222298112, 223346688, 224378880, 224813056, + 225107968, 226033664, 227385344, 228237312, 228491264, 228974592, 229916672, 230178816, + 228761600, 226140160, 223166464, 219242496, 212877312, 203964416, 194134016, 184369152, + 173441024, 159899648, 144752640, 130686976, 118456320, 105136128, 87048192, 63979520, + 40067072, 20602880, 8331264, 2465792, 466944, 40960, 0, 8192, + 8192, 8192, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; + +const Word32 defaultHRIR_right_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC] = { + 263340032, 261283840, 257294336, 255180800, 255827968, 256581632, 255188992, 253018112, + 253353984, 257163264, 261718016, 263626752, 262332416, 259907584, 258154496, 256991232, + 255672320, 254418944, 253779968, 253321216, 251953152, 249634816, 247750656, 247283712, + 247537664, 247209984, 246194176, 245456896, 245366784, 245268480, 244711424, 244301824, + 244776960, 245833728, 246497280, 246382592, 246030336, 245997568, 246136832, 245956608, + 245350400, 244637696, 244129792, 243777536, 243286016, 242524160, 241721344, 241164288, + 240803840, 240279552, 239411200, 238469120, 237797376, 237338624, 236666880, 235667456, + 234725376, 234192896, 233930752, 233521152, 232947712, 232603648, 232726528, 233078784, + 233267200, 233316352, 233644032, 234471424, 235520000, 236453888, 237371392, 238665728, + 240484352, 242475008, 244244480, 245874688, 247709696, 249749504, 251551744, 252772352, + 253591552, 254410752, 255270912, 255737856, 255524864, 254853120, 254164992, 253460480, + 252346368, 250650624, 248733696, 247013376, 245391360, 243441664, 241033216, 238567424, + 236404736, 234373120, 232079360, 229515264, 227123200, 225222656, 223674368, 222191616, + 220831744, 220020736, 219996160, 220520448, 221184000, 221970432, 223166464, 224862208, + 226672640, 228171776, 229408768, 230768640, 232349696, 233775104, 234708992, 235323392, + 236011520, 236797952, 237281280, 237182976, 236732416, 236306432, 235913216, 235200512, + 233996288, 232587264, 231383040, 230383616, 229236736, 227778560, 226320384, 225222656, + 224370688, 223338496, 221986816, 220676096, 219693056, 218865664, 217784320, 216424448, + 215195648, 214351872, 213704704, 212942848, 212123648, 211599360, 211574784, 211820544, + 212000768, 212140032, 212549632, 213377024, 214335488, 215023616, 215474176, 216080384, + 216965120, 217743360, 218054656, 218103808, 218333184, 218783744, 219037696, 218865664, + 218570752, 218546176, 218718208, 218710016, 218423296, 218120192, 218120192, 218357760, + 218521600, 218439680, 218341376, 218595328, 219152384, 219570176, 219627520, 219725824, + 220332032, 221208576, 221732864, 221863936, 222298112, 223346688, 224378880, 224813056, + 225107968, 226033664, 227385344, 228237312, 228491264, 228974592, 229916672, 230178816, + 228761600, 226140160, 223166464, 219250688, 212877312, 203964416, 194142208, 184369152, + 173441024, 159899648, 144752640, 130686976, 118456320, 105136128, 87048192, 63979520, + 40067072, 20602880, 8331264, 2465792, 466944, 40960, 0, 8192, + 8192, 8192, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; + +const Word32 defaultHRIR_coherence_48kHz_fx[LR_IAC_LENGTH_NR_FC] = { + 66914304, 63578112, 53635072, 38602752, 22484992, 9283584, 532480, 0, + 0, 0, 567296, 2523136, 2985984, 2828288, 2809856, 2674688, + 1972224, 1067008, 692224, 944128, 1343488, 1644544, 1966080, 2248704, + 2242560, 1988608, 1828864, 1847296, 1724416, 1312768, 937984, 919552, + 1110016, 1132544, 888832, 569344, 327680, 169984, 67584, 12288, + 0, 0, 0, 53248, 266240, 475136, 645120, 782336, + 851968, 790528, 616448, 413696, 237568, 86016, 0, 0, + 0, 0, 0, 59392, 143360, 208896, 241664, 256000, + 251904, 212992, 141312, 55296, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 67584, 122880, + 161792, 167936, 143360, 102400, 61440, 20480, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 14336, 57344, 88064, 104448, 104448, 90112, 65536, + 34816, 2048, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18432, 40960, 63488, 86016, + 108544, 129024, 147456, 163840, 180224, 198656, 212992, 225280, + 239616, 253952, 262144, 266240, 268288, 264192, 253952, 235520, + 212992, 186368, 157696, 120832, 83968, 47104, 10240, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 237568, 0, + 0, 0, 372736, 0, 0, 0, 585728, 0, + 0, 67584, 778240, 155648, 0, 0, 804864, 374784, + 0, 0, 585728, 395264, 0, 0, 356352, 266240, + 0, 0, 229376, 137216, 0, 0, 143360, 16384, + 0 }; + +const Word32 defaultHRIR_left_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC] = { + 276627456, 275644416, 273252352, 270663680, 269139968, 269156352, 270286848, 271466496, + 271695872, 270729216, 269189120, 268222464, 268730368, 270909440, 274038784, 276938752, + 278609920, 278691840, 277528576, 275922944, 274546688, 273629184, 272973824, 272285696, + 271384576, 270401536, 269615104, 269107200, 268681216, 267993088, 266764288, 265027584, + 263241728, 261898240, 261292032, 261275648, 261373952, 261177344, 260538368, 259686400, + 258949120, 258555904, 258424832, 258310144, 257966080, 257425408, 256966656, 256868352, + 257228800, 257900544, 258555904, 258883584, 258818048, 258523136, 258244608, 258097152, + 258097152, 258097152, 257916928, 257507328, 256917504, 256278528, 255705088, 255246336, + 254853120, 254427136, 253886464, 253198336, 252411904, 251641856, 250970112, 250413056, + 249888768, 249282560, 248512512, 247595008, 246628352, 245760000, 245022720, 244383744, + 243712000, 242876416, 241876992, 240828416, 239910912, 239173632, 238616576, 238108672, + 237535232, 236847104, 236109824, 235503616, 235110400, 234930176, 234831872, 234700800, + 234455040, 234143744, 233914368, 233865216, 234061824, 234422272, 234815488, 235159552, + 235454464, 235814912, 236355584, 237158400, 238157824, 239239168, 240271360, 241156096, + 241991680, 242876416, 243875840, 244973568, 246038528, 246923264, 247513088, 247873536, + 248119296, 248381440, 248692736, 248971264, 249069568, 248872960, 248365056, 247644160, + 246890496, 246169600, 245448704, 244596736, 243515392, 242155520, 240648192, 239140864, + 237731840, 236437504, 235126784, 233684992, 232013824, 230211584, 228392960, 226689024, + 225148928, 223657984, 222117888, 220430336, 218611712, 216809472, 215138304, 213696512, + 212451328, 211304448, 210157568, 209027072, 207978496, 207175680, 206716928, 206569472, + 206651392, 206815232, 206995456, 207224832, 207568896, 208125952, 208896000, 209780736, + 210632704, 211337216, 211877888, 212353024, 212877312, 213532672, 214237184, 214876160, + 215318528, 215547904, 215646208, 215711744, 215875584, 216072192, 216236032, 216203264, + 215924736, 215449600, 214876160, 214319104, 213794816, 213237760, 212582400, 211730432, + 210747392, 209715200, 208781312, 207994880, 207339520, 206667776, 205897728, 204980224, + 203997184, 203079680, 202293248, 201637888, 201031680, 200310784, 199442432, 198459392, + 197459968, 196575232, 195837952, 195149824, 194412544, 193527808, 192495616, 191430656, + 190464000, 189661184, 188973056, 188317696, 187580416, 186744832, 185909248, 185188352, + 184647680, 184303616, 184057856, 183795712, 183468032, 183091200, 182779904, 182616064, + 182599680, 182665216, 182730752, 182665216, 182501376, 182288384, 182108160, 182026240, + 182009856, 181977088, 181813248, 181518336, 181141504, 180781056, 180518912, 180371456, + 180240384, 180043776, 179765248, 179437568, 179159040, 179011584, 179011584, 179077120, + 179109888 +}; + +const Word32 defaultHRIR_right_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC] = { + 276627456, 275644416, 273252352, 270663680, 269139968, 269156352, 270286848, 271466496, + 271695872, 270729216, 269189120, 268222464, 268730368, 270893056, 274038784, 276938752, + 278609920, 278691840, 277528576, 275922944, 274546688, 273629184, 272973824, 272285696, + 271384576, 270401536, 269615104, 269107200, 268697600, 267993088, 266764288, 265027584, + 263241728, 261898240, 261292032, 261275648, 261373952, 261177344, 260538368, 259686400, + 258949120, 258555904, 258424832, 258293760, 257966080, 257425408, 256966656, 256868352, + 257228800, 257900544, 258555904, 258883584, 258818048, 258523136, 258228224, 258097152, + 258097152, 258097152, 257916928, 257507328, 256917504, 256278528, 255705088, 255246336, + 254853120, 254427136, 253886464, 253198336, 252411904, 251641856, 250970112, 250413056, + 249888768, 249282560, 248512512, 247595008, 246628352, 245760000, 245022720, 244383744, + 243712000, 242876416, 241876992, 240828416, 239910912, 239173632, 238616576, 238108672, + 237535232, 236830720, 236109824, 235503616, 235110400, 234930176, 234831872, 234700800, + 234455040, 234143744, 233914368, 233865216, 234061824, 234422272, 234815488, 235159552, + 235454464, 235814912, 236355584, 237158400, 238157824, 239239168, 240271360, 241156096, + 241991680, 242876416, 243875840, 244973568, 246038528, 246923264, 247513088, 247873536, + 248119296, 248381440, 248692736, 248971264, 249069568, 248872960, 248348672, 247644160, + 246890496, 246169600, 245448704, 244596736, 243515392, 242171904, 240648192, 239140864, + 237731840, 236437504, 235126784, 233684992, 232013824, 230211584, 228392960, 226689024, + 225148928, 223657984, 222117888, 220430336, 218611712, 216809472, 215138304, 213696512, + 212451328, 211304448, 210157568, 209027072, 207978496, 207175680, 206716928, 206569472, + 206651392, 206815232, 206995456, 207208448, 207568896, 208125952, 208896000, 209780736, + 210632704, 211337216, 211877888, 212353024, 212877312, 213532672, 214237184, 214876160, + 215318528, 215547904, 215646208, 215711744, 215875584, 216072192, 216236032, 216203264, + 215924736, 215449600, 214876160, 214319104, 213794816, 213237760, 212582400, 211730432, + 210747392, 209715200, 208781312, 207994880, 207339520, 206667776, 205897728, 204980224, + 203997184, 203079680, 202293248, 201637888, 201031680, 200310784, 199442432, 198459392, + 197459968, 196575232, 195837952, 195149824, 194412544, 193527808, 192495616, 191430656, + 190464000, 189661184, 188973056, 188317696, 187580416, 186744832, 185909248, 185188352, + 184647680, 184303616, 184057856, 183795712, 183468032, 183091200, 182779904, 182616064, + 182599680, 182665216, 182730752, 182665216, 182501376, 182288384, 182108160, 182026240, + 182009856, 181977088, 181813248, 181518336, 181141504, 180781056, 180535296, 180371456, + 180240384, 180043776, 179765248, 179437568, 179159040, 179011584, 179011584, 179077120, + 179109888 +}; + +const Word32 defaultHRIR_coherence_32kHz_fx[LR_IAC_LENGTH_NR_FC] = { + 66625536, 65146880, 60686336, 53338112, 43667456, 32825344, 22220800, 12992512, + 5697536, 405504, 0, 0, 0, 0, 0, 409600, + 1912832, 2691072, 2867200, 2756608, 2654208, 2637824, 2572288, 2277376, + 1728512, 1089536, 606208, 446464, 577536, 851968, 1114112, 1323008, + 1511424, 1724416, 1925120, 2031616, 1978368, 1814528, 1646592, 1564672, + 1568768, 1560576, 1437696, 1179648, 876544, 659456, 614400, 716800, + 847872, 897024, 815104, 630784, 417792, 233472, 90112, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 98304, 245760, 368640, 475136, 573440, 647168, + 679936, 651264, 561152, 438272, 299008, 172032, 61440, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4096, 53248, 86016, 106496, 114688, 118784, + 114688, 94208, 57344, 4096, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 20480, 53248, + 73728, 81920, 77824, 57344, 32768, 8192, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 12288, 40960, + 61440, 73728, 81920, 81920, 73728, 57344, 40960, 20480, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 8192, 16384, 24576, 32768, 40960, 49152, + 53248, 61440, 69632, 81920, 90112, 102400, 114688, 122880, + 135168, 147456, 155648, 163840, 167936, 176128, 180224, 188416, + 192512, 196608, 204800, 212992, 225280, 241664, 258048, 278528, + 303104, 323584, 352256, 380928, 413696, 442368, 471040, 499712, + 528384, 561152, 589824, 618496, 647168, 671744, 696320, 716800, + 741376, 761856, 778240, 794624, 802816, 811008, 819200, 827392, + 827392 }; + +const Word32 defaultHRIR_left_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ] = { + 300367872, 299368448, 296943616, 294453248, 293208064, 293781504, 295583744, 297369600, + 297959424, 297025536, 295256064, 293912576, 294109184, 296124416, 299286528, 302333952, + 304136192, 304218112, 302923776, 301039616, 299270144, 297893888, 296747008, 295534592, + 294109184, 292618240, 291307520, 290324480, 289439744, 288309248, 286621696, 284491776, + 282361856, 280723456, 279855104, 279560192, 279330816, 278708224, 277544960, 276021248, + 274563072, 273399808, 272498688, 271630336, 270598144, 269451264, 268435456, 267829248, + 267730944, 267894784, 267960320, 267681792, 266960896, 265994240, 264994816, 264142848, + 263372800, 262520832, 261439488, 260063232, 258473984, 256802816, 255164416, 253591552, + 251985920, 250281984, 248397824, 246333440, 244154368, 241991680, 239927296, 237961216, + 235995136, 233930752, 231702528, 229326848, 226918400, 224608256, 222445568, 220332032, + 218152960, 215810048, 213286912, 210714624, 208207872, 205864960, 203620352, 201375744, + 199000064, 196493312, 193953792, 191496192, 189218816, 187121664, 185057280, 182960128, + 180748288, 178487296, 176275456, 174211072, 172277760, 170393600, 168411136, 166215680, + 163790848, 161202176, 158498816, 155680768, 152682496, 149356544, 145604608, 141377536, + 136724480, 131776512, 126582784, 121192448, 115572736, 109740032, 103759872, 97746944, + 91881472, 86343680, 81281024, 76775424, 72892416, 69697536, 67289088, 65798144, + 65273856 +}; + +const Word32 defaultHRIR_right_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ] = { + 300367872, 299368448, 296943616, 294453248, 293224448, 293781504, 295583744, 297369600, + 297959424, 297041920, 295256064, 293912576, 294109184, 296124416, 299286528, 302333952, + 304136192, 304218112, 302923776, 301039616, 299270144, 297893888, 296747008, 295534592, + 294109184, 292618240, 291307520, 290324480, 289439744, 288309248, 286621696, 284491776, + 282361856, 280723456, 279855104, 279560192, 279330816, 278708224, 277544960, 276021248, + 274563072, 273399808, 272498688, 271630336, 270598144, 269451264, 268435456, 267829248, + 267730944, 267894784, 267960320, 267681792, 266960896, 265994240, 264994816, 264142848, + 263372800, 262520832, 261439488, 260063232, 258473984, 256802816, 255164416, 253591552, + 251985920, 250281984, 248397824, 246333440, 244154368, 241991680, 239927296, 237961216, + 235995136, 233930752, 231702528, 229326848, 226918400, 224608256, 222445568, 220332032, + 218152960, 215810048, 213286912, 210714624, 208207872, 205864960, 203620352, 201375744, + 199000064, 196493312, 193953792, 191496192, 189218816, 187121664, 185057280, 182960128, + 180748288, 178487296, 176275456, 174211072, 172277760, 170393600, 168411136, 166215680, + 163790848, 161202176, 158498816, 155680768, 152682496, 149356544, 145604608, 141377536, + 136724480, 131776512, 126582784, 121176064, 115572736, 109740032, 103759872, 97746944, + 91881472, 86343680, 81281024, 76775424, 72892416, 69697536, 67289088, 65798144, + 65273856 +}; +const Word32 defaultHRIR_coherence_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ] = { + 65970176, 64479232, 59977728, 52584448, 42881024, 32034816, 21467136, 12304384, + 5095424, 0, 0, 0, 0, 0, 0, 258048, + 1695744, 2408448, 2535424, 2416640, 2334720, 2355200, 2326528, 2068480, + 1552384, 942080, 487424, 339968, 466944, 708608, 933888, 1093632, + 1236992, 1400832, 1556480, 1622016, 1548288, 1384448, 1228800, 1167360, + 1183744, 1175552, 1048576, 790528, 491520, 286720, 249856, 344064, + 458752, 483328, 372736, 176128, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 16384, 114688, 200704, 262144, + 278528, 229376, 118784, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 139264, 286720, + 425984, 557056, 679936, 786432, 884736, 966656, 1028096, 1073152, + 1085440 }; + +#else const Word16 defaultHRIR_Q_48kHz_fx = 15; const Word16 defaultHRIR_coherence_48kHz_fx[LR_IAC_LENGTH_NR_FC] = {32673, 31044, 26189, 18849, 10979, 4533, 260, 0, 0, @@ -7296,7 +7568,6 @@ const Word16 defaultHRIR_right_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - /* Sample Rate = 32000 */ const Word16 defaultHRIR_Q_32kHz_fx = 14; @@ -7393,7 +7664,6 @@ const Word16 defaultHRIR_right_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC] = 11079, 11056, 11034, 11019, 11009, 11001, 10989, 10972, 10952, 10935, 10926, 10926, 10930, 10932 }; - /* Sample Rate = 16000 */ const Word16 defaultHRIR_Q_16kHz_fx = 14; @@ -7448,11 +7718,7 @@ const Word16 defaultHRIR_right_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ] = 6698, 6333, 5966, 5608, 5270, 4961, 4686, 4449, 4254, 4107, 4016, 3984 }; - - - - - +#endif const Word32 sine_table_Q31 [361] = { 187,