Commit ca0d6894 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

adding cross connections in ISM mode in IVAS decoder

parent bb562165
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ typedef enum
{
    IVAS_SPLIT_REND_CODEC_LCLD,
    IVAS_SPLIT_REND_CODEC_LC3PLUS,
    IVAS_SPLIT_REND_CODEC_NONE
} IVAS_SPLIT_REND_CODEC;
#endif

+14 −2
Original line number Diff line number Diff line
@@ -1282,21 +1282,33 @@ ivas_error ivas_init_decoder(
        }

#ifdef SPLIT_REND_LC3PLUS
#ifdef SPLIT_REND_CLDFB_ISM
        if ( ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CLDFB ) ||
             ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
#else
        if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CLDFB )
#endif
        {
            ivas_renderSplitGetMultiBinPoseData(
                &st_ivas->hRenderConfig->split_rend_config,
                &st_ivas->splitBinRend.splitrend.multiBinPoseData,
                st_ivas->hHeadTrackData->sr_pose_pred_axis );
            /* Split rendering with ISMs only supported with LC3plus */
#ifndef SPLIT_REND_CLDFB_ISM
            assert( st_ivas->hRenderConfig->split_rend_config.codec == IVAS_SPLIT_REND_CODEC_LC3PLUS );

#endif
#ifdef FIX_SPLIT_REND_OPEN_ERROR_HANDLING
            error =
#endif
                ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend,
                                          &st_ivas->hRenderConfig->split_rend_config,
                                          hDecoderConfig->output_Fs, 0, 0 );
                                          hDecoderConfig->output_Fs, 0,
#ifdef SPLIT_REND_CLDFB_ISM
                                          ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0
#else
                                      0
#endif
                );

#ifdef FIX_SPLIT_REND_OPEN_ERROR_HANDLING
            if ( error != IVAS_ERR_OK )
+7 −0
Original line number Diff line number Diff line
@@ -2005,6 +2005,13 @@ static ivas_error ivas_renderMultiTDBinToSplitBinaural(
        }
#endif
    }
#ifdef SPLIT_REND_LC3PLUS
    else
    {
        pBits->pose_correction = hSplitBin->multiBinPoseData.poseCorrectionMode;
        pBits->codec = IVAS_SPLIT_REND_CODEC_NONE;
    }
#endif

    /*zero pad*/
    bit_len = SplitRendBitRate / FRAMES_PER_SEC;