Commit 1990fafb authored by Devansh Kandpal's avatar Devansh Kandpal
Browse files

solved runtime error in binaural room reverb

parent 6f2d744f
Loading
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -110,6 +110,7 @@ ivas_error ivas_reverb_prepare_cldfb_params(
    {
        fc[idx] = ( idx + 0.5f ) * ( MAX_SAMPLING_RATE / ( 2 * CLDFB_NO_CHANNELS_MAX ) );
    }

    Word32 *pOutput_fc_fx = (Word32 *) malloc( CLDFB_NO_CHANNELS_MAX * sizeof( Word32 ) );
    Word32 *pOutput_t60_fx = (Word32 *) malloc( CLDFB_NO_CHANNELS_MAX * sizeof( Word32 ) );
    Word16 *pOutput_t60_e = (Word16 *) malloc( CLDFB_NO_CHANNELS_MAX * sizeof( Word16 ) );
@@ -122,6 +123,19 @@ ivas_error ivas_reverb_prepare_cldfb_params(
        pOutput_fc_fx[i] = (Word32) fc[i] * ONE_IN_Q16;
    }

    /*
    for ( idx = 0; idx < CLDFB_NO_CHANNELS_MAX; idx++ )
    {
        fc[idx] = ( (float) idx + 0.5f ) * ( (float) MAX_SAMPLING_RATE / (float) ( 2 * CLDFB_NO_CHANNELS_MAX ) );
    }
    Word32 *pOutput_fc_fx = (Word32 *) malloc( pInput_params->nBands * sizeof( Word32 ) );
    Word32 *pOutput_t60_fx = (Word32 *) malloc( pInput_params->nBands * sizeof( Word32 ) );
    Word16 *pOutput_t60_e = (Word16 *) malloc( pInput_params->nBands * sizeof( Word16 ) );
    Word32 *pOutput_ene_fx = (Word32 *) malloc( pInput_params->nBands * sizeof( Word32 ) );
    Word16 *pOutput_ene_e = (Word16 *) malloc( pInput_params->nBands * sizeof( Word16 ) );
    Word32 delay_diff_fx; 
    */

    ivas_reverb_interpolate_acoustic_data_fx( pInput_params->nBands, pInput_params->pFc_input_fx, pInput_params->pAcoustic_rt60_fx, pInput_params->pAcoustic_dsr_fx,
                                              CLDFB_NO_CHANNELS_MAX, pOutput_fc_fx, pOutput_t60_fx, pOutput_ene_fx, pOutput_t60_e, pOutput_ene_e );

@@ -129,7 +143,8 @@ ivas_error ivas_reverb_prepare_cldfb_params(
    delay_diff_fx = L_sub( pInput_params->inputPreDelay_fx, pInput_params->acousticPreDelay_fx );

    delay_diff = (float) delay_diff_fx / ONE_IN_Q27;
    for ( int i = 0; i < pInput_params->nBands; i++ )
    for ( int i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ )
    //for ( int i = 0; i < pInput_params->nBands; i++ )
    {
        pOutput_t60[i] = (float) fabs( me2f( pOutput_t60_fx[i], pOutput_t60_e[i] ) );
        pOutput_ene[i] = (float) fabs( me2f( pOutput_ene_fx[i], pOutput_ene_e[i] ) );