From be1a839ca638e308748831fdc6fa0b7a7c8e94cf Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Mon, 18 Jun 2012 14:37:02 +0100 Subject: mem: add support for _aligned_malloc() as found on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The check uses check_func_header, since this function is conditionally available depending on the targeted MSVCRT version. Signed-off-by: Martin Storsjö --- libavutil/mem.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libavutil') diff --git a/libavutil/mem.c b/libavutil/mem.c index bf1a542..0fe9f54 100644 --- a/libavutil/mem.c +++ b/libavutil/mem.c @@ -84,6 +84,8 @@ void *av_malloc(size_t size) #elif HAVE_POSIX_MEMALIGN if (posix_memalign(&ptr,32,size)) ptr = NULL; +#elif HAVE_ALIGNED_MALLOC + ptr = _aligned_malloc(size, 32); #elif HAVE_MEMALIGN ptr = memalign(32,size); /* Why 64? @@ -131,6 +133,8 @@ void *av_realloc(void *ptr, size_t size) if(!ptr) return av_malloc(size); diff= ((char*)ptr)[-1]; return (char*)realloc((char*)ptr - diff, size + diff) + diff; +#elif HAVE_ALIGNED_MALLOC + return _aligned_realloc(ptr, size, 32); #else return realloc(ptr, size); #endif @@ -141,6 +145,8 @@ void av_free(void *ptr) #if CONFIG_MEMALIGN_HACK if (ptr) free((char*)ptr - ((char*)ptr)[-1]); +#elif HAVE_ALIGNED_MALLOC + _aligned_free(ptr); #else free(ptr); #endif -- cgit v1.1