Enlarge CELT pseudo-stack for floating point unless an architecture specific value
authorGregory Maxwell <greg@xiph.org>
Tue, 3 Feb 2009 21:07:01 +0000 (16:07 -0500)
committerGregory Maxwell <greg@xiph.org>
Tue, 3 Feb 2009 21:07:01 +0000 (16:07 -0500)
has been set. This fixes a crash bug for some platforms with 512 sample frames and stereo.

libcelt/arch.h
libcelt/stack_alloc.h

index 70f1d90..f5a253a 100644 (file)
@@ -237,6 +237,12 @@ typedef float celt_mask_t;
 
 #endif /* !CONFIG_TI_C54X */
 
-
+#ifndef GLOBAL_STACK_SIZE 
+#ifdef FIXED_POINT
+#define GLOBAL_STACK_SIZE 25000
+#else
+#define GLOBAL_STACK_SIZE 40000
+#endif
+#endif 
 
 #endif /* ARCH_H */
index 5be9727..9fae6f5 100644 (file)
@@ -131,7 +131,7 @@ extern char *global_stack;
 #define VARDECL(type, var) type *var
 #define ALLOC(var, size, type) var = PUSH(global_stack, size, type)
 #define SAVE_STACK char *_saved_stack = global_stack;
-#define ALLOC_STACK (global_stack = (global_stack==0) ? celt_alloc_scratch(25000) : global_stack)
+#define ALLOC_STACK (global_stack = (global_stack==0) ? celt_alloc_scratch(GLOBAL_STACK_SIZE) : global_stack)
 
 #endif