fix for TI version of celt_maxabs16()
[opus.git] / libcelt / fixed_c5x.h
index 53c16c5..864aa56 100644 (file)
 #undef MULT_16_16
 #define MULT_16_16(a,b) _lmpy(a,b)
 
+/* FIXME: This is technically incorrect and is bound to cause problems. Is there any cleaner solution? */
+#undef MULT16_32_Q15
+#define MULT16_32_Q15(a,b) ADD32(SHL(MULT16_16((a),SHR((b),16)),1), SHR(MULT16_16SU((a),(b)),15))
+
+
 #define celt_ilog2(x) (30 - _lnorm(x))
 #define OVERRIDE_CELT_ILOG2
 
+#define celt_maxabs16(x, len) MAX16(maxval((DATA *)x, len),-minval((DATA *)x, len))
+#define OVERRIDE_CELT_MAXABS16
+
 #endif /* FIXED_C5X_H */