Loading lib_com/ivas_prot.h +2 −1 Original line number Diff line number Diff line Loading @@ -5159,10 +5159,11 @@ void ivas_binaural_cldfb_sf( #endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: fastconv binaural renderer handle */ HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #ifdef EXTERNAL_ORIENTATIONS COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */ int16_t subframe_idx, /* i : subframe index */ #else HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #endif const int16_t numTimeSlots, /* i: : number of time slots to process */ float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ #define FIX_395_CNG_BW /* Eri: Issue 395 - CNG bandwidth issue for unified stereo */ #define EXTERNAL_ORIENTATIONS /* Nokia: Contribution 41: (external) orientation information handling */ #define FIX_541_EXT_REND_MASA_ROTATIONS /* Nokia: Issue 541, rotations missing in masa external renderer */ #define MASA_PREREND /* Nokia: Contribution 42: Support for IVAS_rend to merge MASA + other format to MASA */ #define ISM_25k6_HZ_CORE /* VA: issue 540: 1ISM 48 kbps - change ACELP/TCX 16 kHz core to TCX only 25.6 kHz core */ Loading lib_dec/ivas_binRenderer_internal.c +18 −14 Original line number Diff line number Diff line Loading @@ -1059,7 +1059,7 @@ void ivas_binaural_cldfb( /* Implement binaural rendering */ #ifdef EXTERNAL_ORIENTATIONS ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, st_ivas->hCombinedOrientationData, subframeIdx, JBM_CLDFB_SLOTS_IN_SUBFRAME, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hCombinedOrientationData, subframeIdx, JBM_CLDFB_SLOTS_IN_SUBFRAME, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); #else ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, JBM_CLDFB_SLOTS_IN_SUBFRAME, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); #endif Loading Loading @@ -1155,7 +1155,7 @@ void ivas_binaural_cldfb_sf( /* Implement binaural rendering */ #ifdef EXTERNAL_ORIENTATIONS ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, st_ivas->hCombinedOrientationData, subframeIdx, st_ivas->hTcBuffer->subframe_nbslots[subframeIdx], Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hCombinedOrientationData, subframeIdx, st_ivas->hTcBuffer->subframe_nbslots[subframeIdx], Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); #else ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, st_ivas->hTcBuffer->subframe_nbslots[subframeIdx], Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); #endif Loading Loading @@ -1193,10 +1193,11 @@ void ivas_binaural_cldfb_sf( void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle */ HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #ifdef EXTERNAL_ORIENTATIONS COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */ int16_t subframe_idx, /* i : subframe index */ #else HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #endif const int16_t numTimeSlots, /* i : number of time slots to render*/ float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ Loading @@ -1221,34 +1222,37 @@ void ivas_binRenderer( } /* Head rotation in HOA3 or CICPx */ if ( hHeadTrackData if ( #ifdef EXTERNAL_ORIENTATIONS && hCombinedOrientationData != NULL && hCombinedOrientationData->enableCombinedOrientation[subframe_idx] hCombinedOrientationData != NULL && hCombinedOrientationData->enableCombinedOrientation[subframe_idx] #else && hHeadTrackData->num_quaternions >= 0 hHeadTrackData && hHeadTrackData->num_quaternions >= 0 #endif && hBinRenderer->rotInCldfb ) { if ( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 ) { /* Rotation in SHD (HOA3) */ if ( hHeadTrackData->shd_rot_max_order == -1 ) { #ifdef EXTERNAL_ORIENTATIONS if ( hCombinedOrientationData->shd_rot_max_order == -1 ) { rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hCombinedOrientationData->Rmat[subframe_idx], hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, 3 ); } else if ( hCombinedOrientationData->shd_rot_max_order > 0 ) { rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hCombinedOrientationData->Rmat[subframe_idx], hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, hCombinedOrientationData->shd_rot_max_order ); } #else if ( hHeadTrackData->shd_rot_max_order == -1 ) { QuatToRotMat( hHeadTrackData->Quaternions[hHeadTrackData->num_quaternions++], hHeadTrackData->Rmat ); rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hHeadTrackData->Rmat, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, 3 ); #endif } else if ( hHeadTrackData->shd_rot_max_order > 0 ) { #ifdef EXTERNAL_ORIENTATIONS rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hCombinedOrientationData->Rmat[subframe_idx], hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, hHeadTrackData->shd_rot_max_order ); #else rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hHeadTrackData->Rmat, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, hHeadTrackData->shd_rot_max_order ); #endif } #endif } else { Loading lib_dec/ivas_dirac_dec.c +22 −5 Original line number Diff line number Diff line Loading @@ -2627,7 +2627,7 @@ void ivas_dirac_dec_render_sf( } #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hHeadTrackData && st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] ) if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] ) #else if ( st_ivas->hHeadTrackData ) #endif Loading @@ -2640,7 +2640,11 @@ void ivas_dirac_dec_render_sf( p_Rmat = &st_ivas->hHeadTrackData->Rmat[0][0]; #endif #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 ) #else if ( st_ivas->hHeadTrackData->shd_rot_max_order == 0 ) #endif { num_freq_bands = hDirAC->band_grouping[hDirAC->hConfig->enc_param_start_band]; #ifdef FIX_393_459_460_SBA_MD Loading Loading @@ -2714,7 +2718,7 @@ void ivas_dirac_dec_render_sf( } } #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hHeadTrackData->shd_rot_max_order == 1 ) if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hCombinedOrientationData->shd_rot_max_order == 1 ) #else if ( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData->shd_rot_max_order == 1 ) #endif Loading @@ -2731,7 +2735,11 @@ void ivas_dirac_dec_render_sf( #endif md_idx, surCohRatio, #ifdef EXTERNAL_ORIENTATIONS st_ivas->hCombinedOrientationData->shd_rot_max_order, #else st_ivas->hHeadTrackData->shd_rot_max_order, #endif p_Rmat, hodirac_flag ); } Loading Loading @@ -2821,7 +2829,7 @@ void ivas_dirac_dec_render_sf( if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) { #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hHeadTrackData->shd_rot_max_order == 0 ) if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 ) #else if ( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData->shd_rot_max_order == 0 ) #endif Loading Loading @@ -2907,7 +2915,11 @@ void ivas_dirac_dec_render_sf( #ifdef FIX_393_459_460_SBA_MD mvs2s( &hDirAC->azimuth[md_idx][hDirAC->hConfig->enc_param_start_band], &azimuth[hDirAC->hConfig->enc_param_start_band], hDirAC->num_freq_bands - hDirAC->hConfig->enc_param_start_band ); mvs2s( &hDirAC->elevation[md_idx][hDirAC->hConfig->enc_param_start_band], &elevation[hDirAC->hConfig->enc_param_start_band], hDirAC->num_freq_bands - hDirAC->hConfig->enc_param_start_band ); #ifdef EXTERNAL_ORIENTATIONS if ( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) && st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 ) #else if ( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData->shd_rot_max_order == 0 ) #endif { num_freq_bands = hDirAC->band_grouping[hDirAC->hConfig->enc_param_start_band]; rotateAziEle_DirAC( azimuth, elevation, num_freq_bands, hDirAC->num_freq_bands, p_Rmat ); Loading Loading @@ -3072,7 +3084,7 @@ void ivas_dirac_dec_render_sf( /*Compute PSDs*/ #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hHeadTrackData->shd_rot_max_order > 0 ) if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hCombinedOrientationData->shd_rot_max_order > 0 ) #else if ( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData->shd_rot_max_order > 0 ) #endif Loading @@ -3089,7 +3101,11 @@ void ivas_dirac_dec_render_sf( diffuseness_vector[slot_idx], #endif hDirAC, #ifdef EXTERNAL_ORIENTATIONS st_ivas->hCombinedOrientationData->shd_rot_max_order, #else st_ivas->hHeadTrackData->shd_rot_max_order, #endif p_Rmat, st_ivas->hVBAPdata, hDirAC->hOutSetup, Loading Loading @@ -3241,10 +3257,11 @@ void ivas_dirac_dec_render_sf( { /* Perform binaural rendering */ ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, #ifdef EXTERNAL_ORIENTATIONS st_ivas->hCombinedOrientationData, subframe_idx, #else st_ivas->hHeadTrackData, #endif hDirAC->subframe_nbslots[subframe_idx], Cldfb_RealBuffer_Binaural, Loading lib_dec/ivas_ism_param_dec.c +7 −1 Original line number Diff line number Diff line Loading @@ -1008,7 +1008,13 @@ void ivas_ism_dec_digest_tc( azimuth = (int16_t) floorf( st_ivas->hIsmMetaData[i]->azimuth + 0.5f ); elevation = (int16_t) floorf( st_ivas->hIsmMetaData[i]->elevation + 0.5f ); if ( ( st_ivas->renderer_type == RENDERER_TD_PANNING || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) && st_ivas->hHeadTrackData == NULL ) if ( ( st_ivas->renderer_type == RENDERER_TD_PANNING || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) && #ifdef EXTERNAL_ORIENTATIONS st_ivas->hCombinedOrientationData == NULL #else st_ivas->hHeadTrackData == NULL #endif ) { if ( st_ivas->hIntSetup.is_planar_setup ) { Loading Loading
lib_com/ivas_prot.h +2 −1 Original line number Diff line number Diff line Loading @@ -5159,10 +5159,11 @@ void ivas_binaural_cldfb_sf( #endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: fastconv binaural renderer handle */ HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #ifdef EXTERNAL_ORIENTATIONS COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */ int16_t subframe_idx, /* i : subframe index */ #else HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #endif const int16_t numTimeSlots, /* i: : number of time slots to process */ float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ #define FIX_395_CNG_BW /* Eri: Issue 395 - CNG bandwidth issue for unified stereo */ #define EXTERNAL_ORIENTATIONS /* Nokia: Contribution 41: (external) orientation information handling */ #define FIX_541_EXT_REND_MASA_ROTATIONS /* Nokia: Issue 541, rotations missing in masa external renderer */ #define MASA_PREREND /* Nokia: Contribution 42: Support for IVAS_rend to merge MASA + other format to MASA */ #define ISM_25k6_HZ_CORE /* VA: issue 540: 1ISM 48 kbps - change ACELP/TCX 16 kHz core to TCX only 25.6 kHz core */ Loading
lib_dec/ivas_binRenderer_internal.c +18 −14 Original line number Diff line number Diff line Loading @@ -1059,7 +1059,7 @@ void ivas_binaural_cldfb( /* Implement binaural rendering */ #ifdef EXTERNAL_ORIENTATIONS ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, st_ivas->hCombinedOrientationData, subframeIdx, JBM_CLDFB_SLOTS_IN_SUBFRAME, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hCombinedOrientationData, subframeIdx, JBM_CLDFB_SLOTS_IN_SUBFRAME, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); #else ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, JBM_CLDFB_SLOTS_IN_SUBFRAME, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); #endif Loading Loading @@ -1155,7 +1155,7 @@ void ivas_binaural_cldfb_sf( /* Implement binaural rendering */ #ifdef EXTERNAL_ORIENTATIONS ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, st_ivas->hCombinedOrientationData, subframeIdx, st_ivas->hTcBuffer->subframe_nbslots[subframeIdx], Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hCombinedOrientationData, subframeIdx, st_ivas->hTcBuffer->subframe_nbslots[subframeIdx], Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); #else ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, st_ivas->hTcBuffer->subframe_nbslots[subframeIdx], Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer, Cldfb_ImagBuffer ); #endif Loading Loading @@ -1193,10 +1193,11 @@ void ivas_binaural_cldfb_sf( void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle */ HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #ifdef EXTERNAL_ORIENTATIONS COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */ int16_t subframe_idx, /* i : subframe index */ #else HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #endif const int16_t numTimeSlots, /* i : number of time slots to render*/ float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ Loading @@ -1221,34 +1222,37 @@ void ivas_binRenderer( } /* Head rotation in HOA3 or CICPx */ if ( hHeadTrackData if ( #ifdef EXTERNAL_ORIENTATIONS && hCombinedOrientationData != NULL && hCombinedOrientationData->enableCombinedOrientation[subframe_idx] hCombinedOrientationData != NULL && hCombinedOrientationData->enableCombinedOrientation[subframe_idx] #else && hHeadTrackData->num_quaternions >= 0 hHeadTrackData && hHeadTrackData->num_quaternions >= 0 #endif && hBinRenderer->rotInCldfb ) { if ( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 ) { /* Rotation in SHD (HOA3) */ if ( hHeadTrackData->shd_rot_max_order == -1 ) { #ifdef EXTERNAL_ORIENTATIONS if ( hCombinedOrientationData->shd_rot_max_order == -1 ) { rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hCombinedOrientationData->Rmat[subframe_idx], hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, 3 ); } else if ( hCombinedOrientationData->shd_rot_max_order > 0 ) { rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hCombinedOrientationData->Rmat[subframe_idx], hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, hCombinedOrientationData->shd_rot_max_order ); } #else if ( hHeadTrackData->shd_rot_max_order == -1 ) { QuatToRotMat( hHeadTrackData->Quaternions[hHeadTrackData->num_quaternions++], hHeadTrackData->Rmat ); rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hHeadTrackData->Rmat, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, 3 ); #endif } else if ( hHeadTrackData->shd_rot_max_order > 0 ) { #ifdef EXTERNAL_ORIENTATIONS rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hCombinedOrientationData->Rmat[subframe_idx], hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, hHeadTrackData->shd_rot_max_order ); #else rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hHeadTrackData->Rmat, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, hHeadTrackData->shd_rot_max_order ); #endif } #endif } else { Loading
lib_dec/ivas_dirac_dec.c +22 −5 Original line number Diff line number Diff line Loading @@ -2627,7 +2627,7 @@ void ivas_dirac_dec_render_sf( } #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hHeadTrackData && st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] ) if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] ) #else if ( st_ivas->hHeadTrackData ) #endif Loading @@ -2640,7 +2640,11 @@ void ivas_dirac_dec_render_sf( p_Rmat = &st_ivas->hHeadTrackData->Rmat[0][0]; #endif #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 ) #else if ( st_ivas->hHeadTrackData->shd_rot_max_order == 0 ) #endif { num_freq_bands = hDirAC->band_grouping[hDirAC->hConfig->enc_param_start_band]; #ifdef FIX_393_459_460_SBA_MD Loading Loading @@ -2714,7 +2718,7 @@ void ivas_dirac_dec_render_sf( } } #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hHeadTrackData->shd_rot_max_order == 1 ) if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hCombinedOrientationData->shd_rot_max_order == 1 ) #else if ( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData->shd_rot_max_order == 1 ) #endif Loading @@ -2731,7 +2735,11 @@ void ivas_dirac_dec_render_sf( #endif md_idx, surCohRatio, #ifdef EXTERNAL_ORIENTATIONS st_ivas->hCombinedOrientationData->shd_rot_max_order, #else st_ivas->hHeadTrackData->shd_rot_max_order, #endif p_Rmat, hodirac_flag ); } Loading Loading @@ -2821,7 +2829,7 @@ void ivas_dirac_dec_render_sf( if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) { #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hHeadTrackData->shd_rot_max_order == 0 ) if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 ) #else if ( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData->shd_rot_max_order == 0 ) #endif Loading Loading @@ -2907,7 +2915,11 @@ void ivas_dirac_dec_render_sf( #ifdef FIX_393_459_460_SBA_MD mvs2s( &hDirAC->azimuth[md_idx][hDirAC->hConfig->enc_param_start_band], &azimuth[hDirAC->hConfig->enc_param_start_band], hDirAC->num_freq_bands - hDirAC->hConfig->enc_param_start_band ); mvs2s( &hDirAC->elevation[md_idx][hDirAC->hConfig->enc_param_start_band], &elevation[hDirAC->hConfig->enc_param_start_band], hDirAC->num_freq_bands - hDirAC->hConfig->enc_param_start_band ); #ifdef EXTERNAL_ORIENTATIONS if ( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) && st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 ) #else if ( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData->shd_rot_max_order == 0 ) #endif { num_freq_bands = hDirAC->band_grouping[hDirAC->hConfig->enc_param_start_band]; rotateAziEle_DirAC( azimuth, elevation, num_freq_bands, hDirAC->num_freq_bands, p_Rmat ); Loading Loading @@ -3072,7 +3084,7 @@ void ivas_dirac_dec_render_sf( /*Compute PSDs*/ #ifdef EXTERNAL_ORIENTATIONS if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hHeadTrackData->shd_rot_max_order > 0 ) if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[subframe_idx] && st_ivas->hCombinedOrientationData->shd_rot_max_order > 0 ) #else if ( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData->shd_rot_max_order > 0 ) #endif Loading @@ -3089,7 +3101,11 @@ void ivas_dirac_dec_render_sf( diffuseness_vector[slot_idx], #endif hDirAC, #ifdef EXTERNAL_ORIENTATIONS st_ivas->hCombinedOrientationData->shd_rot_max_order, #else st_ivas->hHeadTrackData->shd_rot_max_order, #endif p_Rmat, st_ivas->hVBAPdata, hDirAC->hOutSetup, Loading Loading @@ -3241,10 +3257,11 @@ void ivas_dirac_dec_render_sf( { /* Perform binaural rendering */ ivas_binRenderer( st_ivas->hBinRenderer, st_ivas->hHeadTrackData, #ifdef EXTERNAL_ORIENTATIONS st_ivas->hCombinedOrientationData, subframe_idx, #else st_ivas->hHeadTrackData, #endif hDirAC->subframe_nbslots[subframe_idx], Cldfb_RealBuffer_Binaural, Loading
lib_dec/ivas_ism_param_dec.c +7 −1 Original line number Diff line number Diff line Loading @@ -1008,7 +1008,13 @@ void ivas_ism_dec_digest_tc( azimuth = (int16_t) floorf( st_ivas->hIsmMetaData[i]->azimuth + 0.5f ); elevation = (int16_t) floorf( st_ivas->hIsmMetaData[i]->elevation + 0.5f ); if ( ( st_ivas->renderer_type == RENDERER_TD_PANNING || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) && st_ivas->hHeadTrackData == NULL ) if ( ( st_ivas->renderer_type == RENDERER_TD_PANNING || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) && #ifdef EXTERNAL_ORIENTATIONS st_ivas->hCombinedOrientationData == NULL #else st_ivas->hHeadTrackData == NULL #endif ) { if ( st_ivas->hIntSetup.is_planar_setup ) { Loading