From 25486d7b3dfe7226553a2af74e15db4005a6a201 Mon Sep 17 00:00:00 2001 From: Rodger Combs Date: Thu, 23 Jun 2016 23:39:06 -0500 Subject: bitmap: use calloc instead of malloc/memset This can improve perf somewhat with large bitmaps --- libass/ass_utils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libass/ass_utils.c') diff --git a/libass/ass_utils.c b/libass/ass_utils.c index bcaeec1..9dc2358 100644 --- a/libass/ass_utils.c +++ b/libass/ass_utils.c @@ -79,12 +79,13 @@ char *ass_strndup(const char *s, size_t n) } #endif -void *ass_aligned_alloc(size_t alignment, size_t size) +void *ass_aligned_alloc(size_t alignment, size_t size, bool zero) { assert(!(alignment & (alignment - 1))); // alignment must be power of 2 if (size >= SIZE_MAX - alignment - sizeof(void *)) return NULL; - char *allocation = malloc(size + sizeof(void *) + alignment - 1); + char *allocation = zero ? calloc(size + sizeof(void *) + alignment - 1, 1) + : malloc(size + sizeof(void *) + alignment - 1); if (!allocation) return NULL; char *ptr = allocation + sizeof(void *); -- cgit v1.2.3