Commit a976ad4a authored by multrus's avatar multrus
Browse files

Merge branch '1665_ref_portFlp1655_cldfbSplitRendFoaHoa2' into 'ivas-float-update'

Port Flp MR 1655 to ivas-float-update - CLDFB renderer FOA/HOA2 in split-rendering with external renderer

See merge request !2320
parents e5420576 76d2d0a1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 ############################ */

+5 −0
Original line number Diff line number Diff line
@@ -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++ )
+12 −0
Original line number Diff line number Diff line
@@ -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 */
)
+9 −0
Original line number Diff line number Diff line
@@ -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                         */
);