Commit f0b56b81 authored by multrus's avatar multrus
Browse files

Merge branch 'main' into...

Merge branch 'main' into basop-2627-ivas_param_mc_dec_reconfig-sums-pow2-mantissas-with-mismatched-exponents
parents 5ee8decc 5cd83b26
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@
#define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR      /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define FIX_BASOP_2620_ICBWE_GSMAPPING_DEAD_CLAMP       /* FhG: remove dead (always-overwritten) gsMapping clamp in ic_bwe_enc_gsMapping_fx; float ref has no clamp */
#define FIX_BASOP_2626_RC_UNI_DEC_READ_BITS_HANG        /* FhG: BASOP #2626: rc_uni_dec_read_bits: replace loop counter tmp with UWord64; with UWord32 the division-substitute loop (tmp <= low) never terminates after the bit-error sentinel sets rc_low=0xFFFFFFFF -> decoder hang on corrupted bitstreams */

/* #################### End BE switches ################################## */

+4 −0
Original line number Diff line number Diff line
@@ -380,7 +380,11 @@ UWord16 rc_uni_dec_read_bits(
    UWord32 val;
    UWord32 low;   /* local copy (2 to 6 uses) */
    UWord32 range; /* local copy (4 to 7 uses) */
#ifdef FIX_BASOP_2626_RC_UNI_DEC_READ_BITS_HANG
    UWord64 tmp;
#else
    UWord32 tmp;
#endif
    low = rc_st_dec->rc_low;     /*Q0*/
    range = rc_st_dec->rc_range; /*Q0*/
    move32();
+1 −1
Original line number Diff line number Diff line
@@ -852,7 +852,7 @@ static Word32 peak_detect_fx(
                move32();
            }
            // else if ( detected_itd_flag == 0 && *max_max > 1.5f * avg_max && *prev_max > 1.5f * *prev_avg_max && abs( *index - *prev_index ) <= 2 )
            ELSE IF( detected_itd_flag == 0 && BASOP_Util_Cmp_Mant32Exp( *max_max, 0, Mpy_32_32( 1610612736 /*1.5f in Q29*/, avg_max ), add( sum_max_e, 1 ) ) > 0 && BASOP_Util_Cmp_Mant32Exp( *prev_max, 0, Mpy_32_32( 1610612736 /*1.5f in Q29*/, *prev_avg_max ), add( *prev_avg_max_e, 1 ) ) > 0 && LE_16( abs_s( sub( *index, *prev_index ) ), 2 ) )
            ELSE IF( detected_itd_flag == 0 && BASOP_Util_Cmp_Mant32Exp( *max_max, 0, Mpy_32_32( 1610612736 /*1.5f in Q30*/, avg_max ), add( sum_max_e, 1 ) ) > 0 && BASOP_Util_Cmp_Mant32Exp( *prev_max, 0, Mpy_32_32( 1610612736 /*1.5f in Q30*/, *prev_avg_max ), add( *prev_avg_max_e, 1 ) ) > 0 && LE_16( abs_s( sub( *index, *prev_index ) ), 2 ) )
            {
                wfac = 805306368; // 1.5f in Q29
                move32();
+1 −1
Original line number Diff line number Diff line
@@ -1548,7 +1548,7 @@ static Word32 find_poc_peak_fx(
            tmp13_e = 0, tmp15_e = 0;
            tmp13 = BASOP_Util_Divide1616_Scale( abs_s( itd_cand[n] ), hPOC->shift_limit, &tmp13_e );
            tmp14 = L_mult( 6554 /*0.2f Q15*/, tmp13 ); // tmp13_e
            tmp15 = BASOP_Util_Add_Mant32Exp( 644245120 /*0.75f in Q31*/, 0, L_negate( tmp14 ), tmp13_e, &tmp15_e );
            tmp15 = BASOP_Util_Add_Mant32Exp( 644245120 /*0.3f in Q31*/, 0, L_negate( tmp14 ), tmp13_e, &tmp15_e );
            tmp15 = Mpy_32_32( tmp15, peakQ_fx[n] ); // tmp15_e + peakQ_e[n]
            move16();
            move16();