Commit d45d0fd5 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into 42-add-sba-pytest-run-to-mr-pipeline

parents 922bfb96 b66342e2
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -161,6 +161,8 @@

#define FIX_047_ERROR_ENABLING_AGC                      /* IVAS-047, Fix the error reporting when AGC is enabled*/

#define REFACTOR_REVERB_INIT_ADD_CFG_CHECKS             /* Simplify and improve reverb initialization + add range checks on config parameter values */ 

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
#endif
+1377 −0

File changed.

Preview size limit exceeded, changes collapsed.

+6 −0
Original line number Diff line number Diff line
@@ -540,9 +540,15 @@ void ivas_reverb_calc_color_levels(
        const float alpha = -log__0_001 / t60[freq_idx];
        const float revPredNormEnergy = ( A0_square_est / ( 2.0f * alpha ) ) * output_Fs / ( 0.8776f * minDelayDiff + 26.7741f );

#ifndef REFACTOR_REVERB_INIT_ADD_CFG_CHECKS
        pTarget_color_L[freq_idx] = sqrtf( pAcoustic_dsr[freq_idx] * revEnergyFactor * pHrtf_avg_pwr_L[freq_idx] ) / sqrtf( revPredNormEnergy );

        pTarget_color_R[freq_idx] = sqrtf( pAcoustic_dsr[freq_idx] * revEnergyFactor * pHrtf_avg_pwr_R[freq_idx] ) / sqrtf( revPredNormEnergy );
#else /* REFACTOR_REVERB_INIT_ADD_CFG_CHECKS */
        pTarget_color_L[freq_idx] = sqrtf( pAcoustic_dsr[freq_idx] * revEnergyFactor * pHrtf_avg_pwr_L[freq_idx] ) / max( sqrtf( revPredNormEnergy ), EPS );

        pTarget_color_R[freq_idx] = sqrtf( pAcoustic_dsr[freq_idx] * revEnergyFactor * pHrtf_avg_pwr_R[freq_idx] ) / max( sqrtf( revPredNormEnergy ), EPS );
#endif /*  REFACTOR_REVERB_INIT_ADD_CFG_CHECKS */
    }

    /* Limiting the frequency response gradients
+12 −0
Original line number Diff line number Diff line
@@ -94,8 +94,12 @@ void ivas_reverb_prepare_cldfb_params(
    float avg_pwr_left[CLDFB_NO_CHANNELS_MAX];
    float avg_pwr_right[CLDFB_NO_CHANNELS_MAX];

#ifndef REFACTOR_REVERB_INIT_ADD_CFG_CHECKS
    float delay_diff;
    float ln_1e6_inverted;
#else /* REFACTOR_REVERB_INIT_ADD_CFG_CHECKS */
    float delay_diff, ln_1e6_inverted, exp_argument;
#endif /* REFACTOR_REVERB_INIT_ADD_CFG_CHECKS */
    const float dist = DEFAULT_SRC_DIST;
    const float dmx_gain_2 = 4.0f * EVS_PI * dist * dist / 0.001f;

@@ -111,8 +115,16 @@ void ivas_reverb_prepare_cldfb_params(
    ln_1e6_inverted = 1.0f / logf( 1e06f );
    for ( idx = 0; idx < CLDFB_NO_CHANNELS_MAX; idx++ )
    {
#ifndef REFACTOR_REVERB_INIT_ADD_CFG_CHECKS
        const float tau = pOutput_t60[idx] * ln_1e6_inverted;
        pOutput_ene[idx] *= expf( delay_diff / tau );
#else /* REFACTOR_REVERB_INIT_ADD_CFG_CHECKS */
        exp_argument = delay_diff / ( pOutput_t60[idx] * ln_1e6_inverted );
        /* Limit exponent to approx +/-100 dB in case of incoherent value of delay_diff, to prevent overflow */
        exp_argument = min( exp_argument, 23.0f );
        exp_argument = max( exp_argument, -23.0f );
        pOutput_ene[idx] *= expf( exp_argument );
#endif /* REFACTOR_REVERB_INIT_ADD_CFG_CHECKS */
    }

    ivas_reverb_get_fastconv_hrtf_set_energies( renderer_config, use_brir, output_Fs, avg_pwr_left, avg_pwr_right );
+7 −0
Original line number Diff line number Diff line
@@ -256,6 +256,13 @@ void IVAS_DEC_Close(
            ( *phIvasDec )->st_ivas->hHeadTrackData = NULL;
        }

#ifdef REFACTOR_REVERB_INIT_ADD_CFG_CHECKS
        if ( ( *phIvasDec )->st_ivas->hRenderConfig != NULL )
        {
            ivas_render_config_close( &( ( *phIvasDec )->st_ivas->hRenderConfig ) );
        }
#endif /* REFACTOR_REVERB_INIT_ADD_CFG_CHECKS */

        ivas_HRTF_binary_close( &( *phIvasDec )->st_ivas->hHrtfTD );

        count_free( ( *phIvasDec )->st_ivas );
Loading