shithub: opus

Download patch

ref: 2582ca925988cd53edf0c4d6690dba2c66fde8e8
parent: e12c7f584a542ec6f2b00be67bf33165e182b24b
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Fri Feb 2 13:32:55 EST 2024

Allow wrap-around in silk_LPC_analysis_filter_avx2()

Matches the C version (see 4a7027b)

--- a/silk/x86/NSQ_del_dec_avx2.c
+++ b/silk/x86/NSQ_del_dec_avx2.c
@@ -1073,7 +1073,7 @@
         out32_Q12 = silk_mm256_hsum_epi32(sum);
 
         /* Subtract prediction */
-        out32_Q12 = silk_LSHIFT((opus_int32)*in_ptr, 12 ) - out32_Q12;
+        out32_Q12 = silk_SUB32_ovflw( silk_LSHIFT( (opus_int32)*in_ptr, 12 ), out32_Q12 );
 
         /* Scale to Q0 */
         out32 = silk_sar_round_32(out32_Q12, 12);
--