Commit d7b59aa6 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch 'main' of forge.3gpp.org:ivas-codec-pc/ivas-codec into...

Merge branch 'main' of forge.3gpp.org:ivas-codec-pc/ivas-codec into 500-head-tracking-api-causes-extra-15ms-of-delay
parents 984969c9 c33d864a
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -208,6 +208,7 @@
#ifdef SPLIT_REND_WITH_HEAD_ROT
#define SPLIT_REND_PRED_QUANT_63_PNTS
#define SPLIT_REND_WITH_HEAD_ROT_PARAMBIN               /* Nokia: Issue 623: Split rendering support for parambin renderer */
#define FIX_658_SPLIT_REND_MASA                         /*Dlb : Fix for issue 658, uninitialized memory access in MASA in Split rendering 0DOF mode*/                 
#endif
#define FIX_594_STL_INCLUDE                             /* FhG: issue 594: Missing include of stl.h */

+4 −0
Original line number Diff line number Diff line
@@ -577,6 +577,10 @@ ivas_error ivas_jbm_dec_tc(
        st_ivas->ini_active_frame++;
    }

#ifdef MASA_AND_OBJECTS
    st_ivas->last_ivas_format = st_ivas->ivas_format;
#endif

#ifdef DEBUG_MODE_INFO
    dbgwrite( &st_ivas->bfi, sizeof( int16_t ), 1, output_frame, "res/bfi" );
    dbgwrite( &st_ivas->BER_detect, sizeof( int16_t ), 1, output_frame, "res/BER_detect" );
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@
#ifdef DEBUGGING
#include "debug.h"
#endif
#include "wmc_auto.h"


#ifdef MASA_AND_OBJECTS
+5 −1
Original line number Diff line number Diff line
@@ -996,8 +996,12 @@ static void ivas_dirac_dec_binaural_internal(

#ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN
    pMultiBinPoseData = &st_ivas->splitBinRend.splitrend.multiBinPoseData;

#ifdef FIX_658_SPLIT_REND_MASA
    if ( ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CODED ||
           st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
#else
    if ( pMultiBinPoseData != NULL && pMultiBinPoseData->num_poses > 1 )
#endif
    {
        ivas_dirac_dec_binaural_process_output( hDiracDecBin, hSpatParamRendCom, st_ivas->cldfbSynDec, output_f, Cldfb_RealBuffer_in, Cldfb_ImagBuffer_in,
                                                max_band_decorr, numInChannels, config_data.processReverb, subframe, tmp_Cldfb_out_re, tmp_Cldfb_out_im,
+29 −12
Original line number Diff line number Diff line
@@ -3310,7 +3310,12 @@ static DecoderDummy *initDecoderDummy(
    decDummy->splitBinRend.hMultiBinCldfbData = NULL;
    ivas_init_split_rend_handles( &decDummy->splitBinRend.splitrend );
    decDummy->splitBinRend.splitrend = *pSplitRendWrapper;
#ifdef FIX_658_SPLIT_REND_MASA
    if ( outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ||
         outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
#else
    if ( decDummy->splitBinRend.splitrend.multiBinPoseData.num_poses > 1 )
#endif
    {
        if ( ( decDummy->splitBinRend.hMultiBinCldfbData = (IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE) malloc( sizeof( IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA ) ) ) == NULL )
        {
@@ -4239,6 +4244,11 @@ ivas_error IVAS_REND_AddInput(
        {
            cldfb_in = 1;
        }
#ifdef FIX_658_SPLIT_REND_MASA
        ivas_split_rend_choose_default_codec( &hIvasRend->hRendererConfig->split_rend_config.codec,
                                              ( cldfb_in == 0 ),
                                              hIvasRend->outputConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_PCM );
#endif
        if ( ( error = initSplitRend( &hIvasRend->splitRendWrapper,
                                      &hIvasRend->splitRendEncBuffer,
                                      &hIvasRend->hRendererConfig->split_rend_config,
@@ -5094,7 +5104,13 @@ int16_t IVAS_REND_FeedRenderConfig(
    }

    /* Must re-initialize split rendering config in case renderer config is updated after adding renderer inputs */
#ifdef FIX_658_SPLIT_REND_MASA
    /*if its not initialized yet then no need to re-initialize, initialization will happen while adding inputs*/
    if ( hIvasRend->splitRendEncBuffer.data != NULL && hIvasRend->hRendererConfig != NULL )
#endif
    {
        closeSplitRend( &hIvasRend->splitRendWrapper, &hIvasRend->splitRendEncBuffer );
        /* TODO : Do not hard code TDin to 1 here*/
        ivas_split_rend_choose_default_codec( &hIvasRend->hRendererConfig->split_rend_config.codec,
                                              1,
                                              hIvasRend->outputConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_PCM );
@@ -5108,6 +5124,7 @@ int16_t IVAS_REND_FeedRenderConfig(
        {
            return error;
        }
    }
#endif

    return IVAS_ERR_OK;
Loading