Commit 5fc84ba4 authored by Ripinder Singh's avatar Ripinder Singh
Browse files
Merge branch 'main' of ssh://forge.3gpp.org:29419/ivas-codec-pc/ivas-codec into 1154-add-rtpdump-support-no-pi-appliance
parents 96f25dcd 85d3441d
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -189,7 +189,7 @@
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define NONBE_1328_FIX_NON_LINEARITY                    /* VA: Fix possible issue when computing bwe_exc_extended and previous frame were almost 0  */
#define NONBE_1328_FIX_NON_LINEARITY                    /* VA: Fix possible issue when computing bwe_exc_extended and previous frame were almost 0  */
#define NONBE_1344_REND_MASA_LOW_FS                     /* Nokia: Issue 1344: Fix sanitizer errors when using IVAS_rend to render MASA with lower sampling rates */
#define NONBE_1344_REND_MASA_LOW_FS                     /* Nokia: Issue 1344: Fix sanitizer errors when using IVAS_rend to render MASA with lower sampling rates */

#define NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES             /* Nokia: Fix for issues 1399: obj edit broken with MC/SBA output in VOIP, and 1400: negative energy estimate used for gaining. */


/* ##################### End NON-BE switches ########################### */
/* ##################### End NON-BE switches ########################### */


+14 −0
Original line number Original line Diff line number Diff line
@@ -2901,6 +2901,20 @@ void ivas_dec_prepare_renderer(
                    nchan_transport_ism = st_ivas->nchan_ism;
                    nchan_transport_ism = st_ivas->nchan_ism;
                }
                }


#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES
                if ( st_ivas->hDecoderConfig->Opt_tsm && st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->renderer_type == RENDERER_DIRAC )
                {
                    /* Gain MASA part, if edited */
                    if ( st_ivas->hMasaIsmData->masa_gain_is_edited )
                    {
                        for ( n = 0; n < CPE_CHANNELS; n++ )
                        {
                            v_multc( st_ivas->hTcBuffer->tc[n], st_ivas->hMasaIsmData->gain_masa_edited, st_ivas->hTcBuffer->tc[n], st_ivas->hTcBuffer->n_samples_available );
                        }
                    }
                }
#endif

                for ( n = 0; n < nchan_transport_ism; n++ )
                for ( n = 0; n < nchan_transport_ism; n++ )
                {
                {
                    if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC )
                    if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC )
+11 −3
Original line number Original line Diff line number Diff line
@@ -680,7 +680,11 @@ void ivas_omasa_dirac_rend_jbm(
    {
    {
        mvr2r( &output_f[CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[0], *nSamplesRendered );
        mvr2r( &output_f[CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[0], *nSamplesRendered );


#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES
        if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ )
#else
        if ( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ )
        if ( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ )
#endif
        {
        {
            /* Gain separated object, if edited */
            /* Gain separated object, if edited */
            for ( n = 0; n < st_ivas->nchan_ism; n++ )
            for ( n = 0; n < st_ivas->nchan_ism; n++ )
@@ -699,18 +703,22 @@ void ivas_omasa_dirac_rend_jbm(
            mvr2r( &output_f[n + CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[n], *nSamplesRendered );
            mvr2r( &output_f[n + CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[n], *nSamplesRendered );


            /* Gain discrete objects, if edited */
            /* Gain discrete objects, if edited */
#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES
            if ( st_ivas->hMasaIsmData->ism_gain_is_edited[n] )
#else
            if ( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hMasaIsmData->ism_gain_is_edited[n] )
            if ( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hMasaIsmData->ism_gain_is_edited[n] )
#endif
            {
            {
                v_multc( data_separated_objects[n], st_ivas->hMasaIsmData->gain_ism_edited[n], data_separated_objects[n], *nSamplesRendered );
                v_multc( data_separated_objects[n], st_ivas->hMasaIsmData->gain_ism_edited[n], data_separated_objects[n], *nSamplesRendered );
            }
            }
        }
        }


        /* Gain MASA part, if edited */
        /* Gain MASA part, if edited in G192. MASA gaining with VOIP is done in ivas_dec_prepare_renderer() */
        if ( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hMasaIsmData->masa_gain_is_edited )
        if ( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hMasaIsmData->masa_gain_is_edited )
        {
        {
            for ( int16_t ch = 0; ch < 2; ch++ )
            for ( n = 0; n < CPE_CHANNELS; n++ )
            {
            {
                v_multc( output_f[ch], st_ivas->hMasaIsmData->gain_masa_edited, output_f[ch], *nSamplesRendered );
                v_multc( output_f[n], st_ivas->hMasaIsmData->gain_masa_edited, output_f[n], *nSamplesRendered );
            }
            }
        }
        }
    }
    }
+36 −29
Original line number Original line Diff line number Diff line
@@ -2766,7 +2766,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
        }
        }


        /* MASA gaining */
        /* MASA gaining */
        for ( ch = 0; ch < 2; ch++ )
        for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
        {
        {
            if ( masaGainEdited )
            if ( masaGainEdited )
            {
            {
@@ -2794,7 +2794,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
        nSlotDiv = 1.0f / ( (float) nSlots );
        nSlotDiv = 1.0f / ( (float) nSlots );


        /* Use diagonal mixing matrix as the instant mixing matrix, to slowly fade away the editing during dtx */
        /* Use diagonal mixing matrix as the instant mixing matrix, to slowly fade away the editing during dtx */
        for ( ch = 0; ch < 2; ch++ )
        for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
        {
        {
            ismPreprocMtxNew[ch][ch] = 1.0f;
            ismPreprocMtxNew[ch][ch] = 1.0f;
            ismPreprocMtxNew[1 - ch][ch] = 0.0f;
            ismPreprocMtxNew[1 - ch][ch] = 0.0f;
@@ -2808,12 +2808,12 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
        }
        }


        /* Init out array */
        /* Init out array */
        for ( int k = 0; k < nSlots; k++ )
        for ( slot = 0; slot < nSlots; slot++ )
        {
        {
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            {
            {
                set_zero( outSlotRe[ch][k], CLDFB_NO_CHANNELS_MAX );
                set_zero( outSlotRe[ch][slot], CLDFB_NO_CHANNELS_MAX );
                set_zero( outSlotIm[ch][k], CLDFB_NO_CHANNELS_MAX );
                set_zero( outSlotIm[ch][slot], CLDFB_NO_CHANNELS_MAX );
            }
            }
        }
        }


@@ -2827,7 +2827,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            totalTargetEne = 0.0f;
            totalTargetEne = 0.0f;
            for ( slot = 0; slot < nSlots; slot++ )
            for ( slot = 0; slot < nSlots; slot++ )
            {
            {
                for ( ch = 0; ch < 2; ch++ )
                for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
                {
                {
                    for ( bin = bin_lo; bin < bin_hi; bin++ )
                    for ( bin = bin_lo; bin < bin_hi; bin++ )
                    {
                    {
@@ -2838,9 +2838,9 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            }
            }


            /* Get increment value for temporal interpolation */
            /* Get increment value for temporal interpolation */
            for ( inCh = 0; inCh < 2; inCh++ )
            for ( inCh = 0; inCh < BINAURAL_CHANNELS; inCh++ )
            {
            {
                for ( outCh = 0; outCh < 2; outCh++ )
                for ( outCh = 0; outCh < BINAURAL_CHANNELS; outCh++ )
                {
                {
                    ismPreprocMtxIncrement[outCh][inCh] = ( ismPreprocMtxNew[outCh][inCh] - hMasaIsmData->ismPreprocMatrix[outCh][inCh][band_idx] ) * nSlotDiv;
                    ismPreprocMtxIncrement[outCh][inCh] = ( ismPreprocMtxNew[outCh][inCh] - hMasaIsmData->ismPreprocMatrix[outCh][inCh][band_idx] ) * nSlotDiv;
                }
                }
@@ -2851,11 +2851,11 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            hMasaIsmData->preprocEneRealized[band_idx] *= STEREO_PREPROCESS_IIR_FACTOR;
            hMasaIsmData->preprocEneRealized[band_idx] *= STEREO_PREPROCESS_IIR_FACTOR;
            hMasaIsmData->preprocEneTarget[band_idx] += totalTargetEne;
            hMasaIsmData->preprocEneTarget[band_idx] += totalTargetEne;


            for ( outCh = 0; outCh < 2; outCh++ )
            for ( outCh = 0; outCh < BINAURAL_CHANNELS; outCh++ )
            {
            {
                for ( slot = 0; slot < nSlots; slot++ )
                for ( slot = 0; slot < nSlots; slot++ )
                {
                {
                    for ( inCh = 0; inCh < 2; inCh++ )
                    for ( inCh = 0; inCh < BINAURAL_CHANNELS; inCh++ )
                    {
                    {
                        hMasaIsmData->ismPreprocMatrix[outCh][inCh][band_idx] += ismPreprocMtxIncrement[outCh][inCh];
                        hMasaIsmData->ismPreprocMatrix[outCh][inCh][band_idx] += ismPreprocMtxIncrement[outCh][inCh];
                        for ( bin = bin_lo; bin < bin_hi; bin++ )
                        for ( bin = bin_lo; bin < bin_hi; bin++ )
@@ -2874,7 +2874,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(


            eqVal = fminf( 4.0f, sqrtf( hMasaIsmData->preprocEneTarget[band_idx] / fmaxf( 1e-12f, hMasaIsmData->preprocEneRealized[band_idx] ) ) );
            eqVal = fminf( 4.0f, sqrtf( hMasaIsmData->preprocEneTarget[band_idx] / fmaxf( 1e-12f, hMasaIsmData->preprocEneRealized[band_idx] ) ) );


            for ( ch = 0; ch < 2; ch++ )
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            {
            {
                for ( slot = 0; slot < nSlots; slot++ )
                for ( slot = 0; slot < nSlots; slot++ )
                {
                {
@@ -2950,14 +2950,14 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            else
            else
            {
            {
                /* When not edited, input and output pan gains are the same */
                /* When not edited, input and output pan gains are the same */
                for ( ch = 0; ch < 2; ch++ )
                for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
                {
                {
                    panGainsOut[ismDirIndex][ch] = panGainsIn[ismDirIndex][ch];
                    panGainsOut[ismDirIndex][ch] = panGainsIn[ismDirIndex][ch];
                }
                }
            }
            }


            /* Determine pan enes */
            /* Determine pan enes */
            for ( ch = 0; ch < 2; ch++ )
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            {
            {
                panEnesOut[ismDirIndex][ch] = panGainsOut[ismDirIndex][ch] * panGainsOut[ismDirIndex][ch];
                panEnesOut[ismDirIndex][ch] = panGainsOut[ismDirIndex][ch] * panGainsOut[ismDirIndex][ch];
                panEnesIn[ismDirIndex][ch] = panGainsIn[ismDirIndex][ch] * panGainsIn[ismDirIndex][ch];
                panEnesIn[ismDirIndex][ch] = panGainsIn[ismDirIndex][ch] * panGainsIn[ismDirIndex][ch];
@@ -2982,12 +2982,12 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
        }
        }


        /* Init out array */
        /* Init out array */
        for ( int k = 0; k < nSlots; k++ )
        for ( slot = 0; slot < nSlots; slot++ )
        {
        {
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            {
            {
                set_zero( outSlotRe[ch][k], CLDFB_NO_CHANNELS_MAX );
                set_zero( outSlotRe[ch][slot], CLDFB_NO_CHANNELS_MAX );
                set_zero( outSlotIm[ch][k], CLDFB_NO_CHANNELS_MAX );
                set_zero( outSlotIm[ch][slot], CLDFB_NO_CHANNELS_MAX );
            }
            }
        }
        }


@@ -3017,7 +3017,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            /* Determine transport normalized energies and subframe energy */
            /* Determine transport normalized energies and subframe energy */
            for ( slot = 0; slot < nSlots; slot++ )
            for ( slot = 0; slot < nSlots; slot++ )
            {
            {
                for ( ch = 0; ch < 2; ch++ )
                for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
                {
                {
                    for ( bin = bin_lo; bin < bin_hi; bin++ )
                    for ( bin = bin_lo; bin < bin_hi; bin++ )
                    {
                    {
@@ -3040,7 +3040,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
                ratioAccOrig += ratio;
                ratioAccOrig += ratio;


                /* Calculate MASA energy as a residual of original channel energies subtracted with ISM energies */
                /* Calculate MASA energy as a residual of original channel energies subtracted with ISM energies */
                for ( ch = 0; ch < 2; ch++ )
                for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
                {
                {
                    masaEneThisCh[ch] -= panEnesIn[ismDirIndex][ch] * ratio * subframeEne;
                    masaEneThisCh[ch] -= panEnesIn[ismDirIndex][ch] * ratio * subframeEne;
                }
                }
@@ -3058,7 +3058,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
                    ratio *= gainIsmThis * gainIsmThis;
                    ratio *= gainIsmThis * gainIsmThis;


                    /* Determine panning energies and channel target energies */
                    /* Determine panning energies and channel target energies */
                    for ( ch = 0; ch < 2; ch++ )
                    for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
                    {
                    {
                        ismTargetEneThisCh[ch] = panEnesIn[ismDirIndex][ch] * ismTargetEneThis; /* Ism target energy per channel */
                        ismTargetEneThisCh[ch] = panEnesIn[ismDirIndex][ch] * ismTargetEneThis; /* Ism target energy per channel */
                        totalTargetEneCh[ch] -= panEnesIn[ismDirIndex][ch] * ismEneThis;        /* Reduce original ism energy */
                        totalTargetEneCh[ch] -= panEnesIn[ismDirIndex][ch] * ismEneThis;        /* Reduce original ism energy */
@@ -3099,7 +3099,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
                    ratio *= gainMasaPow2;
                    ratio *= gainMasaPow2;


                    /* Calculate MASA target energies and add to total target energy estimation */
                    /* Calculate MASA target energies and add to total target energy estimation */
                    for ( ch = 0; ch < 2; ch++ )
                    for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
                    {
                    {
                        masaEneThisCh[ch] = fmaxf( masaEneThisCh[ch], 0.0f );       /* MASA original energy per channel */
                        masaEneThisCh[ch] = fmaxf( masaEneThisCh[ch], 0.0f );       /* MASA original energy per channel */
                        masaTargetEneThisCh[ch] = gainMasaPow2 * masaEneThisCh[ch]; /* MASA target energy per channel */
                        masaTargetEneThisCh[ch] = gainMasaPow2 * masaEneThisCh[ch]; /* MASA target energy per channel */
@@ -3112,6 +3112,13 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            }
            }


            /* Limit target energies to non-negative values */
            /* Limit target energies to non-negative values */
#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            {
                totalTargetEneCh[ch] = max( totalTargetEneCh[ch], 0.0f );
            }
#endif

            /* due to rounding, the sum may exceed 1.0f ever so slightly, so clip it */
            /* due to rounding, the sum may exceed 1.0f ever so slightly, so clip it */
            ratioAccOrig = min( ratioAccOrig, 1.0f );
            ratioAccOrig = min( ratioAccOrig, 1.0f );
            if ( masaGainEdited )
            if ( masaGainEdited )
@@ -3176,14 +3183,14 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
                if ( enableCentering )
                if ( enableCentering )
                {
                {
                    centeringFactor = fmaxf( 0.0f, 2.0f * fabsf( panEnesIn[ismDirIndex][0] - panEnesOut[ismDirIndex][0] ) - 1.0f );
                    centeringFactor = fmaxf( 0.0f, 2.0f * fabsf( panEnesIn[ismDirIndex][0] - panEnesOut[ismDirIndex][0] ) - 1.0f );
                    for ( ch = 0; ch < 2; ch++ )
                    for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
                    {
                    {
                        panEnesOut[ismDirIndex][ch] *= ( 1.0f - centeringFactor );
                        panEnesOut[ismDirIndex][ch] *= ( 1.0f - centeringFactor );
                        panEnesOut[ismDirIndex][ch] += 0.5f * centeringFactor;
                        panEnesOut[ismDirIndex][ch] += 0.5f * centeringFactor;
                    }
                    }
                }
                }


                for ( ch = 0; ch < 2; ch++ )
                for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
                {
                {
                    eneMoveThis = fmaxf( 0.0f, panEnesIn[ismDirIndex][ch] - panEnesOut[ismDirIndex][ch] );
                    eneMoveThis = fmaxf( 0.0f, panEnesIn[ismDirIndex][ch] - panEnesOut[ismDirIndex][ch] );
                    enePreserveThis = panEnesIn[ismDirIndex][ch] - eneMoveThis;
                    enePreserveThis = panEnesIn[ismDirIndex][ch] - eneMoveThis;
@@ -3200,7 +3207,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            remainderNormEne = fmaxf( 0.0f, ( 1.0f - ismRatioAcc ) - normEnes[0] - normEnes[1] );
            remainderNormEne = fmaxf( 0.0f, ( 1.0f - ismRatioAcc ) - normEnes[0] - normEnes[1] );


            /* Normalize */
            /* Normalize */
            for ( ch = 0; ch < 2; ch++ )
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            {
            {
                enePreserve[ch] += fmaxf( 0.0f, normEnes[ch] + remainderNormEne / 2.0f );
                enePreserve[ch] += fmaxf( 0.0f, normEnes[ch] + remainderNormEne / 2.0f );
                normVal = 1.0f / fmaxf( EPSILON, eneMove[ch] + enePreserve[ch] );
                normVal = 1.0f / fmaxf( EPSILON, eneMove[ch] + enePreserve[ch] );
@@ -3215,7 +3222,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(


            /* Temporally average energy moving and preserving, and generate the transport signal preprocessing matrix for
            /* Temporally average energy moving and preserving, and generate the transport signal preprocessing matrix for
             * gaining objects and moving objects between left and right */
             * gaining objects and moving objects between left and right */
            for ( ch = 0; ch < 2; ch++ )
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            {
            {
                hMasaIsmData->eneMoveIIR[ch][band_idx] *= STEREO_PREPROCESS_IIR_FACTOR;
                hMasaIsmData->eneMoveIIR[ch][band_idx] *= STEREO_PREPROCESS_IIR_FACTOR;
                hMasaIsmData->eneMoveIIR[ch][band_idx] += eneMove[ch] * totalTargetEne;
                hMasaIsmData->eneMoveIIR[ch][band_idx] += eneMove[ch] * totalTargetEne;
@@ -3227,9 +3234,9 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            }
            }


            /* Get increment value for temporal interpolation */
            /* Get increment value for temporal interpolation */
            for ( inCh = 0; inCh < 2; inCh++ )
            for ( inCh = 0; inCh < BINAURAL_CHANNELS; inCh++ )
            {
            {
                for ( outCh = 0; outCh < 2; outCh++ )
                for ( outCh = 0; outCh < BINAURAL_CHANNELS; outCh++ )
                {
                {
                    ismPreprocMtxIncrement[outCh][inCh] = ( ismPreprocMtxNew[outCh][inCh] - hMasaIsmData->ismPreprocMatrix[outCh][inCh][band_idx] ) * nSlotDiv;
                    ismPreprocMtxIncrement[outCh][inCh] = ( ismPreprocMtxNew[outCh][inCh] - hMasaIsmData->ismPreprocMatrix[outCh][inCh][band_idx] ) * nSlotDiv;
                }
                }
@@ -3240,11 +3247,11 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            hMasaIsmData->preprocEneRealized[band_idx] *= STEREO_PREPROCESS_IIR_FACTOR;
            hMasaIsmData->preprocEneRealized[band_idx] *= STEREO_PREPROCESS_IIR_FACTOR;
            hMasaIsmData->preprocEneTarget[band_idx] += totalTargetEne;
            hMasaIsmData->preprocEneTarget[band_idx] += totalTargetEne;


            for ( outCh = 0; outCh < 2; outCh++ )
            for ( outCh = 0; outCh < BINAURAL_CHANNELS; outCh++ )
            {
            {
                for ( slot = 0; slot < nSlots; slot++ )
                for ( slot = 0; slot < nSlots; slot++ )
                {
                {
                    for ( inCh = 0; inCh < 2; inCh++ )
                    for ( inCh = 0; inCh < BINAURAL_CHANNELS; inCh++ )
                    {
                    {
                        hMasaIsmData->ismPreprocMatrix[outCh][inCh][band_idx] += ismPreprocMtxIncrement[outCh][inCh];
                        hMasaIsmData->ismPreprocMatrix[outCh][inCh][band_idx] += ismPreprocMtxIncrement[outCh][inCh];
                        for ( bin = bin_lo; bin < bin_hi; bin++ )
                        for ( bin = bin_lo; bin < bin_hi; bin++ )
@@ -3263,7 +3270,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(


            eqVal = fminf( 4.0f, sqrtf( hMasaIsmData->preprocEneTarget[band_idx] / fmaxf( 1e-12f, hMasaIsmData->preprocEneRealized[band_idx] ) ) );
            eqVal = fminf( 4.0f, sqrtf( hMasaIsmData->preprocEneTarget[band_idx] / fmaxf( 1e-12f, hMasaIsmData->preprocEneRealized[band_idx] ) ) );


            for ( ch = 0; ch < 2; ch++ )
            for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
            {
            {
                for ( slot = 0; slot < nSlots; slot++ )
                for ( slot = 0; slot < nSlots; slot++ )
                {
                {
+0 −4
Original line number Original line Diff line number Diff line
@@ -641,8 +641,6 @@ def test_masa_prerend(
    get_odg_bin,
    get_odg_bin,
    split_comparison,
    split_comparison,
):
):
    if fs != "48kHz":
        pytest.skip("MASA Prerendering at 16 and 32 kHz WIP")
    run_renderer(
    run_renderer(
        record_property,
        record_property,
        props_to_record,
        props_to_record,
@@ -677,8 +675,6 @@ def test_masa_prerend_scenes(
    get_odg_bin,
    get_odg_bin,
    split_comparison,
    split_comparison,
):
):
    if fs != "48kHz":
        pytest.skip("MASA Prerendering at 16 and 32 kHz WIP")
    run_renderer(
    run_renderer(
        record_property,
        record_property,
        props_to_record,
        props_to_record,