Commit 4f264d2c authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Fix various sanitizer problems.

parent ec0c2c3e
Loading
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2238,6 +2238,14 @@ static void ivas_masa_ext_dirac_render_sf(
                              hMasaExtRend->cldfbAnaRend[ch] );
        }


        if ( nchan_transport == 1 )
        {
            /* Need to set second CLDFB channel to zero as further processing assumes CNA content in it */
            set_zero( Cldfb_RealBuffer[1][0], hSpatParamRendCom->num_freq_bands );
            set_zero( Cldfb_ImagBuffer[1][0], hSpatParamRendCom->num_freq_bands );
        }

        /*-----------------------------------------------------------------*
         * protoype signal computation
         *-----------------------------------------------------------------*/
+18 −13
Original line number Diff line number Diff line
@@ -7557,7 +7557,8 @@ static ivas_error renderActiveInputsSba(

static void copyMasaMetadataToDiracRenderer(
    MASA_METADATA_FRAME *meta,
    SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom )
    SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom,
    const int16_t maxBin )
{
    int16_t band, sf, bin;
    int16_t meta_write_index;
@@ -7571,7 +7572,7 @@ static void copyMasaMetadataToDiracRenderer(

        for ( band = 0; band < MASA_MAXIMUM_CODING_SUBBANDS; band++ )
        {
            for ( bin = MASA_band_grouping_24[band]; bin < MASA_band_grouping_24[band + 1]; bin++ )
            for ( bin = MASA_band_grouping_24[band]; bin < MASA_band_grouping_24[band + 1] && bin < maxBin; bin++ )
            {
                hSpatParamRendCom->azimuth[meta_write_index][bin] = (int16_t) meta->directional_meta[0].azimuth[sf][band];
                hSpatParamRendCom->elevation[meta_write_index][bin] = (int16_t) meta->directional_meta[0].elevation[sf][band];
@@ -7732,6 +7733,7 @@ static ivas_error renderInputMasa(
{
    IVAS_REND_AudioBuffer inAudio;
    int16_t ch;
    int16_t maxBin;
    float *tmpBuffer[MAX_OUTPUT_CHANNELS];
    float tmpBuffer_buff[MAX_OUTPUT_CHANNELS][L_FRAME48k];
#ifdef SPLIT_REND_WITH_HEAD_ROT
@@ -7759,6 +7761,7 @@ static ivas_error renderInputMasa(
    /* Apply input gain to new audio */
    v_multc( inAudio.data, masaInput->base.gain, inAudio.data, inAudio.config.numSamplesPerChannel * inAudio.config.numChannels );

    maxBin = (int16_t) ( *masaInput->base.ctx.pOutSampleRate * INV_CLDFB_BANDWIDTH );

    /* Todo split rend MASA ext: Need to add split renderer path to below. Options are:
     * - Join together with binaural renderer path
@@ -7784,13 +7787,13 @@ static ivas_error renderInputMasa(
        switch ( masaInput->hMasaExtRend->renderer_type )
        {
            case RENDERER_DIRAC:
                copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->hMasaExtRend->hSpatParamRendCom );
                copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->hMasaExtRend->hSpatParamRendCom, maxBin );
                ivas_masa_ext_dirac_render( masaInput->hMasaExtRend, tmpBuffer, num_subframes );
                break;
            case RENDERER_STEREO_PARAMETRIC:
            case RENDERER_BINAURAL_PARAMETRIC:
            case RENDERER_BINAURAL_PARAMETRIC_ROOM:
                copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->hMasaExtRend->hSpatParamRendCom );
                copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->hMasaExtRend->hSpatParamRendCom, maxBin );
                ivas_masa_ext_rend_parambin_render( masaInput->hMasaExtRend, *masaInput->base.ctx.pCombinedOrientationData, tmpBuffer, num_subframes );
                break;
            case RENDERER_DISABLE:
@@ -9161,7 +9164,17 @@ static ivas_error initMasaExtRenderer(
        }
    }

    /* Init CLDFB for analysis & synthesis if renderer is used */
    /* Init CLDFB for analysis & synthesis if renderer is used. Otherwise, NULL. */
    for ( i = 0; i < MASA_MAX_TRANSPORT_CHANNELS; i++ )
    {
        hMasaExtRend->cldfbAnaRend[i] = NULL;
    }

    for ( i = 0; i < MAX_OUTPUT_CHANNELS; i++ )
    {
        hMasaExtRend->cldfbSynRend[i] = NULL;
    }

    if ( hMasaExtRend->renderer_type != RENDERER_DISABLE )
    {
        for ( i = 0; i < hMasaExtRend->nchan_input; i++ )
@@ -9171,10 +9184,6 @@ static ivas_error initMasaExtRenderer(
                return error;
            }
        }
        for ( ; i < MASA_MAX_TRANSPORT_CHANNELS; i++ )
        {
            hMasaExtRend->cldfbAnaRend[i] = NULL;
        }

        for ( i = 0; i < hMasaExtRend->nchan_output; i++ )
        {
@@ -9183,10 +9192,6 @@ static ivas_error initMasaExtRenderer(
                return error;
            }
        }
        for ( ; i < MAX_OUTPUT_CHANNELS; i++ )
        {
            hMasaExtRend->cldfbSynRend[i] = NULL;
        }
    }

    inputMasa->hMasaExtRend = hMasaExtRend;