diff --git a/lib_com/options.h b/lib_com/options.h index 2e144edc5ff8cf60031b59861bd483f6c82d3fb4..f7ee9e9c7c2917dec1ec1273a8f5d90ad3c11084 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -203,6 +203,7 @@ #define COMPLEXITY_LEVEL_INDICATION +#define FIX_463_TD_RENDERER_DIRECTIVITY_RESET /* Eri: Remove unintentional reset of directivity pattern */ #define FIX_642 /* FhG: Fix for issue 642, buggy DoA-array access in DirAC head rotation*/ diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 83db83293750b00ae85ae5b3a5f721d9c2a0da84..e163862eebf722628dc4ce1169ddf113621dbe02 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -484,10 +484,12 @@ void TDREND_Update_object_positions( /* Source position and direction */ angles_to_vec( hIsmMetaData[nS]->radius, hIsmMetaData[nS]->azimuth, hIsmMetaData[nS]->elevation, Pos ); angles_to_vec( 1.0f, hIsmMetaData[nS]->yaw, hIsmMetaData[nS]->pitch, Dir ); +#ifndef FIX_463_TD_RENDERER_DIRECTIVITY_RESET /* Source directivity info */ DirAtten_p->ConeInnerAngle = 360.0f; DirAtten_p->ConeOuterAngle = 360.0f; DirAtten_p->ConeOuterGain = 1.0f; +#endif TDREND_MIX_SRC_SetPos( hBinRendererTd, nS, Pos ); TDREND_MIX_SRC_SetDirAtten( hBinRendererTd, nS, DirAtten_p ); diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index d82e00c067b188c43a54804ba1e5acc5b870c75d..ef5561ca98d61ab4e8736c8a35cc76be74774cb4 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3793,6 +3793,9 @@ int16_t IVAS_REND_GetRenderConfig( hRCout->room_acoustics.nBands = hRCin->roomAcoustics.nBands; hRCout->room_acoustics.acousticPreDelay = hRCin->roomAcoustics.acousticPreDelay; hRCout->room_acoustics.inputPreDelay = hRCin->roomAcoustics.inputPreDelay; +#ifdef FIX_463_TD_RENDERER_DIRECTIVITY_RESET + mvr2r( hRCin->directivity, hRCout->directivity, 3 ); +#endif mvr2r( hRCin->roomAcoustics.pFc_input, hRCout->room_acoustics.pFc_input, CLDFB_NO_CHANNELS_MAX ); mvr2r( hRCin->roomAcoustics.pAcoustic_rt60, hRCout->room_acoustics.pAcoustic_rt60, CLDFB_NO_CHANNELS_MAX ); @@ -3819,9 +3822,8 @@ int16_t IVAS_REND_FeedRenderConfig( { return IVAS_ERR_UNEXPECTED_NULL_POINTER; } - hRenderConfig = hIvasRend->hRendererConfig; - mvr2r( renderConfig.directivity, hRenderConfig->directivity, 3 ); + #ifdef DEBUGGING hRenderConfig->renderer_type_override = RENDER_TYPE_OVERRIDE_NONE; if ( renderConfig.renderer_type_override == IVAS_RENDER_TYPE_OVERRIDE_FASTCONV )