aboutsummaryrefslogtreecommitdiff
path: root/celt/fixed_debug.h
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-21 19:40:23 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-22 15:30:19 -0400
commit273906404c1647ef9f43c27fc1efced3c7af96f4 (patch)
tree1f19bfdacd528081b1f2c9debf82113cc29ff0c6 /celt/fixed_debug.h
parentae3321849596094d204f9c3dbe485b5fde6e5782 (diff)
downloadlibopus-273906404c1647ef9f43c27fc1efced3c7af96f4.tar.gz
silencing overflows in MDCT and FFT
Diffstat (limited to 'celt/fixed_debug.h')
-rw-r--r--celt/fixed_debug.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/celt/fixed_debug.h b/celt/fixed_debug.h
index d28227f5..f55dbf92 100644
--- a/celt/fixed_debug.h
+++ b/celt/fixed_debug.h
@@ -59,6 +59,12 @@ extern opus_int64 celt_mips;
#define SHR(a,b) SHR32(a,b)
#define PSHR(a,b) PSHR32(a,b)
+/** Add two 32-bit values, ignore any overflows */
+#define ADD32_ovflw(a,b) (celt_mips+=2,(opus_val32)((opus_uint32)(a)+(opus_uint32)(b)))
+/** Subtract two 32-bit values, ignore any overflows */
+#define SUB32_ovflw(a,b) (celt_mips+=2,(opus_val32)((opus_uint32)(a)-(opus_uint32)(b)))
+#define NEG32_ovflw(a) (celt_mips+=2,(opus_val32)(-(opus_uint32)(a)))
+
static OPUS_INLINE short NEG16(int x)
{
int res;