Commit da31b1f6 authored by Manuel Jander's avatar Manuel Jander
Browse files

Fix crash for ltv48_OMASA_2ISM_2TC_OMASA_ISM2_2TC_b32_swb_cbr

parent 8ad1c4a7
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@
#define NONBE_FIX_ISSUE_2206_TD_CHANNEL_EXTRAPOLATION   /* FhG: Use different scale to avoid saturation of LPC coefficient in TD Stereo signal extrapolation. */
#define NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_SWB_fenv_fx2 /* FhG: Avoid overflow of SWB_fenv_fx in SWB_BWE_encoding_fx because of very small energies. */
#define NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_MSVQ_Interpol_Tran_fx /* FhG: Fix saturation crash in MSVQ_Interpol_Tran_fx() */
#define NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT_FIX_2527    /* Fix crash from issue #2527 */
#define FIX_2452_HQ_CORE_PEAQ_AVR_RATIO_HARM            /* Eri: Basop issue 2453: Fix alignment of peak_avrg_ratio_fx */
#define FIX_FLOAT_1539_G192_FORMAT_SWITCH               /* VA/Nokia: reintroduce format switching for g192 bitstreams */
#define FIX_1527_CMR_BITRATE_IDX                        /* Fix for incorrect bitrate idx packed in rtp CMR E-byte */
+12 −0
Original line number Diff line number Diff line
@@ -4895,9 +4895,21 @@ static void gainFrSmooth_En_fx(
        IF( NE_32( st_fx->total_brate, ACELP_24k40 ) )
        {
#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT
#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT_FIX_2527
            Word16 shb_frame_q2;

            shb_frame_q2 = s_min( shb_frame_q, hBWE_TD->shb_inv_filt_mem_q );
            scale_sig( hBWE_TD->shb_inv_filt_mem_fx, LPC_SHB_ORDER, sub( shb_frame_q2, hBWE_TD->shb_inv_filt_mem_q ) );
            scale_sig( shb_frame_fx, L_FRAME16k + L_SHB_LAHEAD, sub( shb_frame_q2, shb_frame_q ) );
            shb_frame_q = shb_frame_q2;
            move16();
            hBWE_TD->shb_inv_filt_mem_q = shb_frame_q;
            move16();
#else
            scale_sig( hBWE_TD->shb_inv_filt_mem_fx, LPC_SHB_ORDER, sub( shb_frame_q, hBWE_TD->shb_inv_filt_mem_q ) );
            hBWE_TD->shb_inv_filt_mem_q = shb_frame_q;
            move16();
#endif
#endif
            Copy( shb_frame_fx, temp_shb_frame, L_FRAME16k + L_SHB_LAHEAD );
            fir_fx( temp_shb_frame, lpc_shb_fx, shb_frame_fx, hBWE_TD->shb_inv_filt_mem_fx, L_FRAME16k + L_SHB_LAHEAD, LPC_SHB_ORDER, 1, 3 );