Commit 7746a569 authored by multrus's avatar multrus
Browse files

[cleanup] accept FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH

parent 0e5c9f07
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -162,7 +162,6 @@
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */
#define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR      /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH         /* FhG: fix OOB index USAN error in TCX LTP pitch search */
#define FIX_2274_OOB_INDEXING_IN_CORRMATRIX             /* FhG: fix OOB indexing complaint */
#define FIX_2278_OOB_INDEXING_IN_CLOSED_LOOP_PIT_SEARCH /* FhG: fix oob indexing USAN complaint */
#define FIX_2287_MCT_MDCT_STEREO_DATA_MALLOC_SIZE       /* FhG: correct allocation size for STEREO_MDCT_DEC_DATA struct */
+0 −24
Original line number Diff line number Diff line
@@ -114,9 +114,7 @@ static void tcx_ltp_pitch_search(
    int16_t *border_case )
{
    int16_t i, t, t0, t1, step, fraction, t0_min, t0_max, t_min, t_max, delta;
#ifdef FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH
    int16_t cor_idx_ini, cor_idx;
#endif
    float temp, cor_max, cor[256], *pt_cor;

    if ( pitres == 6 )
@@ -199,11 +197,7 @@ static void tcx_ltp_pitch_search(
     * the interpolated normalized correlation.
     *-----------------------------------------------------------------*/

#ifdef FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH
    cor_idx_ini = L_INTERPOL1 - t0_min;
#else
    pt_cor = cor + L_INTERPOL1 - t0_min;
#endif
    t0 = t1;
    if ( t0 >= pitfr2 )
    {
@@ -219,29 +213,17 @@ static void tcx_ltp_pitch_search(
    if ( t0 == t0_min ) /* Limit case */
    {
        fraction = 0;
#ifdef FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH
        cor_idx = cor_idx_ini + t0;
        cor_max = interpolate_corr( &cor[cor_idx], fraction, pitres );
#else
        cor_max = interpolate_corr( &pt_cor[t0], fraction, pitres );
#endif
    }
    else /* Process negative fractions */
    {
        t0--;
#ifdef FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH
        cor_idx = cor_idx_ini + t0;
        cor_max = interpolate_corr( &cor[cor_idx], fraction, pitres );
#else
        cor_max = interpolate_corr( &pt_cor[t0], fraction, pitres );
#endif
        for ( i = ( fraction + step ); i <= pitres - 1; i = i + step )
        {
#ifdef FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH
            temp = interpolate_corr( &cor[cor_idx], i, pitres );
#else
            temp = interpolate_corr( &pt_cor[t0], i, pitres );
#endif
            if ( temp > cor_max )
            {
                cor_max = temp;
@@ -250,16 +232,10 @@ static void tcx_ltp_pitch_search(
        }
    }

#ifdef FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH
    cor_idx = cor_idx_ini + t1;
#endif
    for ( i = 0; i <= pitres - 1; i = i + step ) /* Process positive fractions */
    {
#ifdef FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH
        temp = interpolate_corr( &cor[cor_idx], i, pitres );
#else
        temp = interpolate_corr( &pt_cor[t1], i, pitres );
#endif
        if ( temp > cor_max )
        {
            cor_max = temp;