Fixed temp arrays that were allocated too large (no change in peak mem)
authorJean-Marc Valin <Jean-Marc.Valin@csiro.au>
Fri, 29 Feb 2008 06:03:34 +0000 (17:03 +1100)
committerJean-Marc Valin <Jean-Marc.Valin@csiro.au>
Fri, 29 Feb 2008 06:03:34 +0000 (17:03 +1100)
libcelt/stack_alloc.h
libcelt/vq.c

index f1bb0d8..3de8edd 100644 (file)
 
 #include <valgrind/memcheck.h>
 
 
 #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))))
 #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))))
index 425b41f..68053b8 100644 (file)
@@ -148,10 +148,10 @@ void alg_quant(celt_norm_t *X, celt_mask_t *W, int N, int K, celt_norm_t *P, cel
    ALLOC(_ny, L*N, celt_norm_t);
    ALLOC(_iy, L*N, int);
    ALLOC(_iny, L*N, int);
    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);
    
    ALLOC(xy, L, celt_word32_t);
    ALLOC(yy, L, celt_word32_t);