Commit 7e3f3315 authored by norvell's avatar norvell
Browse files

Merge branch 'basop-2563-crash-in-hq_generic_decoding_fx' into 'main'

Basop 2563 crash in hq generic decoding fx

See merge request !2995
parents c1628195 eac9fbaf
Loading
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -896,7 +896,21 @@ Word16 shr_o( Word16 var1, Word16 var2, Flag *Overflow )

Word16 shr( Word16 var1, Word16 var2 )
{
#ifdef FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC
    Flag Overflow;
    Word16 result;

    Overflow = 0;

    result = shr_o( var1, var2, &Overflow );
    if ( Overflow )
    {
        assert( 0 );
    }
    return result;
#else
    return shr_o( var1, var2, NULL );
#endif
}
Word16 shr_sat( Word16 var1, Word16 var2 )
{
+1 −0
Original line number Diff line number Diff line
@@ -107,6 +107,7 @@
#define FIX_BASOP_2555_FRAMELEN_CALC                    /* FhG: BASOP issue 2555: Simplify (sub-)framelength calculation in ivas_mdct_core_tns_ns_fx() */
#define FIX_BASOP_2095_REMOVE_TABLES_PT01               /* FhG: BASOP issue 2095: remove unused tables, part 01 */
#define FIX_2346_DUPLICATED_IGF_FUNCTIONS_2             /* FhG: part 2 of basop issue 2346: Review potentially duplicated IGF functions */
#define FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC             /* Eri: BASOP issue 2563: Crash in hq_generic decoding. EVS code --> solve with _sat operator */
#define FIX_2095_REMOVE_UNUSED_ISAR_TABLES              /* Dolby: remove unused ISAR */
#define FIX_BASOP_2560_STEREO_DFT_DEC_RESET             /* FhG: BASOP issue 2560: align reset of hStereoDft->res_gains_ind_fx[][] between BASOP and float */
#define HARMONIZE_2539_cng_energy                       /* FhG: basop issue 2539: harmonize cng_energy with its ivas derivate */
+5 −1
Original line number Diff line number Diff line
@@ -2748,7 +2748,11 @@ void hq_generic_decoding_fx(
    tmp1_fx = extract_h( L_shl( L_tmp1, exp1 ) );
    tmp2_fx = extract_h( L_shl( L_tmp2, exp2 ) );
    tmp3_fx = div_s( tmp2_fx, tmp1_fx ); /*15 + exp2 + 15 - (exp1 + 15) */
#ifdef FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC
    tmp3_fx = shr_sat( tmp3_fx, add( 5, sub( exp2, exp1 ) ) ); /*10 */
#else
    tmp3_fx = shr( tmp3_fx, add( 5, sub( exp2, exp1 ) ) ); /*10 */
#endif

    if ( LT_16( tmp3_fx, 307 /*0.3 in Q10 */ ) )
    {