Commit bb562165 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

cross connection to CLDFB codec in ISM split rendering mode

parent 2ea956e5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
BITRATE = 768000;
DOF = 1;
HQMODE = 0;
CODEC = 1
CODEC = 1;

[GENERAL]
RENDERER = CREND;
+2 −0
Original line number Diff line number Diff line
@@ -181,6 +181,8 @@
//#define SPLIT_REND_WITH_HEAD_ROT_DEBUG // only for debugging purposes
//#define DBG_WAV_WRITER

#define SPLIT_REND_CLDFB_ISM

#define SPLIT_SIN_SCALING_AND_EXTRAPOL_LIMIT

#define SPLIT_REND_ZERO_OUT_YAW_D
+5 −0
Original line number Diff line number Diff line
@@ -548,6 +548,11 @@ ivas_error ivas_td_binaural_open_ext(

    transport_config = getIvasAudioConfigFromRendAudioConfig( inConfig );
    ivas_format = ( getAudioConfigType( inConfig ) == IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) ? MC_FORMAT : ISM_FORMAT;

#ifdef SPLIT_REND_WITH_HEAD_ROT
    hTransSetup.ls_azimuth = NULL;
    hTransSetup.ls_elevation = NULL;
#endif
#ifdef TD_TDREND_FIX_NULLPTR_ACCESS
    if ( inConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM )
    {
+21 −3
Original line number Diff line number Diff line
@@ -3237,7 +3237,14 @@ static ivas_error initSplitRend( SPLIT_REND_WRAPPER *pSplitRendWrapper, IVAS_REN
        error = ivas_split_renderer_open( pSplitRendWrapper,
                                          pSplit_rend_config,
                                          outputSampleRate,
                                          0, 0 );

                                          0,
#ifdef SPLIT_REND_CLDFB_ISM
                                          ( outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0
#else
                                          0
#endif
        );
        if ( error != IVAS_ERR_OK )
        {
            return error;
@@ -3855,7 +3862,9 @@ ivas_error IVAS_REND_AddInput(
                /* Hack to override default split rendering codec from Dolby CLDFB to LC3plus.
                   This will not be necessary once the split rendering codec becomes selectable by the lib user. */
                closeSplitRend( &hIvasRend->splitRendWrapper, &hIvasRend->splitRendEncBuffer );
#ifndef SPLIT_REND_CLDFB_ISM
                hIvasRend->hRendererConfig->split_rend_config.codec = IVAS_SPLIT_REND_CODEC_LC3PLUS;
#endif
                if ( ( error = initSplitRend( &hIvasRend->splitRendWrapper, &hIvasRend->splitRendEncBuffer, &hIvasRend->hRendererConfig->split_rend_config, hIvasRend->headRotData, hIvasRend->sampleRateOut, hIvasRend->outputConfig ) ) != IVAS_ERR_OK )
                {
                    return error;
@@ -7308,7 +7317,11 @@ ivas_error IVAS_REND_GetSamples(
#endif

#ifdef SPLIT_REND_LC3PLUS
    if ( hIvasRend->outputConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_CLDFB
    if ( ( hIvasRend->outputConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_CLDFB
#ifdef SPLIT_REND_CLDFB_ISM
           || hIvasRend->outputConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_PCM
#endif
           )
         /* The condition below is a temp fix for differences in procesing paths between split rendering of SBA and ISM. Should be unified */
         && hIvasRend->inputsIsm[0].base.inConfig != IVAS_REND_AUDIO_CONFIG_UNKNOWN )
    {
@@ -7333,7 +7346,12 @@ ivas_error IVAS_REND_GetSamples(
                                                    tmpBinaural,
                                                    1,
                                                    1,
                                                    0 );
#ifdef SPLIT_REND_CLDFB_ISM
                                                    ( hIvasRend->outputConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0
#else
                                                    0
#endif
        );
        if ( error != IVAS_ERR_OK )
        {
            return error;