shithub: opus

Download patch

ref: cac91ec4dbb4466c5f417ade44e5ca11501da129
parent: 877b1975b60e2aee2a75dcc4cfc0e66b3405a416
author: Jean-Marc Valin <[email protected]>
date: Fri Feb 29 12:03:34 EST 2008

Fixed temp arrays that were allocated too large (no change in peak mem)

--- a/libcelt/stack_alloc.h
+++ b/libcelt/stack_alloc.h
@@ -105,7 +105,7 @@
 
 #include <valgrind/memcheck.h>
 
-#define ALLOC_STACK(stack) (stack = (stack==0) ? celt_alloc_scratch(30000) : stack, VALGRIND_MAKE_NOACCESS(stack, 1000))
+#define ALLOC_STACK(stack) (stack = (stack==0) ? celt_alloc_scratch(25000) : stack, VALGRIND_MAKE_NOACCESS(stack, 1000))
 #define ALIGN(stack, size) ((stack) += ((size) - (long)(stack)) & ((size) - 1))
 
 #define PUSH(stack, size, type) (VALGRIND_MAKE_NOACCESS(stack, 1000),ALIGN((stack),sizeof(type)),VALGRIND_MAKE_WRITABLE(stack, ((size)*sizeof(type))),(stack)+=((size)*sizeof(type)),(type*)((stack)-((size)*sizeof(type))))
--- a/libcelt/vq.c
+++ b/libcelt/vq.c
@@ -148,10 +148,10 @@
    ALLOC(_ny, L*N, celt_norm_t);
    ALLOC(_iy, L*N, int);
    ALLOC(_iny, L*N, int);
-   ALLOC(y, L*N, celt_norm_t*);
-   ALLOC(ny, L*N, celt_norm_t*);
-   ALLOC(iy, L*N, int*);
-   ALLOC(iny, L*N, int*);
+   ALLOC(y, L, celt_norm_t*);
+   ALLOC(ny, L, celt_norm_t*);
+   ALLOC(iy, L, int*);
+   ALLOC(iny, L, int*);
    
    ALLOC(xy, L, celt_word32_t);
    ALLOC(yy, L, celt_word32_t);