Commit caad186b authored by TYAGIRIS's avatar TYAGIRIS
Browse files

split rendering asan fixes

parent 8784b156
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@
#define TMP_FIX_1119_SPLIT_RENDERING_VOIP               /* FhG: Add error check for unsupported config: split rendering with VoIP mode */
#define FIX_1335_EXTREND_RETCODE                        /* FhG: Add modification of returncode for external renderer when an error occurs */
#define FIX_938_COMPILER_WARNING                        /* FhG: Fix compiler warning in ivas_mdct_core_reconstruct() */

#define FIX_1288_SPLIT_REND_XSAN                        /* Dlb: Fix asan, msan and usan issues in split rendering mode*/

/* #################### End BE switches ################################## */

+4 −1
Original line number Diff line number Diff line
@@ -2782,8 +2782,11 @@ void ivas_destroy_dec(
    ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin );

    /* Crend handle */
#ifndef FIX_1288_SPLIT_REND_XSAN
    ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ), ( st_ivas->hSplitBinRend == NULL ) ? 1 : st_ivas->hSplitBinRend->splitrend.multiBinPoseData.num_poses );

#else
    ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ) );
#endif
    /* Reverb handle */
    ivas_reverb_close( &st_ivas->hReverb );

+4 −0
Original line number Diff line number Diff line
@@ -253,7 +253,11 @@ static ivas_error ivas_ism_bitrate_switching_dec(
            }

            /* close the crend binaural renderer */
#ifndef FIX_1288_SPLIT_REND_XSAN
            ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ), ( st_ivas->hSplitBinRend == NULL ) ? 1 : st_ivas->hSplitBinRend->splitrend.multiBinPoseData.num_poses );
#else
            ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ) );
#endif
        }
    }

+4 −0
Original line number Diff line number Diff line
@@ -1169,7 +1169,11 @@ static ivas_error ivas_mc_dec_reconfig(

            if ( ( st_ivas->hCrendWrapper != NULL ) && ( st_ivas->hCrendWrapper->hCrend[0] != NULL ) && ( st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV && st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV_ROOM && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD || st_ivas->hIntSetup.output_config != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) ) )
            {
#ifndef FIX_1288_SPLIT_REND_XSAN
                ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ), ( st_ivas->hSplitBinRend == NULL ) ? 1 : st_ivas->hSplitBinRend->splitrend.multiBinPoseData.num_poses );
#else
                ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ) );
#endif
            }

            if ( st_ivas->hBinRendererTd != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD ) )
+16 −1
Original line number Diff line number Diff line
@@ -1076,6 +1076,13 @@ ivas_error ivas_rend_initCrendWrapper(
    ( *pCrend )->binaural_latency_ns = 0;
    ( *pCrend )->hHrtfCrend = NULL;

#ifdef FIX_1288_SPLIT_REND_XSAN
    for ( pos_idx = 0; pos_idx < MAX_HEAD_ROT_POSES; pos_idx++ )
    {
        ( *pCrend )->hCrend[pos_idx] = NULL;
    }
#endif

    for ( pos_idx = 0; pos_idx < num_poses; pos_idx++ )
    {
        hCrend = NULL;
@@ -1338,10 +1345,14 @@ ivas_error ivas_rend_openCrend(
 *
 * Deallocate Crend renderer handle
 *------------------------------------------------------------------------*/

#ifndef FIX_1288_SPLIT_REND_XSAN
void ivas_rend_closeCrend(
    CREND_WRAPPER_HANDLE *pCrend,
    const int16_t num_poses )
#else
void ivas_rend_closeCrend(
    CREND_WRAPPER_HANDLE *pCrend )
#endif
{
    int16_t i;
    int16_t pos_idx;
@@ -1357,7 +1368,11 @@ void ivas_rend_closeCrend(
        ivas_hrtf_close( &( *pCrend )->hHrtfCrend );
    }

#ifndef FIX_1288_SPLIT_REND_XSAN
    for ( pos_idx = 0; pos_idx < num_poses; pos_idx++ )
#else
    for ( pos_idx = 0; pos_idx < MAX_HEAD_ROT_POSES; pos_idx++ )
#endif
    {
        hCrend = ( *pCrend )->hCrend[pos_idx];
        if ( hCrend != NULL )
Loading