summaryrefslogtreecommitdiff
path: root/libopenjpeg/j2k_lib.h
diff options
context:
space:
mode:
authorFrancois-Olivier Devaux <fodevaux@users.noreply.github.com>2007-08-21 12:13:54 +0000
committerFrancois-Olivier Devaux <fodevaux@users.noreply.github.com>2007-08-21 12:13:54 +0000
commit3810e943b18e0ab0e2def73c54e2580c327dbb31 (patch)
treed6dc653d0a20251a58e6b6f32aa318d75a8c6006 /libopenjpeg/j2k_lib.h
parentca2a0114a28a0815b0adcd0926b97e7ba2622133 (diff)
Aligned malloc using Intel's _mm_malloc(), cleanup on the t1 memory allocation, getting rid of some leftover debug code
Diffstat (limited to 'libopenjpeg/j2k_lib.h')
-rw-r--r--libopenjpeg/j2k_lib.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/libopenjpeg/j2k_lib.h b/libopenjpeg/j2k_lib.h
index 0db63c60..84a68c06 100644
--- a/libopenjpeg/j2k_lib.h
+++ b/libopenjpeg/j2k_lib.h
@@ -32,6 +32,10 @@
The functions in J2K_LIB.C are internal utilities mainly used for memory management.
*/
+#ifndef __GCC__
+#define __attribute__(x) /* */
+#endif
+
/** @defgroup MISC MISC - Miscellaneous internal functions */
/*@{*/
@@ -50,7 +54,16 @@ Allocate a memory block with elements initialized to 0
@param size Bytes to allocate
@return Returns a void pointer to the allocated space, or NULL if there is insufficient memory available
*/
-void* opj_malloc( size_t size );
+void* __attribute__ ((malloc)) opj_malloc( size_t size );
+
+/**
+Allocate memory aligned to a 16 byte boundry
+@param size Bytes to allocate
+@return Returns a void pointer to the allocated space, or NULL if there is insufficient memory available
+*/
+#include <xmmintrin.h>
+#define opj_aligned_malloc(size) _mm_malloc(size, 16)
+#define opj_aligned_free(m) _mm_free(m)
/**
Reallocate memory blocks.
@@ -58,7 +71,7 @@ Reallocate memory blocks.
@param size New size in bytes
@return Returns a void pointer to the reallocated (and possibly moved) memory block
*/
-void* opj_realloc( void *memblock, size_t size );
+void* __attribute__ ((malloc)) opj_realloc( void *memblock, size_t size );
/**
Deallocates or frees a memory block.