diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c index 611a92b5ea5ea32666e4da506388e519b8fd641d..4a1222aa9b117ec20c10822bc388ad19cd41f0f3 100644 --- a/lib_enc/cod_tcx_fx.c +++ b/lib_enc/cod_tcx_fx.c @@ -3537,7 +3537,11 @@ void QuantizeTCXSpectrum_fx( move16(); } +#ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW tmp32 = L_deposit_l( 0 ); +#else + Word64 tmp64 = 0; +#endif FOR( i = 0; i < L_spec; i++ ) { spectrum_fx[i] = L_mult( sqQ[i], 1 << ( 30 - SPEC_EXP_DEC ) ); @@ -3546,13 +3550,18 @@ void QuantizeTCXSpectrum_fx( #ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW tmp32 = L_macNs_co( tmp32, abs_s( sqQ[i] ), i, &Carry, &Overflow ); #else - tmp32 = L_macNs( tmp32, abs_s( sqQ[i] ), i ); + tmp64 = W_mac_16_16( tmp64, abs_s( sqQ[i] ), i ); #endif } *spectrum_e = SPEC_EXP_DEC; move16(); +#ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW *nf_seed = extract_l( tmp32 ); +#else + assert( W_extract_h( tmp64 ) == 0 ); + *nf_seed = extract_l( W_extract_l( tmp64 ) ); +#endif } ELSE {