Commit 265942f2 authored by lintervo's avatar lintervo
Browse files

Address comments

parent b60d94b3
Loading
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -2808,15 +2808,25 @@ void ivas_dirac_dec_render_sf_fx(
        }

#ifdef OMASA_OBJECT_EDITING
        IF( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ )
        IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) )
        {
#ifdef FIX_1319_STACK_SBA_DECODER
            ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( st_ivas, Cldfb_RealBuffer_Binaural_fx[0], Cldfb_ImagBuffer_Binaural_fx[0], &cldfb_buf_q, hSpatParamRendCom->num_freq_bands, subframe_idx );
#else
            ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( st_ivas, Cldfb_RealBuffer_Temp_fx, Cldfb_ImagBuffer_Temp_fx, &cldfb_buf_q, hSpatParamRendCom->num_freq_bands, subframe_idx );
#endif
        }
#else
        test();
        IF( ( NE_16( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) && NE_16( st_ivas->ism_mode, ISM_MASA_MODE_MASA_ONE_OBJ ) ) )
        {
#ifdef FIX_1319_STACK_SBA_DECODER
            ivas_omasa_preProcessStereoTransportsForMovedObjects_fx( st_ivas, Cldfb_RealBuffer_Binaural_fx[0], Cldfb_ImagBuffer_Binaural_fx[0], &cldfb_buf_q, hSpatParamRendCom->num_freq_bands, subframe_idx );
#else
            ivas_omasa_preProcessStereoTransportsForMovedObjects_fx( st_ivas, Cldfb_RealBuffer_Temp_fx, Cldfb_ImagBuffer_Temp_fx, &cldfb_buf_q, hSpatParamRendCom->num_freq_bands, subframe_idx );
#endif
        }
#endif
    }

    FOR( slot_idx = 0; slot_idx < hSpatParamRendCom->subframe_nbslots[subframe_idx]; slot_idx++ )
+14 −2
Original line number Diff line number Diff line
@@ -328,26 +328,37 @@ ivas_error ivas_omasa_data_open_fx(
    }

#ifdef OMASA_OBJECT_EDITING
    FOR( int16_t band_idx = 0; band_idx < MASA_FREQUENCY_BANDS; band_idx++ )
    FOR( Word16 band_idx = 0; band_idx < MASA_FREQUENCY_BANDS; band_idx++ )
    {
        FOR( ch = 0; ch < 2; ch++ )
        {

            hMasaIsmData->ismPreprocMatrix_fx[ch][ch][band_idx] = ONE_IN_Q28;
            hMasaIsmData->ismPreprocMatrix_fx[1 - ch][ch][band_idx] = 0;
            move32();
            hMasaIsmData->ismPreprocMatrix_fx[sub(1, ch)][ch][band_idx] = 0;
            move32();
            hMasaIsmData->eneMoveIIR_fx[ch][band_idx] = 0;
            move32();
            hMasaIsmData->eneMoveIIR_e[ch][band_idx] = 0;
            move16();
            hMasaIsmData->enePreserveIIR_fx[ch][band_idx] = 0;
            move32();
            hMasaIsmData->enePreserveIIR_e[ch][band_idx] = 0;
            move16();
        }

        hMasaIsmData->eneOrigIIR_fx[band_idx] = 0;
        move32();
        hMasaIsmData->eneOrigIIR_e[band_idx] = 0;
        move16();
        hMasaIsmData->preprocEneTarget_fx[band_idx] = 0;
        move32();
        hMasaIsmData->preprocEneRealized_fx[band_idx] = 0;
        move32();
    }

    hMasaIsmData->objectsEdited_fx = 0;
    move32();
#else
    FOR( bin = 0; bin < CLDFB_NO_CHANNELS_MAX; bin++ )
    {
@@ -392,6 +403,7 @@ ivas_error ivas_omasa_data_open_fx(
#ifdef OMASA_OBJECT_EDITING
    hMasaIsmData->masa_gain_is_edited_fx = 0;
    hMasaIsmData->idx_separated_ism = -1;
    move16();
#endif

    FOR( obj_idx = 0; obj_idx < MAX_NUM_OBJECTS; obj_idx++ )
+1 −1
Original line number Diff line number Diff line
@@ -981,7 +981,7 @@ typedef struct ivas_masa_ism_data_structure
#else
    Word16 azimuth_ism_edited[MAX_NUM_OBJECTS];
    Word16 elevation_ism_edited[MAX_NUM_OBJECTS];
    UWord8 ism_is_edited[MAX_NUM_OBJECTS];
    // UWord8 ism_is_edited[MAX_NUM_OBJECTS];
#endif

    Word16 idx_separated_ism;
+11 −7
Original line number Diff line number Diff line
@@ -5471,7 +5471,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx(
    move16();

    /* Bypass processing until first object is moved or gained */
    IF( hMasaIsmData->objectsEdited_fx == 0 )
    IF( EQ_32( hMasaIsmData->objectsEdited_fx, 0 ) )
    {
        FOR( ismDirIndex = 0; ismDirIndex < n_ism; ismDirIndex++ )
        {
@@ -5494,7 +5494,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx(
            move16();
        }

        IF( hMasaIsmData->objectsEdited_fx == 0 )
        IF( EQ_32( hMasaIsmData->objectsEdited_fx, 0 ) )
        {
            /* No objects have moved so far */
            return;
@@ -5570,25 +5570,26 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx(
        {
            ismPreprocMtxNew[ch][ch] = ONE_IN_Q28;
            move32();
            ismPreprocMtxNew[1 - ch][ch] = 0;
            ismPreprocMtxNew[sub( 1, ch )][ch] = 0;
            move32();
        }

        /* Determine the highest band */
        max_band = 0;
        move16();
        test();
        WHILE( sub( MAX_PARAM_ISM_NBANDS, max_band ) > 0 && sub( nBins, hParamIsmDec->hParamIsm->band_grouping[max_band] ) > 0 )
        {
            max_band++;
        }

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

@@ -5695,15 +5696,18 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx(
            ELSE
            {
                temp = 0;
                move32();
            }

            IF( GT_32( ONE_IN_Q30, temp ) )
            {
                eqVal = temp;
                move32();
            }
            ELSE
            {
                eqVal = ONE_IN_Q30; // 4 in Q28
                move32();
            }

            FOR( ch = 0; ch < 2; ch++ )
@@ -5777,7 +5781,7 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx(
        temp = 0;
        move32();

        gainMasaPow2 = 0;
        gainMasaPow2 = ONE_IN_Q9;
        move16();
        IF( masaGainEdited )
        {