diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2017-06-21 12:12:58 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2017-06-21 12:12:58 +0200 |
| commit | fd0dc535ad9ae0d369d1039aaf56235583ca64ea (patch) | |
| tree | 138e06bb4f02607e0ea51a8ee39ef379d71085b3 /src/lib/openjp2/opj_malloc.c | |
| parent | f6e3475cc9328e5378e96e72b5adf29fb07c5feb (diff) | |
IDWT 5x3: generalize SSE2 version for AVX2
Thanks to our macros that abstract SSE use, the functions can use
AVX2 when available (at compile time)
This brings an extra 23% speed improvement on bench_dwt in 64bit builds
with AVX2 compared to SSE2.
Diffstat (limited to 'src/lib/openjp2/opj_malloc.c')
| -rw-r--r-- | src/lib/openjp2/opj_malloc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/openjp2/opj_malloc.c b/src/lib/openjp2/opj_malloc.c index 9c438bdb..dca91bfc 100644 --- a/src/lib/openjp2/opj_malloc.c +++ b/src/lib/openjp2/opj_malloc.c @@ -213,6 +213,15 @@ void * opj_aligned_realloc(void *ptr, size_t size) return opj_aligned_realloc_n(ptr, 16U, size); } +void *opj_aligned_32_malloc(size_t size) +{ + return opj_aligned_alloc_n(32U, size); +} +void * opj_aligned_32_realloc(void *ptr, size_t size) +{ + return opj_aligned_realloc_n(ptr, 32U, size); +} + void opj_aligned_free(void* ptr) { #if defined(OPJ_HAVE_POSIX_MEMALIGN) || defined(OPJ_HAVE_MEMALIGN) |
