Commit cdab392b authored by vaclav's avatar vaclav
Browse files

optimization of using pointers

parent 9e7d28e3
Loading
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -2651,6 +2651,9 @@ void ivas_merge_masa_metadata(
    float total_diff_nrg;
    float eneBand;
    float energyMerged[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS];
#ifdef FIX_1161_REDUCE_OMASA_HEAP
    OMASA_ENCODER_ENERGY_HANDLE hOmasaEnergy = hMasa->data.hOmasaData->hOmasaEnergy;
#endif

    numCodingBands = hMasa->config.numCodingBands;
    numDirections = hMasa->config.numberOfDirections;
@@ -2680,7 +2683,7 @@ void ivas_merge_masa_metadata(
            /* Compute energies */
            eneBand = hMasa->data.energy[sf][band];
#ifdef FIX_1161_REDUCE_OMASA_HEAP
            energyMerged[sf][band] = eneBand + hMasa->data.hOmasaData->hOmasaEnergy->energy_ism[sf][band];
            energyMerged[sf][band] = eneBand + hOmasaEnergy->energy_ism[sf][band];
#else
            energyMerged[sf][band] = eneBand + hMasa->data.hOmasaData->energy_ism[sf][band];
#endif
@@ -2701,7 +2704,7 @@ void ivas_merge_masa_metadata(

            /* criterion is mean of ISM ratio and new ratio */
#ifdef FIX_1161_REDUCE_OMASA_HEAP
            energyTimesRatioISM = ( hOMasaMeta->directional_meta[0].energy_ratio[sf][band] + ( 1.0f - total_diff_nrg / ( EPSILON + eneBand + hMasa->data.hOmasaData->hOmasaEnergy->energy_ism[sf][band] ) ) ) / 2.0f * hMasa->data.hOmasaData->hOmasaEnergy->energy_ism[sf][band];
            energyTimesRatioISM = ( hOMasaMeta->directional_meta[0].energy_ratio[sf][band] + ( 1.0f - total_diff_nrg / ( EPSILON + eneBand + hOmasaEnergy->energy_ism[sf][band] ) ) ) / 2.0f * hMasa->data.hOmasaData->hOmasaEnergy->energy_ism[sf][band];
#else
            energyTimesRatioISM = ( hOMasaMeta->directional_meta[0].energy_ratio[sf][band] + ( 1.0f - total_diff_nrg / ( EPSILON + eneBand + hMasa->data.hOmasaData->energy_ism[sf][band] ) ) ) / 2.0f * hMasa->data.hOmasaData->energy_ism[sf][band];
#endif
@@ -2727,7 +2730,7 @@ void ivas_merge_masa_metadata(

                /* limit with the earlier direct-energy ratio */
#ifdef FIX_1161_REDUCE_OMASA_HEAP
                dir_sum = 1.0f - total_diff_nrg / ( EPSILON + eneBand + hMasa->data.hOmasaData->hOmasaEnergy->energy_ism[sf][band] ); /* new dir ratio */
                dir_sum = 1.0f - total_diff_nrg / ( EPSILON + eneBand + hOmasaEnergy->energy_ism[sf][band] ); /* new dir ratio */
#else
                dir_sum = 1.0f - total_diff_nrg / ( EPSILON + eneBand + hMasa->data.hOmasaData->energy_ism[sf][band] ); /* new dir ratio */
#endif
+15 −9
Original line number Diff line number Diff line
@@ -839,6 +839,9 @@ static void ivas_omasa_param_est_enc(
    float renormalization_factor_diff[MASA_FREQUENCY_BANDS];
    float norm_tmp;
    int16_t mrange[2], brange[2];
#ifdef FIX_1161_REDUCE_OMASA_HEAP
    OMASA_ENCODER_ENERGY_HANDLE hOmasaEnergy = hOmasaData->hOmasaEnergy;
#endif

    num_freq_bins = hOMasa->cldfbAnaEnc[0]->no_channels;
    num_freq_bands = hOMasa->nbands;
@@ -871,7 +874,7 @@ static void ivas_omasa_param_est_enc(
        }

#ifdef FIX_1161_REDUCE_OMASA_HEAP
        set_zero( hOmasaData->hOmasaEnergy->energy_ism[block_m_idx], num_freq_bands );
        set_zero( hOmasaEnergy->energy_ism[block_m_idx], num_freq_bands );
#else
        set_zero( hOmasaData->energy_ism[block_m_idx], num_freq_bands );
#endif
@@ -893,7 +896,7 @@ static void ivas_omasa_param_est_enc(
                    for ( k = 0; k < nchan_ism; k++ )
                    {
#ifdef FIX_1161_REDUCE_OMASA_HEAP
                        hOmasaData->hOmasaEnergy->energy_ism[block_m_idx][i] += Chnl_RealBuffer[k][j] * Chnl_RealBuffer[k][j] + Chnl_ImagBuffer[k][j] * Chnl_ImagBuffer[k][j];
                        hOmasaEnergy->energy_ism[block_m_idx][i] += Chnl_RealBuffer[k][j] * Chnl_RealBuffer[k][j] + Chnl_ImagBuffer[k][j] * Chnl_ImagBuffer[k][j];
#else
                        hOmasaData->energy_ism[block_m_idx][i] += Chnl_RealBuffer[k][j] * Chnl_RealBuffer[k][j] + Chnl_ImagBuffer[k][j] * Chnl_ImagBuffer[k][j];
#endif
@@ -1024,6 +1027,9 @@ static void ivas_omasa_energy_and_ratio_est(
    int16_t mrange[2], brange[2];
    float tftile_energy;
    float ism_ratio_sum;
#ifdef FIX_1161_REDUCE_OMASA_HEAP
    OMASA_ENCODER_ENERGY_HANDLE hOmasaEnergy = hOmasaData->hOmasaEnergy;
#endif

    num_freq_bands = hOMasa->nbands;
    l_ts = input_frame / CLDFB_NO_COL_MAX;
@@ -1038,13 +1044,13 @@ static void ivas_omasa_energy_and_ratio_est(
        for ( i = 0; i < hOMasa->nbands; i++ )
        {
#ifdef FIX_1161_REDUCE_OMASA_HEAP
            set_zero( hOmasaData->hOmasaEnergy->energy_ratio_ism[block_m_idx][i], nchan_ism );
            set_zero( hOmasaEnergy->energy_ratio_ism[block_m_idx][i], nchan_ism );
#else
            set_zero( hOmasaData->energy_ratio_ism[block_m_idx][i], nchan_ism );
#endif
        }
#ifdef FIX_1161_REDUCE_OMASA_HEAP
        set_zero( hOmasaData->hOmasaEnergy->energy_ism[block_m_idx], num_freq_bands );
        set_zero( hOmasaEnergy->energy_ism[block_m_idx], num_freq_bands );
#else
        set_zero( hOmasaData->energy_ism[block_m_idx], num_freq_bands );
#endif
@@ -1068,8 +1074,8 @@ static void ivas_omasa_energy_and_ratio_est(
                    {
                        tftile_energy = Chnl_RealBuffer[k][j] * Chnl_RealBuffer[k][j] + Chnl_ImagBuffer[k][j] * Chnl_ImagBuffer[k][j];
#ifdef FIX_1161_REDUCE_OMASA_HEAP
                        hOmasaData->hOmasaEnergy->energy_ism[block_m_idx][i] += tftile_energy;
                        hOmasaData->hOmasaEnergy->energy_ratio_ism[block_m_idx][i][k] += tftile_energy;
                        hOmasaEnergy->energy_ism[block_m_idx][i] += tftile_energy;
                        hOmasaEnergy->energy_ratio_ism[block_m_idx][i][k] += tftile_energy;

#else
                        hOmasaData->energy_ism[block_m_idx][i] += tftile_energy;
@@ -1087,8 +1093,8 @@ static void ivas_omasa_energy_and_ratio_est(
            for ( j = 0; j < nchan_ism; j++ )
            {
#ifdef FIX_1161_REDUCE_OMASA_HEAP
                hOmasaData->hOmasaEnergy->energy_ratio_ism[block_m_idx][i][j] /= ( hOmasaData->hOmasaEnergy->energy_ism[block_m_idx][i] + EPSILON );
                ism_ratio_sum += hOmasaData->hOmasaEnergy->energy_ratio_ism[block_m_idx][i][j];
                hOmasaEnergy->energy_ratio_ism[block_m_idx][i][j] /= ( hOmasaEnergy->energy_ism[block_m_idx][i] + EPSILON );
                ism_ratio_sum += hOmasaEnergy->energy_ratio_ism[block_m_idx][i][j];
#else
                hOmasaData->energy_ratio_ism[block_m_idx][i][j] /= ( hOmasaData->energy_ism[block_m_idx][i] + EPSILON );
                ism_ratio_sum += hOmasaData->energy_ratio_ism[block_m_idx][i][j];
@@ -1101,7 +1107,7 @@ static void ivas_omasa_energy_and_ratio_est(
                for ( j = 0; j < nchan_ism; j++ )
                {
#ifdef FIX_1161_REDUCE_OMASA_HEAP
                    hOmasaData->hOmasaEnergy->energy_ratio_ism[block_m_idx][i][j] = temp_ism_ratio;
                    hOmasaEnergy->energy_ratio_ism[block_m_idx][i][j] = temp_ism_ratio;
#else
                    hOmasaData->energy_ratio_ism[block_m_idx][i][j] = temp_ism_ratio;
#endif