Loading lib_com/ivas_cnst.h +5 −5 Original line number Diff line number Diff line Loading @@ -1609,11 +1609,6 @@ typedef enum #define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) #define MAX_INTERPOLATION_STEPS 12 #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #ifdef NONBE_FIX_AVG_IAC_CLDFB_REVERB #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) #endif /* ----- Enums - TD Renderer ----- */ typedef enum Loading Loading @@ -1670,6 +1665,11 @@ typedef enum #endif #define IVAS_REVERB_DEFAULT_N_BANDS 31 #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #ifdef NONBE_FIX_AVG_IAC_CLDFB_REVERB #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) #endif /*----------------------------------------------------------------------------------* * FB mixer constants Loading lib_com/options.h +4 −4 Original line number Diff line number Diff line Loading @@ -158,9 +158,9 @@ #define FIX_CRASH_LONG_BRIR /* Orange : Fix crash when long BRIR is set */ #define FIX_638_ENERGIE_IAC_ROM_TABLES /* Orange : Missing left/right and coherence late reverb tables in binary format*/ #define FIX_OLD_BINARY_FORMAT #define FIX_OLD_BINARY_FORMAT /* Orange: temporary to maintain bitexactness */ #define FIX_INV_DIFFUSE_WEIGHT /* Orange : Fix error in energy compensation in late binaural reverb*/ #define FIX_20_MS_FRAME_LEN_TABLES_CONVERTER /* Orange : generate_tables_convereter tools can generate rom for 5 and 20 ms frame length */ #define FIX_20_MS_FRAME_LEN_TABLES_CONVERTER /* Orange : generate_tables_converter tools can generate rom for 5 and 20 ms frame length */ /* #################### End BE switches ################################## */ Loading @@ -168,8 +168,8 @@ /* any switch which is non-be wrt selection floating point code */ /* all switches in this category should start with "NONBE_" */ #define NONBE_FIX_BINARY_BINAURAL_READING /* Add support for reading binaural binary file */ #define NONBE_FIX_AVG_IAC_CLDFB_REVERB /* Add computation avg energy and iac tables for rom and binaural binary file */ #define NONBE_FIX_BINARY_BINAURAL_READING /* Orange: Add support for reading binaural binary file */ #define NONBE_FIX_AVG_IAC_CLDFB_REVERB /* Orange: Add computation avg energy and iac tables for rom and binaural binary file */ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_FIX_926_OSBA_DECODER_CRASH_PLANAR_SBA /* FhG: issue 926: crash in OSBA decoding with planar FOA */ #define NONBE_FIX_908_OSBA_BR_SWITCHING_CRASH /* FhG: issue 908: fix crash in OSBA BR switching with long test vectors */ Loading lib_rend/ivas_crend.c +1 −1 Original line number Diff line number Diff line Loading @@ -461,7 +461,6 @@ static ivas_error ivas_rend_initCrend( #ifdef FIX_INV_DIFFUSE_WEIGHT hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[j][tmp]; #endif hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_16kHz[tmp][j]; hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j]; hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_BRIR_coeff_re_16kHz[tmp][j]; Loading Loading @@ -883,6 +882,7 @@ static ivas_error ivas_rend_initCrend( hHrtf->inv_diffuse_weight[i] = hSetOfHRTF->hHRTF_hrir_combined->inv_diffuse_weight[tmp]; } #endif for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) Loading lib_rend/lib_rend.c +9 −10 Original line number Diff line number Diff line Loading @@ -2311,7 +2311,6 @@ static ivas_error initMcBinauralRendering( { /* open CREND */ #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef NONBE_FIX_BINARY_BINAURAL_READING if ( ( error = ivas_rend_openCrend( &inputMc->crendWrapper, ( inConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM ) ? IVAS_AUDIO_CONFIG_7_1_4 : inConfig, outConfig, hRendCfg, hMixconv, outSampleRate, ( ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) || ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) ) ? inputMc->base.ctx.pSplitRendWrapper->multiBinPoseData.num_poses : 1 ) ) != IVAS_ERR_OK ) Loading @@ -2324,10 +2323,8 @@ static ivas_error initMcBinauralRendering( #else #ifdef NONBE_FIX_BINARY_BINAURAL_READING if ( ( error = ivas_rend_openCrend( &inputMc->crendWrapper, ( inConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM ) ? IVAS_AUDIO_CONFIG_7_1_4 : inConfig, outConfig, hRendCfg, hMixconv, outSampleRate ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_rend_openCrend( &inputMc->crendWrapper, ( inConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM ) ? IVAS_AUDIO_CONFIG_7_1_4 : inConfig, outConfig, hRendCfg, NULL, outSampleRate ) ) != IVAS_ERR_OK ) #endif #endif { Loading Loading @@ -2878,11 +2875,10 @@ static ivas_error setRendInputActiveSplitPostRend( void *input, const AUDIO_CONFIG inConfig, const IVAS_REND_InputId id, RENDER_CONFIG_DATA *hRendCfg #ifdef NONBE_FIX_BINARY_BINAURAL_READING RENDER_CONFIG_DATA *hRendCfg, , hrtf_handles *hrtfs #else RENDER_CONFIG_DATA *hRendCfg #endif ) { Loading Loading @@ -3897,7 +3893,7 @@ ivas_error IVAS_REND_AddInput( void *inputsArray; int32_t inputStructSize; #ifdef NONBE_FIX_BINARY_BINAURAL_READING ivas_error ( *activateInput )( void *, AUDIO_CONFIG, IVAS_REND_InputId, RENDER_CONFIG_DATA *, hrtf_handles *hrtfs ); ivas_error ( *activateInput )( void *, AUDIO_CONFIG, IVAS_REND_InputId, RENDER_CONFIG_DATA *, hrtf_handles * ); #else ivas_error ( *activateInput )( void *, AUDIO_CONFIG, IVAS_REND_InputId, RENDER_CONFIG_DATA * ); #endif Loading Loading @@ -4044,8 +4040,9 @@ ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout( if ( ( error = initMcBinauralRendering( inputMc, inputMc->base.inConfig, hIvasRend->outputConfig, hIvasRend->hRendererConfig, hIvasRend->hRendererConfig #ifdef NONBE_FIX_BINARY_BINAURAL_READING , hIvasRend->hHrtfs.hSetOfHRTF, #endif FALSE ) ) != IVAS_ERR_OK ) Loading Loading @@ -4890,8 +4887,9 @@ ivas_error IVAS_REND_SetHeadRotation( if ( ( error = initMcBinauralRendering( &hIvasRend->inputsMc[i], hIvasRend->inputsMc[i].base.inConfig, hIvasRend->outputConfig, hIvasRend->hRendererConfig, hIvasRend->hRendererConfig #ifdef NONBE_FIX_BINARY_BINAURAL_READING , hIvasRend->hHrtfs.hSetOfHRTF, #endif TRUE ) ) != IVAS_ERR_OK ) Loading Loading @@ -4957,8 +4955,9 @@ ivas_error IVAS_REND_DisableHeadRotation( if ( ( error = initMcBinauralRendering( &hIvasRend->inputsMc[i], hIvasRend->inputsMc[i].base.inConfig, hIvasRend->outputConfig, hIvasRend->hRendererConfig, hIvasRend->hRendererConfig #ifdef NONBE_FIX_BINARY_BINAURAL_READING , hIvasRend->hHrtfs.hSetOfHRTF, #endif TRUE ) ) != IVAS_ERR_OK ) Loading lib_util/hrtf_file_reader.c +10 −3 Original line number Diff line number Diff line Loading @@ -593,7 +593,6 @@ static ivas_error load_reverb_from_binary( } #endif error = IVAS_ERR_OK; if ( ( header_check_result = read_and_check_hrtf_binary_file_header( &hrtfs_file_header, f_hrtf ) ) != IVAS_ERR_OK ) Loading Loading @@ -1309,16 +1308,24 @@ static ivas_error create_fastconv_HRTF_from_rawdata( { int16_t i, j; char *hrtf_data_rptr; ivas_error error; ( *hHRTF )->allocate_init_flag = 0; #ifdef FIX_638_ENERGIE_IAC_ROM_TABLES if ( rend_type == HRTF_READER_RENDERER_BINAURAL_FASTCONV ) { ivas_allocate_binaural_hrtf( *hHRTF, 0, input_cfg, RENDERER_BINAURAL_FASTCONV, ( *hHRTF )->allocate_init_flag ); if ( ( error = ivas_allocate_binaural_hrtf( *hHRTF, 0, input_cfg, RENDERER_BINAURAL_FASTCONV, ( *hHRTF )->allocate_init_flag ) ) != IVAS_ERR_OK ) { return error; } } else if ( rend_type == HRTF_READER_RENDERER_BINAURAL_FASTCONV_ROOM ) { ivas_allocate_binaural_hrtf( *hHRTF, 0, input_cfg, RENDERER_BINAURAL_FASTCONV_ROOM, ( *hHRTF )->allocate_init_flag ); if ( ( error = ivas_allocate_binaural_hrtf( *hHRTF, 0, input_cfg, RENDERER_BINAURAL_FASTCONV_ROOM, ( *hHRTF )->allocate_init_flag ) ) != IVAS_ERR_OK ) { return error; } } else { Loading Loading
lib_com/ivas_cnst.h +5 −5 Original line number Diff line number Diff line Loading @@ -1609,11 +1609,6 @@ typedef enum #define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) #define MAX_INTERPOLATION_STEPS 12 #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #ifdef NONBE_FIX_AVG_IAC_CLDFB_REVERB #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) #endif /* ----- Enums - TD Renderer ----- */ typedef enum Loading Loading @@ -1670,6 +1665,11 @@ typedef enum #endif #define IVAS_REVERB_DEFAULT_N_BANDS 31 #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #ifdef NONBE_FIX_AVG_IAC_CLDFB_REVERB #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) #endif /*----------------------------------------------------------------------------------* * FB mixer constants Loading
lib_com/options.h +4 −4 Original line number Diff line number Diff line Loading @@ -158,9 +158,9 @@ #define FIX_CRASH_LONG_BRIR /* Orange : Fix crash when long BRIR is set */ #define FIX_638_ENERGIE_IAC_ROM_TABLES /* Orange : Missing left/right and coherence late reverb tables in binary format*/ #define FIX_OLD_BINARY_FORMAT #define FIX_OLD_BINARY_FORMAT /* Orange: temporary to maintain bitexactness */ #define FIX_INV_DIFFUSE_WEIGHT /* Orange : Fix error in energy compensation in late binaural reverb*/ #define FIX_20_MS_FRAME_LEN_TABLES_CONVERTER /* Orange : generate_tables_convereter tools can generate rom for 5 and 20 ms frame length */ #define FIX_20_MS_FRAME_LEN_TABLES_CONVERTER /* Orange : generate_tables_converter tools can generate rom for 5 and 20 ms frame length */ /* #################### End BE switches ################################## */ Loading @@ -168,8 +168,8 @@ /* any switch which is non-be wrt selection floating point code */ /* all switches in this category should start with "NONBE_" */ #define NONBE_FIX_BINARY_BINAURAL_READING /* Add support for reading binaural binary file */ #define NONBE_FIX_AVG_IAC_CLDFB_REVERB /* Add computation avg energy and iac tables for rom and binaural binary file */ #define NONBE_FIX_BINARY_BINAURAL_READING /* Orange: Add support for reading binaural binary file */ #define NONBE_FIX_AVG_IAC_CLDFB_REVERB /* Orange: Add computation avg energy and iac tables for rom and binaural binary file */ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_FIX_926_OSBA_DECODER_CRASH_PLANAR_SBA /* FhG: issue 926: crash in OSBA decoding with planar FOA */ #define NONBE_FIX_908_OSBA_BR_SWITCHING_CRASH /* FhG: issue 908: fix crash in OSBA BR switching with long test vectors */ Loading
lib_rend/ivas_crend.c +1 −1 Original line number Diff line number Diff line Loading @@ -461,7 +461,6 @@ static ivas_error ivas_rend_initCrend( #ifdef FIX_INV_DIFFUSE_WEIGHT hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[j][tmp]; #endif hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_16kHz[tmp][j]; hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j]; hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_BRIR_coeff_re_16kHz[tmp][j]; Loading Loading @@ -883,6 +882,7 @@ static ivas_error ivas_rend_initCrend( hHrtf->inv_diffuse_weight[i] = hSetOfHRTF->hHRTF_hrir_combined->inv_diffuse_weight[tmp]; } #endif for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) Loading
lib_rend/lib_rend.c +9 −10 Original line number Diff line number Diff line Loading @@ -2311,7 +2311,6 @@ static ivas_error initMcBinauralRendering( { /* open CREND */ #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef NONBE_FIX_BINARY_BINAURAL_READING if ( ( error = ivas_rend_openCrend( &inputMc->crendWrapper, ( inConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM ) ? IVAS_AUDIO_CONFIG_7_1_4 : inConfig, outConfig, hRendCfg, hMixconv, outSampleRate, ( ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) || ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) ) ? inputMc->base.ctx.pSplitRendWrapper->multiBinPoseData.num_poses : 1 ) ) != IVAS_ERR_OK ) Loading @@ -2324,10 +2323,8 @@ static ivas_error initMcBinauralRendering( #else #ifdef NONBE_FIX_BINARY_BINAURAL_READING if ( ( error = ivas_rend_openCrend( &inputMc->crendWrapper, ( inConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM ) ? IVAS_AUDIO_CONFIG_7_1_4 : inConfig, outConfig, hRendCfg, hMixconv, outSampleRate ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_rend_openCrend( &inputMc->crendWrapper, ( inConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM ) ? IVAS_AUDIO_CONFIG_7_1_4 : inConfig, outConfig, hRendCfg, NULL, outSampleRate ) ) != IVAS_ERR_OK ) #endif #endif { Loading Loading @@ -2878,11 +2875,10 @@ static ivas_error setRendInputActiveSplitPostRend( void *input, const AUDIO_CONFIG inConfig, const IVAS_REND_InputId id, RENDER_CONFIG_DATA *hRendCfg #ifdef NONBE_FIX_BINARY_BINAURAL_READING RENDER_CONFIG_DATA *hRendCfg, , hrtf_handles *hrtfs #else RENDER_CONFIG_DATA *hRendCfg #endif ) { Loading Loading @@ -3897,7 +3893,7 @@ ivas_error IVAS_REND_AddInput( void *inputsArray; int32_t inputStructSize; #ifdef NONBE_FIX_BINARY_BINAURAL_READING ivas_error ( *activateInput )( void *, AUDIO_CONFIG, IVAS_REND_InputId, RENDER_CONFIG_DATA *, hrtf_handles *hrtfs ); ivas_error ( *activateInput )( void *, AUDIO_CONFIG, IVAS_REND_InputId, RENDER_CONFIG_DATA *, hrtf_handles * ); #else ivas_error ( *activateInput )( void *, AUDIO_CONFIG, IVAS_REND_InputId, RENDER_CONFIG_DATA * ); #endif Loading Loading @@ -4044,8 +4040,9 @@ ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout( if ( ( error = initMcBinauralRendering( inputMc, inputMc->base.inConfig, hIvasRend->outputConfig, hIvasRend->hRendererConfig, hIvasRend->hRendererConfig #ifdef NONBE_FIX_BINARY_BINAURAL_READING , hIvasRend->hHrtfs.hSetOfHRTF, #endif FALSE ) ) != IVAS_ERR_OK ) Loading Loading @@ -4890,8 +4887,9 @@ ivas_error IVAS_REND_SetHeadRotation( if ( ( error = initMcBinauralRendering( &hIvasRend->inputsMc[i], hIvasRend->inputsMc[i].base.inConfig, hIvasRend->outputConfig, hIvasRend->hRendererConfig, hIvasRend->hRendererConfig #ifdef NONBE_FIX_BINARY_BINAURAL_READING , hIvasRend->hHrtfs.hSetOfHRTF, #endif TRUE ) ) != IVAS_ERR_OK ) Loading Loading @@ -4957,8 +4955,9 @@ ivas_error IVAS_REND_DisableHeadRotation( if ( ( error = initMcBinauralRendering( &hIvasRend->inputsMc[i], hIvasRend->inputsMc[i].base.inConfig, hIvasRend->outputConfig, hIvasRend->hRendererConfig, hIvasRend->hRendererConfig #ifdef NONBE_FIX_BINARY_BINAURAL_READING , hIvasRend->hHrtfs.hSetOfHRTF, #endif TRUE ) ) != IVAS_ERR_OK ) Loading
lib_util/hrtf_file_reader.c +10 −3 Original line number Diff line number Diff line Loading @@ -593,7 +593,6 @@ static ivas_error load_reverb_from_binary( } #endif error = IVAS_ERR_OK; if ( ( header_check_result = read_and_check_hrtf_binary_file_header( &hrtfs_file_header, f_hrtf ) ) != IVAS_ERR_OK ) Loading Loading @@ -1309,16 +1308,24 @@ static ivas_error create_fastconv_HRTF_from_rawdata( { int16_t i, j; char *hrtf_data_rptr; ivas_error error; ( *hHRTF )->allocate_init_flag = 0; #ifdef FIX_638_ENERGIE_IAC_ROM_TABLES if ( rend_type == HRTF_READER_RENDERER_BINAURAL_FASTCONV ) { ivas_allocate_binaural_hrtf( *hHRTF, 0, input_cfg, RENDERER_BINAURAL_FASTCONV, ( *hHRTF )->allocate_init_flag ); if ( ( error = ivas_allocate_binaural_hrtf( *hHRTF, 0, input_cfg, RENDERER_BINAURAL_FASTCONV, ( *hHRTF )->allocate_init_flag ) ) != IVAS_ERR_OK ) { return error; } } else if ( rend_type == HRTF_READER_RENDERER_BINAURAL_FASTCONV_ROOM ) { ivas_allocate_binaural_hrtf( *hHRTF, 0, input_cfg, RENDERER_BINAURAL_FASTCONV_ROOM, ( *hHRTF )->allocate_init_flag ); if ( ( error = ivas_allocate_binaural_hrtf( *hHRTF, 0, input_cfg, RENDERER_BINAURAL_FASTCONV_ROOM, ( *hHRTF )->allocate_init_flag ) ) != IVAS_ERR_OK ) { return error; } } else { Loading