Enlarge CELT pseudo-stack for floating point unless an architecture specific value

has been set. This fixes a crash bug for some platforms with 512 sample frames and stereo.
This commit is contained in:
Gregory Maxwell 2009-02-03 16:07:01 -05:00
parent 0b2c46dc24
commit 242eee35a8
2 changed files with 8 additions and 2 deletions

View file

@ -237,6 +237,12 @@ typedef float celt_mask_t;
#endif /* !CONFIG_TI_C54X */ #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 */ #endif /* ARCH_H */

View file

@ -131,7 +131,7 @@ extern char *global_stack;
#define VARDECL(type, var) type *var #define VARDECL(type, var) type *var
#define ALLOC(var, size, type) var = PUSH(global_stack, size, type) #define ALLOC(var, size, type) var = PUSH(global_stack, size, type)
#define SAVE_STACK char *_saved_stack = global_stack; #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 #endif