From e0710ca385a2dfd9cb10830717e02c2ec644b8b0 Mon Sep 17 00:00:00 2001 From: Tommy Vaillancourt Date: Wed, 27 Aug 2025 09:43:01 -0400 Subject: [PATCH] fix for missing saturation --- lib_com/options.h | 2 ++ lib_enc/gain_enc_fx.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index a9942fd39..f198a09ba 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -77,6 +77,7 @@ #define FIX_1942_ASSERTION_LOWSHELF /* FhG: Modified the target_gains_db_fx calculation in compute_t60_coeffs_fx() */ #define FIX_1944_CRASH_FOR_STEREO /* FhG: improve TonalMDCTConceal_InsertNoise calculation precision */ #define FIX_1970_SBA_CRASH /* Dlb: Fix for issue 1970, SBA crash */ +#define FIX_1978_SAT_MISSING_IN_GAIN_ENC /* VA: Fix add saturation missing that lead to a crash in P800-10 */ /* #################### Start BASOP porting switches ############################ */ @@ -84,6 +85,7 @@ #define FIX_1129_EXT_REND_OUTPUT_HIGH /* Philips: issue 1129: External renderer BINAURAL_ROOM_REVERB format output level too high compared to internal rendering output */ #define NONBE_1328_FIX_NON_LINEARITY /* VA: Fix possible issue when computing bwe_exc_extended and previous frame were almost 0, float issue 1328 */ + /* #################### End BASOP porting switches ############################ */ #endif diff --git a/lib_enc/gain_enc_fx.c b/lib_enc/gain_enc_fx.c index 9468fff60..868374446 100644 --- a/lib_enc/gain_enc_fx.c +++ b/lib_enc/gain_enc_fx.c @@ -728,10 +728,18 @@ void gain_enc_SQ_fx( *gain_pit = round_fx_o( L_shl_o( L_div, add( exp, exp_div ), &Overflow ), &Overflow ); /*Q14*/ +#ifdef FIX_1978_SAT_MISSING_IN_GAIN_ENC + L_tmp1 = L_mult_sat( coeff[1], coeff[4] ); /*Q31*/ +#else L_tmp1 = L_mult( coeff[1], coeff[4] ); /*Q31*/ +#endif exp1 = add( exp_coeff[1], exp_coeff[4] ); +#ifdef FIX_1978_SAT_MISSING_IN_GAIN_ENC + L_tmp2 = L_mult_sat( coeff[0], coeff[3] ); /*Q31*/ +#else L_tmp2 = L_mult( coeff[0], coeff[3] ); /*Q31*/ +#endif exp2 = add( exp_coeff[0], exp_coeff[3] ); IF( GT_16( exp1, exp2 ) ) -- GitLab