Minus a bunch of warnings when enabling alloca()
[opus.git] / libcelt / arch.h
index a398a39..e954c70 100644 (file)
 #ifndef ARCH_H
 #define ARCH_H
 
-#ifndef SPEEX_VERSION
-#define SPEEX_MAJOR_VERSION 1         /**< Major Speex version. */
-#define SPEEX_MINOR_VERSION 1         /**< Minor Speex version. */
-#define SPEEX_MICRO_VERSION 15        /**< Micro Speex version. */
-#define SPEEX_EXTRA_VERSION ""        /**< Extra Speex version. */
-#define SPEEX_VERSION "speex-1.2beta4"  /**< Speex version string. */
-#endif
-
-/* A couple test to catch stupid option combinations */
-#ifdef FIXED_POINT
-
-#ifdef FLOATING_POINT
-#error You cannot compile as floating point and fixed point at the same time
-#endif
-#ifdef _USE_SSE
-#error SSE is only for floating-point
-#endif
-#if ((defined (ARM4_ASM)||defined (ARM4_ASM)) && defined(BFIN_ASM)) || (defined (ARM4_ASM)&&defined(ARM5E_ASM))
-#error Make up your mind. What CPU do you have?
-#endif
-#ifdef VORBIS_PSYCHO
-#error Vorbis-psy model currently not implemented in fixed-point
-#endif
-
-#else
-
-/*#ifndef FLOATING_POINT
-#error You now need to define either FIXED_POINT or FLOATING_POINT
-#endif
-#if defined (ARM4_ASM) || defined(ARM5E_ASM) || defined(BFIN_ASM)
-#error I suppose you can have a [ARM4/ARM5E/Blackfin] that has float instructions?
-#endif
-#ifdef FIXED_POINT_DEBUG
-#error "Don't you think enabling fixed-point is a good thing to do if you want to debug that?"
-#endif*/
-
-
-#endif
-
-#ifndef OUTSIDE_SPEEX
-#include "speex/speex_types.h"
-#endif
+#include "celt_types.h"
+#include "stack_alloc.h"
 
 #define ABS(x) ((x) < 0 ? (-(x)) : (x))      /**< Absolute integer value. */
 #define ABS16(x) ((x) < 0 ? (-(x)) : (x))    /**< Absolute 16-bit value.  */
 
 #ifdef FIXED_POINT
 
-typedef spx_int16_t spx_word16_t;
-typedef spx_int32_t   spx_word32_t;
-typedef spx_word32_t spx_mem_t;
-typedef spx_word16_t spx_coef_t;
-typedef spx_word16_t spx_lsp_t;
-typedef spx_word32_t spx_sig_t;
+typedef celt_int16_t celt_word16_t;
+typedef celt_int32_t celt_word32_t;
+
+typedef celt_word32_t celt_sig_t;
+typedef celt_word16_t celt_norm_t;
 
 #define Q15ONE 32767
 
 #define LPC_SCALING  8192
-#define SIG_SCALING  16384
+#define SIG_SCALING 16384.f
+#define SIG_SCALING_1 0.000061035
+#define NORM_SCALING 16384.f
+#define NORM_SCALING_1 0.000061035
+
 #define LSP_SCALING  8192.
 #define GAMMA_SCALING 32768.
 #define GAIN_SCALING 64
@@ -110,9 +73,9 @@ typedef spx_word32_t spx_sig_t;
 #define GAIN_SHIFT   6
 
 #define VERY_SMALL 0
-#define VERY_LARGE32 ((spx_word32_t)2147483647)
-#define VERY_LARGE16 ((spx_word16_t)32767)
-#define Q15_ONE ((spx_word16_t)32767)
+#define VERY_LARGE32 ((celt_word32_t)2147483647)
+#define VERY_LARGE16 ((celt_word16_t)32767)
+#define Q15_ONE ((celt_word16_t)32767)
 
 
 #ifdef FIXED_DEBUG
@@ -132,18 +95,21 @@ typedef spx_word32_t spx_sig_t;
 #endif
 
 
-#else
+#else /* FIXED_POINT */
 
-typedef float spx_mem_t;
-typedef float spx_coef_t;
-typedef float spx_lsp_t;
-typedef float spx_sig_t;
-typedef float spx_word16_t;
-typedef float spx_word32_t;
+typedef float celt_word16_t;
+typedef float celt_word32_t;
+
+typedef float celt_sig_t;
+typedef float celt_norm_t;
 
 #define Q15ONE 1.0f
 #define LPC_SCALING  1.f
 #define SIG_SCALING  1.f
+#define SIG_SCALING_1 1.f
+#define NORM_SCALING 1.f
+#define NORM_SCALING_1 1.f
+
 #define LSP_SCALING  1.f
 #define GAMMA_SCALING 1.f
 #define GAIN_SCALING 1.f
@@ -153,7 +119,7 @@ typedef float spx_word32_t;
 #define VERY_SMALL 1e-15f
 #define VERY_LARGE32 1e15f
 #define VERY_LARGE16 1e15f
-#define Q15_ONE ((spx_word16_t)1.f)
+#define Q15_ONE ((celt_word16_t)1.f)
 
 #define QCONST16(x,bits) (x)
 #define QCONST32(x,bits) (x)
@@ -182,8 +148,8 @@ typedef float spx_word32_t;
 #define ADD32(a,b) ((a)+(b))
 #define SUB32(a,b) ((a)-(b))
 #define MULT16_16_16(a,b)     ((a)*(b))
-#define MULT16_16(a,b)     ((spx_word32_t)(a)*(spx_word32_t)(b))
-#define MAC16_16(c,a,b)     ((c)+(spx_word32_t)(a)*(spx_word32_t)(b))
+#define MULT16_16(a,b)     ((celt_word32_t)(a)*(celt_word32_t)(b))
+#define MAC16_16(c,a,b)     ((c)+(celt_word32_t)(a)*(celt_word32_t)(b))
 
 #define MULT16_32_Q11(a,b)     ((a)*(b))
 #define MULT16_32_Q13(a,b)     ((a)*(b))
@@ -205,13 +171,13 @@ typedef float spx_word32_t;
 #define MULT16_16_P13(a,b)     ((a)*(b))
 #define MULT16_16_P14(a,b)     ((a)*(b))
 
-#define DIV32_16(a,b)     (((spx_word32_t)(a))/(spx_word16_t)(b))
-#define PDIV32_16(a,b)     (((spx_word32_t)(a))/(spx_word16_t)(b))
-#define DIV32(a,b)     (((spx_word32_t)(a))/(spx_word32_t)(b))
-#define PDIV32(a,b)     (((spx_word32_t)(a))/(spx_word32_t)(b))
+#define DIV32_16(a,b)     (((celt_word32_t)(a))/(celt_word16_t)(b))
+#define PDIV32_16(a,b)     (((celt_word32_t)(a))/(celt_word16_t)(b))
+#define DIV32(a,b)     (((celt_word32_t)(a))/(celt_word32_t)(b))
+#define PDIV32(a,b)     (((celt_word32_t)(a))/(celt_word32_t)(b))
 
 
-#endif
+#endif /* !FIXED_POINT */
 
 
 #if defined (CONFIG_TI_C54X) || defined (CONFIG_TI_C55X)
@@ -221,19 +187,14 @@ typedef float spx_word32_t;
 #define BITS_PER_CHAR 16
 #define LOG2_BITS_PER_CHAR 4
 
-#else 
+#else /* CONFIG_TI_C54X */
 
 #define BYTES_PER_CHAR 1
 #define BITS_PER_CHAR 8
 #define LOG2_BITS_PER_CHAR 3
 
-#endif
+#endif /* !CONFIG_TI_C54X */
 
 
 
-#ifdef FIXED_DEBUG
-long long spx_mips=0;
-#endif
-
-
-#endif
+#endif /* ARCH_H */