Commit 8cf6af7f authored by norvell's avatar norvell
Browse files

Change to a check on the integer counter which is a safer fix. Expand to include ITD xfade.

parent 91e5cd03
Loading
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -2947,7 +2947,11 @@ void stereo_dft_dec_smooth_parameters(
        if ( hStereoDft->frame_sid_nodata )
        {
            /* set new xfade target if new itd received */
#ifdef NONBE_FIX_1010_STEREO_CNG_DIV_BY_ZERO
            if ( hStereoDft->ipd_xfade_counter < STEREO_DFT_ITD_CNG_XFADE )
#else
            if ( hStereoDft->gipd[k + k_offset] != hStereoDft->ipd_xfade_target )
#endif
            {
                if ( ( hStereoDft->gipd[k + k_offset] - hStereoDft->ipd_xfade_prev ) > EVS_PI )
                {
@@ -2967,11 +2971,7 @@ void stereo_dft_dec_smooth_parameters(
            }

            /* xfade */
#ifdef NONBE_FIX_1010_STEREO_CNG_DIV_BY_ZERO
            if ( hStereoDft->ipd_xfade_prev != hStereoDft->ipd_xfade_target && hStereoDft->ipd_xfade_counter < ( STEREO_DFT_ITD_CNG_XFADE - 1 ) && hStereoDft->last_active_element_brate <= 24400 )
#else
            if ( hStereoDft->ipd_xfade_prev != hStereoDft->ipd_xfade_target && hStereoDft->ipd_xfade_counter < STEREO_DFT_ITD_CNG_XFADE && hStereoDft->last_active_element_brate <= 24400 )
#endif
            {
                hStereoDft->gipd[k + k_offset] = hStereoDft->ipd_xfade_prev + hStereoDft->ipd_xfade_step;
                hStereoDft->ipd_xfade_prev = hStereoDft->gipd[k + k_offset];
@@ -2997,7 +2997,11 @@ void stereo_dft_dec_smooth_parameters(
        if ( hStereoDft->frame_sid_nodata )
        {
            /* set new xfade target if new itd received */
#ifdef NONBE_FIX_1010_STEREO_CNG_DIV_BY_ZERO
            if ( hStereoDft->itd_xfade_counter < STEREO_DFT_ITD_CNG_XFADE )
#else
            if ( hStereoDft->itd[k + k_offset] != hStereoDft->itd_xfade_target )
#endif
            {
                hStereoDft->itd_xfade_target = hStereoDft->itd[k + k_offset];
                hStereoDft->itd_xfade_step = ( hStereoDft->itd_xfade_target - hStereoDft->itd_xfade_prev ) / ( STEREO_DFT_ITD_CNG_XFADE - hStereoDft->itd_xfade_counter );