Index: celt/fixed_debug.h |
diff --git a/celt/fixed_debug.h b/celt/fixed_debug.h |
index 80bc94910fa3e51fe762847734d7bd60ab0cb5af..d28227f5dc72879ced944d8b5db8880ba3465f03 100644 |
--- a/celt/fixed_debug.h |
+++ b/celt/fixed_debug.h |
@@ -496,6 +496,7 @@ static OPUS_INLINE int MULT16_32_PX_(int a, opus_int64 b, int Q, char *file, int |
#define MULT16_32_Q15(a,b) MULT16_32_QX(a,b,15) |
#define MAC16_32_Q15(c,a,b) (celt_mips-=2,ADD32((c),MULT16_32_Q15((a),(b)))) |
+#define MAC16_32_Q16(c,a,b) (celt_mips-=2,ADD32((c),MULT16_32_Q16((a),(b)))) |
static OPUS_INLINE int SATURATE(int a, int b) |
{ |
@@ -767,6 +768,16 @@ static OPUS_INLINE int DIV32_(opus_int64 a, opus_int64 b, char *file, int line) |
return res; |
} |
+static OPUS_INLINE opus_val16 SIG2WORD16_generic(celt_sig x) |
+{ |
+ x = PSHR32(x, SIG_SHIFT); |
+ x = MAX32(x, -32768); |
+ x = MIN32(x, 32767); |
+ return EXTRACT16(x); |
+} |
+#define SIG2WORD16(x) (SIG2WORD16_generic(x)) |
+ |
+ |
#undef PRINT_MIPS |
#define PRINT_MIPS(file) do {fprintf (file, "total complexity = %llu MIPS\n", celt_mips);} while (0); |