Commit f56e7c8d authored by vaclav's avatar vaclav
Browse files

Merge remote-tracking branch 'remotes/origin/main' into...

Merge remote-tracking branch 'remotes/origin/main' into 861-masa-br-switching-crashes-with-instrumented-code
parents 5413ea31 084e3e7f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -158,7 +158,7 @@
#define FIX_852_FIX_HANDLE_DEREF                        /* VA: issue 852: Fix missing handle dereferencing of hIsmMetadaData in ivas_ism_metadata_close() */
#define FIX_520_REMOVE_MEMMOVE_JBM                      /* VA: issue 520: Remove memmove() from JBM code */
#define FIX_853_ARRAY_SIZE_MISMATCH                     /* Nokia: Issue #853: Mismatch of declaration and definition of computeIntensityVector_ana and computeReferencePower_ana */

#define FIX_814_DOUBLE_PREC_IN_REVERB                   /* Philips: Issue 814: Replace double precision arithmetic in reverb */

/* #################### End BE switches ################################## */

+19 −0
Original line number Diff line number Diff line
@@ -184,6 +184,24 @@ static ivas_error ivas_binRenderer_convModuleOpen(
        {
            hBinRenConvModule->numTapsArray[bandIdx] = hBinRenConvModule->numTaps;
        }
#ifdef FIX_814_DOUBLE_PREC_IN_REVERB
        for ( ; bandIdx < 10; bandIdx++ )
        {
            hBinRenConvModule->numTapsArray[bandIdx] = (int16_t) ceilf( 0.6f * hBinRenConvModule->numTaps );
        }
        for ( ; bandIdx < 20; bandIdx++ )
        {
            hBinRenConvModule->numTapsArray[bandIdx] = (int16_t) ceilf( 0.5f * hBinRenConvModule->numTaps );
        }
        for ( ; bandIdx < 30; bandIdx++ )
        {
            hBinRenConvModule->numTapsArray[bandIdx] = (int16_t) ceilf( 0.4f * hBinRenConvModule->numTaps );
        }
        for ( ; bandIdx < hBinRenderer->conv_band; bandIdx++ )
        {
            hBinRenConvModule->numTapsArray[bandIdx] = (int16_t) ceilf( 0.3f * hBinRenConvModule->numTaps );
        }
#else
        for ( ; bandIdx < 10; bandIdx++ )
        {
            hBinRenConvModule->numTapsArray[bandIdx] = (int16_t) ceil( 0.6f * hBinRenConvModule->numTaps );
@@ -200,6 +218,7 @@ static ivas_error ivas_binRenderer_convModuleOpen(
        {
            hBinRenConvModule->numTapsArray[bandIdx] = (int16_t) ceil( 0.3f * hBinRenConvModule->numTaps );
        }
#endif
    }
    else
    {
+6 −0
Original line number Diff line number Diff line
@@ -1200,8 +1200,14 @@ ivas_error ivas_reverb_open(

    /* Defining appropriate windowing parameters for FFT filters to prevent aliasing */
    fft_hist_size = pState->fft_size - pState->fft_subblock_size;

#ifdef FIX_814_DOUBLE_PREC_IN_REVERB
    transition_start = (int16_t) roundf( FFT_FILTER_WND_FLAT_REGION * fft_hist_size );
    transition_length = (int16_t) roundf( FFT_FILTER_WND_TRANS_REGION * fft_hist_size );
#else
    transition_start = (int16_t) round( FFT_FILTER_WND_FLAT_REGION * fft_hist_size );
    transition_length = (int16_t) round( FFT_FILTER_WND_TRANS_REGION * fft_hist_size );
#endif

    /* Compute the window used for FFT filters */
    ivas_reverb_define_window_fft( pTime_window, transition_start, transition_length, nr_fc_fft_filter );
+8 −0
Original line number Diff line number Diff line
@@ -587,7 +587,11 @@ void ivas_reverb_calc_color_levels(

    /* Limiting the frequency response gradients
       Find frequency band closest to chosen pivot frequency. */
#ifdef FIX_814_DOUBLE_PREC_IN_REVERB
    idx_pivot = (int16_t) roundf( STEP_LIMIT_PIVOT_FREQ / freq_step );
#else
    idx_pivot = (int16_t) round( STEP_LIMIT_PIVOT_FREQ / freq_step );
#endif

    /* Perform step limiting */
    response_step_limit( pTarget_color_L, freq_count, RESPONSE_STEP_LIMIT_LF, RESPONSE_STEP_LIMIT_HF, idx_pivot );
@@ -723,7 +727,11 @@ void ivas_reverb_get_hrtf_set_properties(
        }
        else
        {
#ifdef FIX_814_DOUBLE_PREC_IN_REVERB
            base_idx = (int16_t) floorf( tbl_index );
#else
            base_idx = (int16_t) floor( tbl_index );
#endif
            relative_pos = tbl_index - base_idx;
            if ( base_idx > ( in_freq_count - 2 ) ) /* In case of extrapolation (above last bin), choose nearest */
            {