Add OPUS_FAST_INT64 definition of silk_SMULWT.
authorJonathan Lennox <jonathan@vidyo.com>
Sat, 21 Nov 2015 04:03:55 +0000 (23:03 -0500)
committerTimothy B. Terriberry <tterribe@xiph.org>
Wed, 6 Jul 2016 22:00:02 +0000 (15:00 -0700)
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
silk/macros.h

index e1e05b9..7cefedc 100644 (file)
@@ -61,7 +61,11 @@ POSSIBILITY OF SUCH DAMAGE.
 #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