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

Add NONBE_FIX_2493_CHECK_EXTRACT_L_acelp_fast_fx. Enable all overflow fixes...

Add NONBE_FIX_2493_CHECK_EXTRACT_L_acelp_fast_fx. Enable all overflow fixes despite that EVS will not be BE for the time being, until there are no crashes anymore.
parent 96b13f2e
Loading
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@
#define FIX_2493_CHECK_EXTRACT_L                        /* FhG: Verify that extract_l, W_extract_l etc. do not encounter an overflow. */
#define FIX_2493_CHECK_SCALE_NOSAT                      /* FhG: Verify that no saturation scaling do not encounter an overflow. */
#define FIX_2493_CHECK_64BIT                            /* FhG: Verify that 64 bit ops do not encounter an overflow. */
// #define FIX_2493_CHECK_EXTRACT_L_EVS                    /* FhG: Verify that extract_l, W_extract_l etc. do not encounter an overflow for EVS modes. */
// #define FIX_2493_CHECK_EXTRACT_L_EVS                    /* FhG: Verify that extract_l, W_extract_l etc. do not encounter an overflow for EVS only modes. */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_estDownmixGain_fx /* FhG: Fix extract_l overflow inside estDownmixGain_fx() */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_swb_pre_proc_fx  /* FhG: Fix extract_l overflow inside swb_pre_proc_fx() */
#define NONBE_FIX_2493_EXTRACT_L_spectral_balancer_fx16 /* FhG: Fix extract_l overflow inside spectral_balancer_fx16() */
@@ -152,12 +152,13 @@
#define NONBE_FIX_2493_CHECK_EXTRACT_L_res_bpf_adapt_ivas_fx /* FhG: Fix extract_l overflow inside res_bpf_adapt_ivas_fx() */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_ivas_core_dec_fx  /* FhG: Fix extract_l overflow inside ivas_core_dec_fx() */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_d_syn_filt_fx     /* FhG: Fix extract_l overflow inside d_syn_filt_fx(). W_shr( x, s ) with s out of range problem. */
// #define NONBE_FIX_2493_CHECK_EXTRACT_L_EnhanceClass_fx  /* FhG: Fix extract_l overflow inside EnhanceClass_fx() (EVS) */
// #define NONBE_FIX_2493_CHECK_EXTRACT_L_decoder_tcx_post_fx /* FhG: Fix extract_l overflow inside decoder_tcx_post_fx() (EVS) */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_EnhanceClass_fx  /* FhG: Fix extract_l overflow inside EnhanceClass_fx() (EVS) */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_decoder_tcx_post_fx /* FhG: Fix extract_l overflow inside decoder_tcx_post_fx() (EVS) */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_WB_BWE_gain_pred_fx /* FhG: Fix extract_l overflow inside WB_BWE_gain_pred_fx() (EVS) */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_cftmdl_16fx      /* FhG: Fix extract_l overflow inside cftmdl_16fx() (EVS) */
#define NONBE_FIX_2493_EXTRACT_L_acelp_core_dec_fx      /* FhG: Fix extract_l overflow inside acelp_core_dec_fx() */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_E_LPC_a_isp_conversion /* FhG: Fix extract_l overflow inside E_LPC_a_isp_conversion() */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_E_LPC_a_isp_conversion /* FhG: Fix extract_l overflow inside E_LPC_a_isp_conversion() (EVS) */
#define NONBE_FIX_2493_CHECK_EXTRACT_L_acelp_fast_fx    /* FhG: Fix extract_l overflow inside acelp_fast_fx() */
#define FIX_2493_FIX_ISSUE_1966_F0_32BIT                /* Fhg: Fix saturation that popped up from FIX_ISSUE_1966_F0_32BIT  */
#define FIX_2493_CHECK_EXTRACT_L_FIX_INSTRUMENTATION    /* FhG: BE instrumentation fix */
#define FIX_2584_TD_SM_ISSUE                            /* VA: Fix inconsistencies in the SM part of the TD stereo */
+4 −0
Original line number Diff line number Diff line
@@ -401,10 +401,14 @@ void acelp_fast_fx(
        {
            s64 = W_mac0_16_16( s64, H[j], H[j - i] ); /* Q = shift + 6*/
        }
#ifdef NONBE_FIX_2493_CHECK_EXTRACT_L_acelp_fast_fx
        *alp = extract_h( W_extract_h( W_shl( s64, sub( 48, shift ) ) ) ); /*Q6*/
#else
#ifdef FIX_2493_CHECK_EXTRACT_L
        *alp = extract_l2( W_extract_l2( W_shr( s64, shift ) ) ); /*Q6*/
#else
        *alp = extract_l( W_extract_l( W_shr( s64, shift ) ) ); /*Q6*/
#endif
#endif
        move16();
        alp_buf[L_subfr - i] = *alp++; /*Q6*/