Commit 3f8110ec authored by multrus's avatar multrus
Browse files

Merge branch '1665_basop_portFlp1655_cldfbSplitRendFoaHoa2' into 'main'

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

Closes #1665

See merge request !2321
parents 7bfbf2c9 70896787
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -136,6 +136,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 ############################ */

+6 −0
Original line number Diff line number Diff line
@@ -1022,7 +1022,13 @@ void rotateFrame_shd_cldfb(
    move16();
    move16();
    move16();

#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++ )
+8 −0
Original line number Diff line number Diff line
@@ -255,12 +255,20 @@ ivas_error IVAS_REND_InitConfig(
    const IVAS_AUDIO_CONFIG outAudioConfig          /* i  : output audioConfig                                  */
);

#ifdef FIX_1113_EXTREND_ISAR
ivas_error IVAS_REND_GetRenderConfig(
#else
Word16 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
Word16 IVAS_REND_FeedRenderConfig(
#endif
    IVAS_REND_HANDLE hIvasRend,                     /* i/o: IVAS renderer handle                                */
    const IVAS_RENDER_CONFIG_DATA renderConfig      /* i  : Render configuration struct                         */
);
+12 −0
Original line number Diff line number Diff line
@@ -3107,7 +3107,11 @@ static ivas_error updateSbaPanGains(
                    IF( EQ_32( 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;
@@ -4982,7 +4986,11 @@ ivas_error IVAS_REND_InitConfig(
 *
 *-------------------------------------------------------------------*/

#ifdef FIX_1113_EXTREND_ISAR
ivas_error IVAS_REND_GetRenderConfig(
#else
Word16 IVAS_REND_GetRenderConfig(
#endif
    IVAS_REND_HANDLE hIvasRend,            /* i/o: IVAS renderer handle        */
    const IVAS_RENDER_CONFIG_HANDLE hRCout /* o  : Render configuration handle */
)
@@ -5039,7 +5047,11 @@ Word16 IVAS_REND_GetRenderConfig(
 *
 *-------------------------------------------------------------------*/

#ifdef FIX_1113_EXTREND_ISAR
ivas_error IVAS_REND_FeedRenderConfig(
#else
Word16 IVAS_REND_FeedRenderConfig(
#endif
    IVAS_REND_HANDLE hIvasRend,                /* i/o: IVAS renderer handle        */
    const IVAS_RENDER_CONFIG_DATA renderConfig /* i  : Render configuration struct */
)