Commit 922a769e authored by norvell's avatar norvell
Browse files

Add fix NONBE_FIX_1208_DFT_STEREO_PLC_BURST

parent 2d4e5268
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@
#define NONBE_FIX_1197_OMASA_META_BUFFER                /* Nokia: OMASA ISM_MASA_MODE_PARAM_ONE_OBJ history zero in rateswitching */

#define FIX_1139_REV_COLORATION_SHORT_T60               /* Nokia,FhG: Fix issue 1139, prevent sound coloration artefacts at very low reverberation times */
#define NONBE_FIX_1208_DFT_STEREO_PLC_BURST             /* Ericsson: Issue 1208, fix for overflow of sample offset counter for burst error in DFT Stereo PLC. */

/* ##################### End NON-BE switches ########################### */

+12 −0
Original line number Diff line number Diff line
@@ -80,6 +80,9 @@ void stereo_dft_res_ecu(
    float fac;
    float trigo_dec[STEREO_DFT32MS_N_8k / 2 + 1];
    int16_t trigo_step;
#ifdef NONBE_FIX_1208_DFT_STEREO_PLC_BURST
    int16_t time_offs;
#endif

    set_zero( pDFT_RES, L_FRAME8k );

@@ -106,7 +109,12 @@ void stereo_dft_res_ecu(
    if ( k == 0 )
    {
        mvr2r( pDFT_RES, res_buf, L_FRAME8k );
#ifdef NONBE_FIX_1208_DFT_STEREO_PLC_BURST
        time_offs = min( MAX16B_FLT, hStereoDft->time_offs + L_FRAME8k );
        stereo_dft_res_subst_spec( hStereoDft, res_buf, DFT_PRED_RES, time_offs, L_res, L_FRAME8k, k, num_plocs, plocs, plocsi, FALSE );
#else
        stereo_dft_res_subst_spec( hStereoDft, res_buf, DFT_PRED_RES, hStereoDft->time_offs + output_frame, L_res, L_FRAME8k, k, num_plocs, plocs, plocsi, FALSE );
#endif

        rfft( res_buf, trigo_dec, L_FRAME8k, +1 );

@@ -133,7 +141,11 @@ void stereo_dft_res_ecu(
        }

        /*in case of burst error*/
#ifdef NONBE_FIX_1208_DFT_STEREO_PLC_BURST
        hStereoDft->time_offs = min( MAX16B_FLT, hStereoDft->time_offs + L_FRAME8k );
#else
        hStereoDft->time_offs += L_FRAME8k;
#endif
    }

    set_zero( DFT_PRED_RES, 2 * L_res );