Loading apps/renderer.c +46 −0 Original line number Diff line number Diff line Loading @@ -1174,7 +1174,53 @@ int main( fprintf( stderr, "\nError in Renderer Config Init: %s\n", ivas_error_to_string( error ) ); goto cleanup; } #ifdef FIX_1452_DEFAULT_REVERB if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { /* Set reverb room size if specified or select based automatically based on default per input formats */ IVAS_ROOM_SIZE_T selectedReverbRoomSize = args.reverbRoomSize; if ( selectedReverbRoomSize == IVAS_ROOM_SIZE_AUTO ) { bool combinedFormat = false; selectedReverbRoomSize = IVAS_ROOM_SIZE_MEDIUM; /* ISM present with MASA/SBA inputs; treat as combined format */ if ( args.inConfig.numAudioObjects > 0 && ( args.inConfig.numMasaBuses > 0 || args.inConfig.numAmbisonicsBuses > 0 ) ) { combinedFormat = true; } if ( combinedFormat ) { selectedReverbRoomSize = IVAS_ROOM_SIZE_MEDIUM; } else { /* Only set large if ISM is present alone, MASA and Ambisonic have been checked above */ if ( args.inConfig.numAudioObjects > 0 && args.inConfig.numMultiChannelBuses == 0 ) { selectedReverbRoomSize = IVAS_ROOM_SIZE_LARGE; } /* if only MC is present, set medium; Will not be overridden by the subsequent block */ else if ( args.inConfig.numMultiChannelBuses > 0 ) { selectedReverbRoomSize = IVAS_ROOM_SIZE_MEDIUM; } else if ( args.inConfig.numMasaBuses > 0 || args.inConfig.numAmbisonicsBuses > 0 ) { selectedReverbRoomSize = IVAS_ROOM_SIZE_SMALL; } } } if ( ( error = IVAS_REND_SetReverbRoomSize( hIvasRend, selectedReverbRoomSize ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError setting reverb room size\n" ); goto cleanup; } } #endif if ( args.renderConfigFilePath[0] != '\0' ) { Loading lib_com/ivas_cnst.h +11 −0 Original line number Diff line number Diff line Loading @@ -1640,6 +1640,17 @@ typedef enum #define IVAS_REVERB_DEFAULT_M_N_BANDS 31 #define IVAS_REVERB_DEFAULT_S_N_BANDS 60 #ifdef FIX_1452_DEFAULT_REVERB #define IVAS_REVERB_DEFAULT_S_ACOUSTIC_PRE_DELAY_FX 2013266 /* 0.015f in Q27 */ #define IVAS_REVERB_DEFAULT_S_INPUT_PRE_DELAY_FX 2684355 /* 0.02f in Q27 */ #define IVAS_REVERB_DEFAULT_M_ACOUSTIC_PRE_DELAY_FX 2013266 /* 0.015f in Q27 */ #define IVAS_REVERB_DEFAULT_M_INPUT_PRE_DELAY_FX 2684355 /* 0.02f in Q27 */ #define IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX 2181038 /* 0.01625f in Q27 */ #define IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX 13421773 /* 0.1f in Q27 */ #endif #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,7 @@ #define FIX_BASOP_2522_MAP_PARAMS_DIRAC_STEREO /* FhG: BASOP issue 2522: Fix copy and paste error for side_gain calculation in map_params_dirac_to_stereo() */ #define FIX_2505_IVAS_DEC_SEGFAULT /* FhG: BASOP #2505: Add headroom to input of ivas_rend_crendProcessSubframe_fx() for ivas_mdft_fx() calculation */ #define HARMONIZE_DoRTFTn /* VA: harmonize functions DoRTFTn_fx() and DoRTFTn_fx_ivas() */ #define FIX_1452_DEFAULT_REVERB /* Nokia/Philips/FhG: Fix default room presets and their usage in renderer */ /* ##################### End NON-BE switches ########################### */ Loading lib_rend/ivas_render_config_fx.c +39 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,9 @@ #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "ivas_rom_rend.h" #ifdef FIX_1452_DEFAULT_REVERB #include "ivas_cnst.h" #endif #include "ivas_rom_TdBinauralRenderer.h" #include "wmc_auto.h" Loading @@ -42,6 +45,7 @@ * Local constants *-----------------------------------------------------------------------*/ #ifndef FIX_1452_DEFAULT_REVERB #define IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX 2147484 // 0.016 #define IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX 13421773 // 0.1 Loading @@ -50,6 +54,7 @@ #define IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX 1677722 // 0.0125f #define IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX 0 // 0.0f #endif #define IVAS_REVERB_DEFAULT_USE_ER 0 Loading Loading @@ -117,10 +122,17 @@ ivas_error ivas_render_config_init_from_rom_fx( move16(); ( *hRenderConfig )->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); #ifdef FIX_1452_DEFAULT_REVERB ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; move32(); ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX; move32(); #else ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; move32(); ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX; move32(); #endif ( *hRenderConfig )->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); set32_fx( &( *hRenderConfig )->roomAcoustics.pFc_input_fx[0], 0, CLDFB_NO_CHANNELS_MAX ); Loading Loading @@ -182,17 +194,30 @@ ivas_error ivas_render_config_change_defaults( IVAS_DefaultReverbSize defaultReverbSize /* i: Reverb default size */ ) { #ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); #endif SWITCH( defaultReverbSize ) { case DEFAULT_REVERB_SMALL: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_S_N_BANDS; move16(); #ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_S_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_S_INPUT_PRE_DELAY_FX; move32(); #else hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_S_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_S_INPUT_DELAY_FX; move32(); hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); #endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); Loading @@ -204,12 +229,19 @@ ivas_error ivas_render_config_change_defaults( case DEFAULT_REVERB_MEDIUM: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_M_N_BANDS; move16(); #ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_M_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_M_INPUT_PRE_DELAY_FX; move32(); #else hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX; move32(); hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); #endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); Loading @@ -221,12 +253,19 @@ ivas_error ivas_render_config_change_defaults( case DEFAULT_REVERB_LARGE: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); #ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX; move32(); #else hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX; move32(); hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); #endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); Loading lib_rend/ivas_rom_rend_fx.c +20 −0 Original line number Diff line number Diff line Loading @@ -270,12 +270,21 @@ const Word32 ivas_reverb_default_small_RT60_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = const Word32 ivas_reverb_default_small_DSR_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = { #ifdef FIX_1452_DEFAULT_REVERB 7492, 3154, 2033, 1848, 2280, 2721, 2988, 3693, 4165, 4276, 3797, 3273, 2676, 2205, 1756, 1386, 1142, 932, 832, 952, 1084, 1320, 1508, 1675, 1659, 1610, 1475, 1263, 1118, 981, 876, 769, 666, 612, 535, 467, 429, 379, 351, 321, 296, 273, 250, 226, 203, 180, 160, 149, 141, 133, 129, 123, 118, 115, 111, 110, 107, 106, 106, 105 #else 16773, 7628, 5046, 4620, 5666, 6853, 7771, 9876, 11530, 12337, 11421, 10287, 8791, 7565, 6305, 5215, 4504, 3860, 3627, 4363, 5246, 6739, 8151, 9611, 10088, 10416, 10154, 9187, 8628, 8012, 7491, 6931, 6320, 6074, 5589, 5145, 4977, 4646, 4558, 4411, 4331, 4253, 4147, 4018, 3821, 3629, 3428, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361 #endif }; const Word32 ivas_reverb_default_medium_fc_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = Loading Loading @@ -304,6 +313,16 @@ const Word32 ivas_reverb_default_medium_RT60_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = { #ifdef FIX_1452_DEFAULT_REVERB 5324, 5580, 5917, 6365, 6903, 7617, 8575, 9732, 11218, 13358, 15873, 14689, 13167, 11206, 8942, 6549, 5536, 4354, 4110, 4418, 5367, 6294, 8399, 8798, 5894, 2958, 2403, 3968, 1999, 840, 433 #else 15978, 16341, 16813, 17430, 18156, 19101, 20335, 21788, 23603, 26145, 29050, 27037, Loading @@ -312,6 +331,7 @@ const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = 10526, 12575, 17260, 19074, 13653, 7464, 6609, 12688, 7607, 3835, 2373 #endif }; const Word32 ivas_reverb_default_large_fc_fx[IVAS_REVERB_DEFAULT_L_N_BANDS] /*Q16*/ = Loading Loading
apps/renderer.c +46 −0 Original line number Diff line number Diff line Loading @@ -1174,7 +1174,53 @@ int main( fprintf( stderr, "\nError in Renderer Config Init: %s\n", ivas_error_to_string( error ) ); goto cleanup; } #ifdef FIX_1452_DEFAULT_REVERB if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { /* Set reverb room size if specified or select based automatically based on default per input formats */ IVAS_ROOM_SIZE_T selectedReverbRoomSize = args.reverbRoomSize; if ( selectedReverbRoomSize == IVAS_ROOM_SIZE_AUTO ) { bool combinedFormat = false; selectedReverbRoomSize = IVAS_ROOM_SIZE_MEDIUM; /* ISM present with MASA/SBA inputs; treat as combined format */ if ( args.inConfig.numAudioObjects > 0 && ( args.inConfig.numMasaBuses > 0 || args.inConfig.numAmbisonicsBuses > 0 ) ) { combinedFormat = true; } if ( combinedFormat ) { selectedReverbRoomSize = IVAS_ROOM_SIZE_MEDIUM; } else { /* Only set large if ISM is present alone, MASA and Ambisonic have been checked above */ if ( args.inConfig.numAudioObjects > 0 && args.inConfig.numMultiChannelBuses == 0 ) { selectedReverbRoomSize = IVAS_ROOM_SIZE_LARGE; } /* if only MC is present, set medium; Will not be overridden by the subsequent block */ else if ( args.inConfig.numMultiChannelBuses > 0 ) { selectedReverbRoomSize = IVAS_ROOM_SIZE_MEDIUM; } else if ( args.inConfig.numMasaBuses > 0 || args.inConfig.numAmbisonicsBuses > 0 ) { selectedReverbRoomSize = IVAS_ROOM_SIZE_SMALL; } } } if ( ( error = IVAS_REND_SetReverbRoomSize( hIvasRend, selectedReverbRoomSize ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError setting reverb room size\n" ); goto cleanup; } } #endif if ( args.renderConfigFilePath[0] != '\0' ) { Loading
lib_com/ivas_cnst.h +11 −0 Original line number Diff line number Diff line Loading @@ -1640,6 +1640,17 @@ typedef enum #define IVAS_REVERB_DEFAULT_M_N_BANDS 31 #define IVAS_REVERB_DEFAULT_S_N_BANDS 60 #ifdef FIX_1452_DEFAULT_REVERB #define IVAS_REVERB_DEFAULT_S_ACOUSTIC_PRE_DELAY_FX 2013266 /* 0.015f in Q27 */ #define IVAS_REVERB_DEFAULT_S_INPUT_PRE_DELAY_FX 2684355 /* 0.02f in Q27 */ #define IVAS_REVERB_DEFAULT_M_ACOUSTIC_PRE_DELAY_FX 2013266 /* 0.015f in Q27 */ #define IVAS_REVERB_DEFAULT_M_INPUT_PRE_DELAY_FX 2684355 /* 0.02f in Q27 */ #define IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX 2181038 /* 0.01625f in Q27 */ #define IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX 13421773 /* 0.1f in Q27 */ #endif #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,7 @@ #define FIX_BASOP_2522_MAP_PARAMS_DIRAC_STEREO /* FhG: BASOP issue 2522: Fix copy and paste error for side_gain calculation in map_params_dirac_to_stereo() */ #define FIX_2505_IVAS_DEC_SEGFAULT /* FhG: BASOP #2505: Add headroom to input of ivas_rend_crendProcessSubframe_fx() for ivas_mdft_fx() calculation */ #define HARMONIZE_DoRTFTn /* VA: harmonize functions DoRTFTn_fx() and DoRTFTn_fx_ivas() */ #define FIX_1452_DEFAULT_REVERB /* Nokia/Philips/FhG: Fix default room presets and their usage in renderer */ /* ##################### End NON-BE switches ########################### */ Loading
lib_rend/ivas_render_config_fx.c +39 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,9 @@ #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "ivas_rom_rend.h" #ifdef FIX_1452_DEFAULT_REVERB #include "ivas_cnst.h" #endif #include "ivas_rom_TdBinauralRenderer.h" #include "wmc_auto.h" Loading @@ -42,6 +45,7 @@ * Local constants *-----------------------------------------------------------------------*/ #ifndef FIX_1452_DEFAULT_REVERB #define IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX 2147484 // 0.016 #define IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX 13421773 // 0.1 Loading @@ -50,6 +54,7 @@ #define IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX 1677722 // 0.0125f #define IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX 0 // 0.0f #endif #define IVAS_REVERB_DEFAULT_USE_ER 0 Loading Loading @@ -117,10 +122,17 @@ ivas_error ivas_render_config_init_from_rom_fx( move16(); ( *hRenderConfig )->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); #ifdef FIX_1452_DEFAULT_REVERB ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; move32(); ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX; move32(); #else ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; move32(); ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX; move32(); #endif ( *hRenderConfig )->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); set32_fx( &( *hRenderConfig )->roomAcoustics.pFc_input_fx[0], 0, CLDFB_NO_CHANNELS_MAX ); Loading Loading @@ -182,17 +194,30 @@ ivas_error ivas_render_config_change_defaults( IVAS_DefaultReverbSize defaultReverbSize /* i: Reverb default size */ ) { #ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); #endif SWITCH( defaultReverbSize ) { case DEFAULT_REVERB_SMALL: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_S_N_BANDS; move16(); #ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_S_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_S_INPUT_PRE_DELAY_FX; move32(); #else hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_S_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_S_INPUT_DELAY_FX; move32(); hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); #endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); Loading @@ -204,12 +229,19 @@ ivas_error ivas_render_config_change_defaults( case DEFAULT_REVERB_MEDIUM: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_M_N_BANDS; move16(); #ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_M_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_M_INPUT_PRE_DELAY_FX; move32(); #else hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX; move32(); hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); #endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); Loading @@ -221,12 +253,19 @@ ivas_error ivas_render_config_change_defaults( case DEFAULT_REVERB_LARGE: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); #ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX; move32(); #else hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX; move32(); hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); #endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); Loading
lib_rend/ivas_rom_rend_fx.c +20 −0 Original line number Diff line number Diff line Loading @@ -270,12 +270,21 @@ const Word32 ivas_reverb_default_small_RT60_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = const Word32 ivas_reverb_default_small_DSR_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = { #ifdef FIX_1452_DEFAULT_REVERB 7492, 3154, 2033, 1848, 2280, 2721, 2988, 3693, 4165, 4276, 3797, 3273, 2676, 2205, 1756, 1386, 1142, 932, 832, 952, 1084, 1320, 1508, 1675, 1659, 1610, 1475, 1263, 1118, 981, 876, 769, 666, 612, 535, 467, 429, 379, 351, 321, 296, 273, 250, 226, 203, 180, 160, 149, 141, 133, 129, 123, 118, 115, 111, 110, 107, 106, 106, 105 #else 16773, 7628, 5046, 4620, 5666, 6853, 7771, 9876, 11530, 12337, 11421, 10287, 8791, 7565, 6305, 5215, 4504, 3860, 3627, 4363, 5246, 6739, 8151, 9611, 10088, 10416, 10154, 9187, 8628, 8012, 7491, 6931, 6320, 6074, 5589, 5145, 4977, 4646, 4558, 4411, 4331, 4253, 4147, 4018, 3821, 3629, 3428, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361 #endif }; const Word32 ivas_reverb_default_medium_fc_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = Loading Loading @@ -304,6 +313,16 @@ const Word32 ivas_reverb_default_medium_RT60_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = { #ifdef FIX_1452_DEFAULT_REVERB 5324, 5580, 5917, 6365, 6903, 7617, 8575, 9732, 11218, 13358, 15873, 14689, 13167, 11206, 8942, 6549, 5536, 4354, 4110, 4418, 5367, 6294, 8399, 8798, 5894, 2958, 2403, 3968, 1999, 840, 433 #else 15978, 16341, 16813, 17430, 18156, 19101, 20335, 21788, 23603, 26145, 29050, 27037, Loading @@ -312,6 +331,7 @@ const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = 10526, 12575, 17260, 19074, 13653, 7464, 6609, 12688, 7607, 3835, 2373 #endif }; const Word32 ivas_reverb_default_large_fc_fx[IVAS_REVERB_DEFAULT_L_N_BANDS] /*Q16*/ = Loading