From 48ead1c1ea9002afe3e7275062de4e79258181ed Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Mon, 22 Jan 2024 21:59:19 +0530 Subject: [PATCH] Fix for shift overflow issue observed with LTV test --- lib_com/codec_tcx_common.c | 4 ++++ lib_dec/dec_tcx_fx.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib_com/codec_tcx_common.c b/lib_com/codec_tcx_common.c index e0496ab33..0cbed6d8a 100644 --- a/lib_com/codec_tcx_common.c +++ b/lib_com/codec_tcx_common.c @@ -360,7 +360,11 @@ void tcxFormantEnhancement_with_shift( { fac = add( fac0, mult( d, extract_l( L_mult0( j, inv_int[n] ) ) ) ); BASOP_SATURATE_WARNING_OFF_EVS; +#ifdef BASOP_NOGLOB + xn_buf[l + j] = s_min( xn_one, shl_o( mult( xn_buf[l + j], fac ), fac_e, &Overflow )); +#else xn_buf[l + j] = s_min( xn_one, shl( mult( xn_buf[l + j], fac ), fac_e ) ); +#endif move16(); BASOP_SATURATE_WARNING_ON_EVS; } diff --git a/lib_dec/dec_tcx_fx.c b/lib_dec/dec_tcx_fx.c index 5a3dc3fe0..f99e83568 100644 --- a/lib_dec/dec_tcx_fx.c +++ b/lib_dec/dec_tcx_fx.c @@ -2841,7 +2841,11 @@ void decoder_tcx_invQ_fx( FOR( i = 0; i < noiseFillingSize; ++i ) { tmp32 = L_shr( x[i], 31 - *x_e ); +#ifdef BASOP_NOGLOB *nf_seed = add_o( *nf_seed, (Word16) abs( tmp32 ) * i * 2, &Overflow ); +#else + *nf_seed = add( *nf_seed, (Word16) abs( tmp32 ) * i * 2 ); +#endif } } ELSE /* TCX-only: context based arithmetic coder */ -- GitLab