diff --git a/lib_com/options.h b/lib_com/options.h index 909061536ed6f1450d9c53ff5da97fba8e95543f..328d1aa08128e4fedf1b45d2424aa0a3c6a7b9e1 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -193,6 +193,7 @@ #define ADJUST_MCT_CHANNELS_MAX /* FhG: set correct max mct channels constant*/ #define FIX_1053_REVERB_RECONFIGURATION #define TMP_FIX_1119_SPLIT_RENDERING_VOIP /* FhG: Add error check for unsupported config: split rendering with VoIP mode */ +#define FIX_1113_EXTREND_ISAR /* FhG: issue 1113: fix external renderer asserts for FOA/HOA2 and CLDFB config */ /* #################### End BASOP porting switches ############################ */ diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index a829db866d320e3962212bd72b190f6e5b763e1d..4fb8217e5c434bc9d684830a3b5db4e5b531c2e8 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -508,7 +508,12 @@ void rotateFrame_shd_cldfb( float realRot[2 * HEADROT_ORDER + 1], imagRot[2 * HEADROT_ORDER + 1]; float SHrotmat[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM]; +#ifdef FIX_1113_EXTREND_ISAR + assert( ( nInChannels == HOA3_CHANNELS || nInChannels == HOA2_CHANNELS || nInChannels == FOA_CHANNELS ) && + "Number of channels must correspond to an ambisonics order!" ); +#else assert( nInChannels == HEADROT_SHMAT_DIM && "Number of channels must be 16!" ); +#endif /* initialize rotation matrices with zeros */ for ( i = 0; i < HEADROT_SHMAT_DIM; i++ ) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 3fc2347752a268c6cf40815347e7d32e6bc6b9b4..07c3d6086fc4a715862be113bd81880592847133 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -2565,7 +2565,11 @@ static ivas_error updateSbaPanGains( if ( hRendCfg->split_rend_config.rendererSelection == ISAR_SPLIT_REND_RENDERER_SELECTION_FASTCONV ) #endif { +#ifdef FIX_1113_EXTREND_ISAR + assert( *rendCtx.pOutSampleRate == 48000 && "split binaural fast conv mode is currently supported with 48k sampling rate only" ); +#else assert( inConfig == IVAS_AUDIO_CONFIG_HOA3 && ( *rendCtx.pOutSampleRate == 48000 ) && "split binaural fast conv mode is currently supported with HOA3 input and 48k sampling rate only" ); +#endif if ( ( error = ivas_rend_openCldfbRend( &inputSba->cldfbRendWrapper, inConfig, outConfig, &rendCtx.pSplitRendWrapper->multiBinPoseData, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK ) { return error; @@ -4274,7 +4278,11 @@ ivas_error IVAS_REND_InitConfig( * *-------------------------------------------------------------------*/ +#ifdef FIX_1113_EXTREND_ISAR +ivas_error IVAS_REND_GetRenderConfig( +#else int16_t IVAS_REND_GetRenderConfig( +#endif IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS renderer handle */ const IVAS_RENDER_CONFIG_HANDLE hRCout /* o : Render configuration handle */ ) @@ -4338,7 +4346,11 @@ int16_t IVAS_REND_GetRenderConfig( * *-------------------------------------------------------------------*/ +#ifdef FIX_1113_EXTREND_ISAR +ivas_error IVAS_REND_FeedRenderConfig( +#else int16_t IVAS_REND_FeedRenderConfig( +#endif IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS renderer handle */ const IVAS_RENDER_CONFIG_DATA renderConfig /* i : Render configuration struct */ ) diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index 463e1a88220f98460ebcbdb8158a957c1e575cd6..4ed038df97d6858991f8358569e6d384982e4a09 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -246,12 +246,21 @@ ivas_error IVAS_REND_InitConfig( const IVAS_AUDIO_CONFIG outAudioConfig /* i : output audioConfig */ ); +#ifdef FIX_1113_EXTREND_ISAR +ivas_error IVAS_REND_GetRenderConfig( +#else int16_t IVAS_REND_GetRenderConfig( +#endif IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS renderer handle */ const IVAS_RENDER_CONFIG_HANDLE hRCout /* o : Render configuration handle */ ); + +#ifdef FIX_1113_EXTREND_ISAR +ivas_error IVAS_REND_FeedRenderConfig( +#else int16_t IVAS_REND_FeedRenderConfig( +#endif IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS renderer handle */ const IVAS_RENDER_CONFIG_DATA renderConfig /* i : Render configuration struct */ );