diff options
-rw-r--r-- | Makethird | 3 | ||||
-rw-r--r-- | platform/win32/libthirdparty.vcproj | 4 | ||||
-rw-r--r-- | source/fitz/load-jpx.c | 16 | ||||
m--------- | thirdparty/openjpeg | 0 |
4 files changed, 17 insertions, 6 deletions
@@ -307,6 +307,7 @@ else OPENJPEG_CFLAGS += -Ithirdparty/openjpeg/src/lib/openjp2 OPENJPEG_CFLAGS += -DOPJ_STATIC OPENJPEG_CFLAGS += -DOPJ_HAVE_STDINT_H -DOPJ_HAVE_INTTYPES_H +OPENJPEG_CFLAGS += -DMUTEX_pthread=0 THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/bio.c THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/cio.c @@ -321,7 +322,7 @@ THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/mct.c THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/mqc.c THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/openjpeg.c THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/pi.c -THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/raw.c +THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/sparse_array.c THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/t1.c THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/t2.c THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/tcd.c diff --git a/platform/win32/libthirdparty.vcproj b/platform/win32/libthirdparty.vcproj index cffc0ca1..fb3468ac 100644 --- a/platform/win32/libthirdparty.vcproj +++ b/platform/win32/libthirdparty.vcproj @@ -1016,11 +1016,11 @@ > </File> <File - RelativePath="..\..\thirdparty\openjpeg\src\lib\openjp2\raw.c" + RelativePath="..\..\thirdparty\openjpeg\src\lib\openjp2\sparse_array.c" > </File> <File - RelativePath="..\..\thirdparty\openjpeg\src\lib\openjp2\raw.h" + RelativePath="..\..\thirdparty\openjpeg\src\lib\openjp2\sparse_array.h" > </File> <File diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c index 49d7a811..da9ce087 100644 --- a/source/fitz/load-jpx.c +++ b/source/fitz/load-jpx.c @@ -575,7 +575,7 @@ void opj_free(void *ptr) fz_free(ctx, ptr); } -void * opj_aligned_malloc(size_t size) +static void * opj_aligned_malloc_n(size_t alignment, size_t size) { uint8_t *ptr; int off; @@ -583,15 +583,25 @@ void * opj_aligned_malloc(size_t size) if (size == 0) return NULL; - size += 16 + sizeof(uint8_t); + size += alignment + sizeof(uint8_t); ptr = opj_malloc(size); if (ptr == NULL) return NULL; - off = 16-(((int)(intptr_t)ptr) & 15); + off = alignment-(((int)(intptr_t)ptr) & (alignment - 1)); ptr[off-1] = off; return ptr + off; } +void * opj_aligned_malloc(size_t size) +{ + return opj_aligned_malloc_n(16, size); +} + +void * opj_aligned_32_malloc(size_t size) +{ + return opj_aligned_malloc_n(32, size); +} + void opj_aligned_free(void* ptr_) { uint8_t *ptr = (uint8_t *)ptr_; diff --git a/thirdparty/openjpeg b/thirdparty/openjpeg -Subproject 19b3d33e7547682364a36a51e61ae38e068262a +Subproject 0c286d07292f780b2a154e9b47c2a675decf204 |