shithub: opus

Download patch

ref: f0bf32a58c71e9324d00728e13e6d2647c023435
parent: 60b8f5b80307c1ecb1070f602074c791444c52bc
author: Jean-Marc Valin <jeanmarcv@google.com>
date: Fri Apr 4 10:44:14 EDT 2025

Fix projection encoder integer overflow

--- a/src/mapping_matrix.c
+++ b/src/mapping_matrix.c
@@ -178,7 +178,11 @@
 #endif
     }
 #if defined(FIXED_POINT)
-    output[output_rows * i] = INT16TORES((tmp + 64) >> 7);
+#ifdef ENABLE_RES24
+    output[output_rows * i] = SHL32(tmp, RES_SHIFT-7);
+#else
+    output[output_rows * i] = SATURATE16((tmp + 64) >> 7);
+#endif
 #else
     output[output_rows * i] = (1/(32768.f*32768.f))*tmp;
 #endif
--