Commit d1c76ac6 authored by Devansh Kandpal's avatar Devansh Kandpal
Browse files

Memeory allocation and fixed point scaling bug fixes for reverb parameters in ivas_reverb_fx.c

parent 208c7d33
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -1558,10 +1558,28 @@ ivas_error ivas_reverb_open_fx(
    test();

#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
    /* set up reverb acoustic data on the basis of HRTF data and renderer config  */
    Scale_sig32( params.pFc_fx, nr_fc_fft_filter, 2 );
    Word16 *pRt60_e = (Word16 *) malloc( sizeof( Word16 ) * nr_fc_fft_filter );
    Word16 *pDsr_e = (Word16 *) malloc( sizeof( Word16 ) * nr_fc_fft_filter );

    params.pRt60_e = pRt60_e;
    params.pDsr_e = pDsr_e;

    set_reverb_acoustic_data_fx( &params, &hRenderConfig->roomAcoustics, nr_fc_input, nr_fc_fft_filter );
    Scale_sig32( params.pFc_fx, nr_fc_fft_filter, -2 );
    FOR( i = 0; i < nr_fc_fft_filter; i++ )
    {
        params.pRt60_fx[i] = L_abs( params.pRt60_fx[i] );
        move32();
        params.pDsr_fx[i] = L_abs( params.pDsr_fx[i] );
        move32();
    }

    params.pHrtf_avg_pwr_response_l_const_fx = hHrtfStatistics->average_energy_l;
    params.pHrtf_avg_pwr_response_r_const_fx = hHrtfStatistics->average_energy_r;
    params.pHrtf_inter_aural_coherence_const_fx = hHrtfStatistics->inter_aural_coherence;

#else
    IF( hHrtf == NULL && lr_energy_and_iac_fx != NULL )
    {