summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makethird3
-rw-r--r--platform/win32/libthirdparty.vcproj4
-rw-r--r--source/fitz/load-jpx.c16
m---------thirdparty/openjpeg0
4 files changed, 17 insertions, 6 deletions
diff --git a/Makethird b/Makethird
index 044a21e6..76151f71 100644
--- a/Makethird
+++ b/Makethird
@@ -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