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.
This commit is contained in:
Francois-Olivier Devaux 2008-02-29 09:33:41 +00:00
parent 396cb1e102
commit 6d1f3ecc9f
3 changed files with 13 additions and 14 deletions

View File

@ -5,6 +5,12 @@ What's New for OpenJPEG
! : changed ! : changed
+ : added + : added
February 28, 2008
* [FOD] 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
* [FOD] 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.
February 28, 2008 February 28, 2008
- [FOD] Removed the J2KViewer module, which has been replaced by OPJViewer - [FOD] Removed the J2KViewer module, which has been replaced by OPJViewer
* [FOD] Fixed the error handling of j2k_decode in jp2.c, thanks to Robin Cornelius * [FOD] Fixed the error handling of j2k_decode in jp2.c, thanks to Robin Cornelius

View File

@ -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* 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; if(!dinfo) return NULL;
dinfo->is_decompressor = true; dinfo->is_decompressor = true;
switch(format) { 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* 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; if(!cinfo) return NULL;
cinfo->is_decompressor = false; cinfo->is_decompressor = false;
switch(format) { switch(format) {

View File

@ -74,21 +74,14 @@ Allocate memory aligned to a 16 byte boundry
#endif #endif
#else /* Not WIN32 */ #else /* Not WIN32 */
#if defined(__sun) #if defined(__sun)
#define HAVE_MEMALIGN #define HAVE_MEMALIGN
#elif defined(__GNUC__) /* Linux x86_64 and OSX always align allocations to 16 bytes */
#ifndef __APPLE__ #elif !defined(__amd64__) && !defined(__APPLE__)
#define HAVE_MEMALIGN #define HAVE_MEMALIGN
#include <malloc.h> #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
#endif #endif
#endif #endif
#define opj_aligned_malloc(size) malloc(size) #define opj_aligned_malloc(size) malloc(size)
#define opj_aligned_free(m) free(m) #define opj_aligned_free(m) free(m)