Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,7 @@ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ #define FIX_REND_ROUNDING /* Issue 195: Align float to int16 conversion in renderer with decoder */ #define FIX_REND_MONO_DMX /* Issue 195: Fix mono downmix coefficients in decoder and renderer */ #define FIX_REND_ROT_MCBRIRS /* ISsue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ #define FIX_REND_ROT_MC_BIN /* Issue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ /* ################## End DEVELOPMENT switches ######################### */ Loading lib_rend/lib_rend.c +14 −8 Original line number Diff line number Diff line Loading @@ -1556,6 +1556,12 @@ static ivas_error initMcBinauralRendering( { ivas_rend_closeCrend( &inputMc->crendWrapper ); } #ifdef FIX_REND_ROT_MC_BIN if ( inputMc->efapInWrapper.hEfap != NULL ) { efap_free_data( &inputMc->efapInWrapper.hEfap ); } #endif outSampleRate = *inputMc->base.ctx.pOutSampleRate; Loading Loading @@ -1599,6 +1605,14 @@ static ivas_error initMcBinauralRendering( } } #ifdef FIX_REND_ROT_MC_BIN /* Initialise the EFAP handle for rotation on input layout */ if ( inConfig != IVAS_REND_AUDIO_CONFIG_LS_CUSTOM && inputMc->base.ctx.pHeadRotData->headRotEnabled ) { initEfap( &inputMc->efapInWrapper, inConfig, NULL ); } #endif return error; } Loading Loading @@ -4119,11 +4133,7 @@ static ivas_error renderMcToBinauralRoom( mcInput->customLsInput, mcInput->base.ctx.pHeadRotData, mcInput->rot_gains_prev, #ifdef FIX_REND_ROT_MCBRIRS mcInput->base.ctx.pEfapOutWrapper->hEfap, #else mcInput->efapInWrapper.hEfap, #endif tmpRotBuffer ); copyBufferTo2dArray( tmpRotBuffer, tmpCrendBuffer ); Loading Loading @@ -4183,11 +4193,7 @@ static ivas_error renderMcCustomLsToBinauralRoom( mcInput->customLsInput, mcInput->base.ctx.pHeadRotData, mcInput->rot_gains_prev, #ifdef FIX_REND_ROT_MCBRIRS mcInput->base.ctx.pEfapOutWrapper->hEfap, #else mcInput->efapInWrapper.hEfap, #endif tmpRotBuffer ); } Loading tests/renderer/constants.py +1 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,7 @@ pass_snr = { # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59) "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 6, "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 1, "test_multichannel_binaural_headrotation[7_1-BINAURAL-full_circle_in_15s]": 8, "test_multichannel_binaural_headrotation[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 8, # Failure reason: differences in LFE alignment and possibly rotation Loading Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,7 @@ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ #define FIX_REND_ROUNDING /* Issue 195: Align float to int16 conversion in renderer with decoder */ #define FIX_REND_MONO_DMX /* Issue 195: Fix mono downmix coefficients in decoder and renderer */ #define FIX_REND_ROT_MCBRIRS /* ISsue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ #define FIX_REND_ROT_MC_BIN /* Issue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ /* ################## End DEVELOPMENT switches ######################### */ Loading
lib_rend/lib_rend.c +14 −8 Original line number Diff line number Diff line Loading @@ -1556,6 +1556,12 @@ static ivas_error initMcBinauralRendering( { ivas_rend_closeCrend( &inputMc->crendWrapper ); } #ifdef FIX_REND_ROT_MC_BIN if ( inputMc->efapInWrapper.hEfap != NULL ) { efap_free_data( &inputMc->efapInWrapper.hEfap ); } #endif outSampleRate = *inputMc->base.ctx.pOutSampleRate; Loading Loading @@ -1599,6 +1605,14 @@ static ivas_error initMcBinauralRendering( } } #ifdef FIX_REND_ROT_MC_BIN /* Initialise the EFAP handle for rotation on input layout */ if ( inConfig != IVAS_REND_AUDIO_CONFIG_LS_CUSTOM && inputMc->base.ctx.pHeadRotData->headRotEnabled ) { initEfap( &inputMc->efapInWrapper, inConfig, NULL ); } #endif return error; } Loading Loading @@ -4119,11 +4133,7 @@ static ivas_error renderMcToBinauralRoom( mcInput->customLsInput, mcInput->base.ctx.pHeadRotData, mcInput->rot_gains_prev, #ifdef FIX_REND_ROT_MCBRIRS mcInput->base.ctx.pEfapOutWrapper->hEfap, #else mcInput->efapInWrapper.hEfap, #endif tmpRotBuffer ); copyBufferTo2dArray( tmpRotBuffer, tmpCrendBuffer ); Loading Loading @@ -4183,11 +4193,7 @@ static ivas_error renderMcCustomLsToBinauralRoom( mcInput->customLsInput, mcInput->base.ctx.pHeadRotData, mcInput->rot_gains_prev, #ifdef FIX_REND_ROT_MCBRIRS mcInput->base.ctx.pEfapOutWrapper->hEfap, #else mcInput->efapInWrapper.hEfap, #endif tmpRotBuffer ); } Loading
tests/renderer/constants.py +1 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,7 @@ pass_snr = { # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59) "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 6, "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 1, "test_multichannel_binaural_headrotation[7_1-BINAURAL-full_circle_in_15s]": 8, "test_multichannel_binaural_headrotation[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 8, # Failure reason: differences in LFE alignment and possibly rotation Loading