diff options
| author | Francois-Olivier Devaux <fodevaux@users.noreply.github.com> | 2008-02-29 09:33:41 +0000 |
|---|---|---|
| committer | Francois-Olivier Devaux <fodevaux@users.noreply.github.com> | 2008-02-29 09:33:41 +0000 |
| commit | 6d1f3ecc9f792b8039328fb871b524d61fc0e481 (patch) | |
| tree | f71a883e2c1bd2e29dd0612708f25ddd9b86edd5 /libopenjpeg | |
| parent | 396cb1e1025d59e679b187aaa2971ea42c4c1c58 (diff) | |
Fixed openjpeg.c for proper initialization of codec context structures (dinfo in opj_create_compress() and opj_create_decompress(). Bug fix suggested by Andrey V. Kiselev
Clean up of opj_aligned_malloc(), to just forgo the use of posix_memalign(), as apparently memalign() is what is working better for everyone. Patch by Callum.
Diffstat (limited to 'libopenjpeg')
| -rw-r--r-- | libopenjpeg/openjpeg.c | 4 | ||||
| -rw-r--r-- | libopenjpeg/opj_malloc.h | 17 |
2 files changed, 7 insertions, 14 deletions
diff --git a/libopenjpeg/openjpeg.c b/libopenjpeg/openjpeg.c index 96fa0ad5..b0cd9e36 100644 --- a/libopenjpeg/openjpeg.c +++ b/libopenjpeg/openjpeg.c @@ -58,7 +58,7 @@ const char* OPJ_CALLCONV opj_version(void) { } opj_dinfo_t* OPJ_CALLCONV opj_create_decompress(OPJ_CODEC_FORMAT format) { - opj_dinfo_t *dinfo = (opj_dinfo_t*)opj_malloc(sizeof(opj_dinfo_t)); + opj_dinfo_t *dinfo = (opj_dinfo_t*)opj_calloc(sizeof(opj_dinfo_t)); if(!dinfo) return NULL; dinfo->is_decompressor = true; switch(format) { @@ -169,7 +169,7 @@ opj_image_t* OPJ_CALLCONV opj_decode_with_info(opj_dinfo_t *dinfo, opj_cio_t *ci } opj_cinfo_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT format) { - opj_cinfo_t *cinfo = (opj_cinfo_t*)opj_malloc(sizeof(opj_cinfo_t)); + opj_cinfo_t *cinfo = (opj_cinfo_t*)opj_calloc(sizeof(opj_cinfo_t)); if(!cinfo) return NULL; cinfo->is_decompressor = false; switch(format) { diff --git a/libopenjpeg/opj_malloc.h b/libopenjpeg/opj_malloc.h index 1f117b6a..9b48c256 100644 --- a/libopenjpeg/opj_malloc.h +++ b/libopenjpeg/opj_malloc.h @@ -74,21 +74,14 @@ Allocate memory aligned to a 16 byte boundry #endif
#else /* Not WIN32 */
#if defined(__sun)
- #define HAVE_MEMALIGN
- #elif defined(__GNUC__)
- #ifndef __APPLE__
- #define HAVE_MEMALIGN
- #include <malloc.h>
- #endif
- /* Linux x86_64 and OSX always align allocations to 16 bytes */
- #elif !defined(__amd64__) && !defined(__APPLE__)
- /* FIXME: Yes, this is a big assumption */
- #define HAVE_POSIX_MEMALIGN
+ #define HAVE_MEMALIGN
+ /* Linux x86_64 and OSX always align allocations to 16 bytes */
+ #elif !defined(__amd64__) && !defined(__APPLE__)
+ #define HAVE_MEMALIGN
+ #include <malloc.h>
#endif
#endif
-
-
#define opj_aligned_malloc(size) malloc(size)
#define opj_aligned_free(m) free(m)
|
