ref: 81b699c611d2cfc3b30ac1f22311919aa9239e62
parent: c59c138d6c186d921899ca0d12c1938f47f92f01
author: Jonathan Lennox <[email protected]>
date: Fri Nov 20 18:03:55 EST 2015
Add OPUS_FAST_INT64 definition of silk_SMULWT. Signed-off-by: Timothy B. Terriberry <[email protected]>
--- a/silk/macros.h
+++ b/silk/macros.h
@@ -61,7 +61,11 @@
#endif
/* (a32 * (b32 >> 16)) >> 16 */
+#if OPUS_FAST_INT64
+#define silk_SMULWT(a32, b32) ((opus_int32)(((a32) * (opus_int64)((b32) >> 16)) >> 16))
+#else
#define silk_SMULWT(a32, b32) (((a32) >> 16) * ((b32) >> 16) + ((((a32) & 0x0000FFFF) * ((b32) >> 16)) >> 16))
+#endif
/* a32 + (b32 * (c32 >> 16)) >> 16 */
#if OPUS_FAST_INT64