changeset 222:68cc194e69e5

upgrade openjpeg to 2.4.0
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 12 Jan 2021 18:52:59 +0100
parents dbcf9ad44a70
children 443f219a68fd
files NEWS Resources/CMake/OpenJpegConfiguration.cmake Resources/CMake/OpenJpegConfiguration.patch Resources/CMake/openjpeg-2.1.patch
diffstat 4 files changed, 61 insertions(+), 72 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Tue Jan 12 18:42:04 2021 +0100
+++ b/NEWS	Tue Jan 12 18:52:59 2021 +0100
@@ -9,7 +9,8 @@
 * Fix issue #145 (support of Concatenation UID)
 * Support of dynamic linking against the system-wide Orthanc framework library
 * Upgraded dependencies for static builds (notably on Windows):
-  - libtiff 4.0.6 upgraded to 4.2.0
+  - libtiff, from 4.0.6 to 4.2.0
+  - openjpeg, from 2.1 to 2.4.0
 
 
 Version 0.7 (2020-05-26)
--- a/Resources/CMake/OpenJpegConfiguration.cmake	Tue Jan 12 18:42:04 2021 +0100
+++ b/Resources/CMake/OpenJpegConfiguration.cmake	Tue Jan 12 18:52:59 2021 +0100
@@ -1,7 +1,7 @@
 if (STATIC_BUILD OR NOT USE_SYSTEM_OPENJPEG)
-  SET(OPENJPEG_SOURCES_DIR ${CMAKE_BINARY_DIR}/openjpeg-version.2.1)
-  SET(OPENJPEG_URL "http://orthanc.osimis.io/ThirdPartyDownloads/openjpeg-2.1.tar.gz")
-  SET(OPENJPEG_MD5 "3e1c451c087f8462955426da38aa3b3d")
+  SET(OPENJPEG_SOURCES_DIR ${CMAKE_BINARY_DIR}/openjpeg-2.4.0)
+  SET(OPENJPEG_URL "http://orthanc.osimis.io/ThirdPartyDownloads/openjpeg-2.4.0.tar.gz")
+  SET(OPENJPEG_MD5 "4d388298335947367e91f1d100468af1")
 
   if (IS_DIRECTORY "${OPENJPEG_SOURCES_DIR}")
     set(FirstRun OFF)
@@ -11,20 +11,17 @@
 
   DownloadPackage(${OPENJPEG_MD5} ${OPENJPEG_URL} "${OPENJPEG_SOURCES_DIR}")
 
-  execute_process(
-    COMMAND ${PATCH_EXECUTABLE} -p0 -N -i ${CMAKE_CURRENT_LIST_DIR}/OpenJpegConfiguration.patch
-    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
-    RESULT_VARIABLE Failure
-    )
-
-  if (Failure AND FirstRun)
-    message(FATAL_ERROR "Error while patching a file")
-  endif()
-
   if (USE_OPENJPEG_JP2)
     set(OPENJPEG_SOURCES
+      # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/bench_dwt.c
+      # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/cidx_manager.c
+      # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/phix_manager.c
+      # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/ppix_manager.c
+      # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t1_generate_luts.c
+      # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/test_sparse_array.c
+      # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/thix_manager.c
+      # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tpix_manager.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/bio.c
-      #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/cidx_manager.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/cio.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/dwt.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/event.c
@@ -37,17 +34,14 @@
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/mqc.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/openjpeg.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_clock.c
-      #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/phix_manager.c
+      ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_malloc.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/pi.c
-      #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/ppix_manager.c
-      ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/raw.c
+      ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/sparse_array.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t1.c
-      #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t1_generate_luts.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t2.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tcd.c
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tgt.c
-      #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/thix_manager.c
-      #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tpix_manager.c
+      ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/thread.c
       )
 
     configure_file(
@@ -66,13 +60,6 @@
       ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2
       )
 
-    # The following definition disables explicit inlining. This is
-    # necessary to bypass the "undefined reference to
-    # `opj_t1_dec_sigpass_step_mqc'" error.
-    add_definitions(
-      #-DINLINE=
-      )
-
   else()
     AUX_SOURCE_DIRECTORY(${OPENJPEG_SOURCES_DIR}/src/lib/openmj2 OPENJPEG_SOURCES)
 
@@ -116,6 +103,7 @@
     /usr/include/openjpeg-2.1/
     /usr/include/openjpeg-2.2/
     /usr/include/openjpeg-2.3/
+    /usr/include/openjpeg-2.4/
     /usr/local/include/
     )
 
--- a/Resources/CMake/OpenJpegConfiguration.patch	Tue Jan 12 18:42:04 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-diff -urEb openjpeg-version.2.1.orig/src/lib/openjp2/t1.c openjpeg-version.2.1/src/lib/openjp2/t1.c
---- openjpeg-version.2.1.orig/src/lib/openjp2/t1.c	2016-07-15 10:36:18.575913348 +0200
-+++ openjpeg-version.2.1/src/lib/openjp2/t1.c	2016-07-15 10:36:45.571914446 +0200
-@@ -85,13 +85,13 @@
-                 OPJ_INT32 orient,
-                 OPJ_INT32 oneplushalf,
-                 OPJ_INT32 vsc);
--static INLINE void opj_t1_dec_sigpass_step_mqc(
-+static void opj_t1_dec_sigpass_step_mqc(
-                 opj_t1_t *t1,
-                 opj_flag_t *flagsp,
-                 OPJ_INT32 *datap,
-                 OPJ_INT32 orient,
-                 OPJ_INT32 oneplushalf);
--static INLINE void opj_t1_dec_sigpass_step_mqc_vsc(
-+static void opj_t1_dec_sigpass_step_mqc_vsc(
-                 opj_t1_t *t1,
-                 opj_flag_t *flagsp,
-                 OPJ_INT32 *datap,
-@@ -179,20 +179,20 @@
-                                     OPJ_UINT32 vsc);
- #endif
- 
--static INLINE void  opj_t1_dec_refpass_step_raw(
-+static void  opj_t1_dec_refpass_step_raw(
-                 opj_t1_t *t1,
-                 opj_flag_t *flagsp,
-                 OPJ_INT32 *datap,
-                 OPJ_INT32 poshalf,
-                 OPJ_INT32 neghalf,
-                 OPJ_INT32 vsc);
--static INLINE void opj_t1_dec_refpass_step_mqc(
-+static void opj_t1_dec_refpass_step_mqc(
-                 opj_t1_t *t1,
-                 opj_flag_t *flagsp,
-                 OPJ_INT32 *datap,
-                 OPJ_INT32 poshalf,
-                 OPJ_INT32 neghalf);
--static INLINE void opj_t1_dec_refpass_step_mqc_vsc(
-+static void opj_t1_dec_refpass_step_mqc_vsc(
-                 opj_t1_t *t1,
-                 opj_flag_t *flagsp,
-                 OPJ_INT32 *datap,
-Only in openjpeg-version.2.1/src/lib/openjp2: t1.c~
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/CMake/openjpeg-2.1.patch	Tue Jan 12 18:52:59 2021 +0100
@@ -0,0 +1,44 @@
+diff -urEb openjpeg-version.2.1.orig/src/lib/openjp2/t1.c openjpeg-version.2.1/src/lib/openjp2/t1.c
+--- openjpeg-version.2.1.orig/src/lib/openjp2/t1.c	2016-07-15 10:36:18.575913348 +0200
++++ openjpeg-version.2.1/src/lib/openjp2/t1.c	2016-07-15 10:36:45.571914446 +0200
+@@ -85,13 +85,13 @@
+                 OPJ_INT32 orient,
+                 OPJ_INT32 oneplushalf,
+                 OPJ_INT32 vsc);
+-static INLINE void opj_t1_dec_sigpass_step_mqc(
++static void opj_t1_dec_sigpass_step_mqc(
+                 opj_t1_t *t1,
+                 opj_flag_t *flagsp,
+                 OPJ_INT32 *datap,
+                 OPJ_INT32 orient,
+                 OPJ_INT32 oneplushalf);
+-static INLINE void opj_t1_dec_sigpass_step_mqc_vsc(
++static void opj_t1_dec_sigpass_step_mqc_vsc(
+                 opj_t1_t *t1,
+                 opj_flag_t *flagsp,
+                 OPJ_INT32 *datap,
+@@ -179,20 +179,20 @@
+                                     OPJ_UINT32 vsc);
+ #endif
+ 
+-static INLINE void  opj_t1_dec_refpass_step_raw(
++static void  opj_t1_dec_refpass_step_raw(
+                 opj_t1_t *t1,
+                 opj_flag_t *flagsp,
+                 OPJ_INT32 *datap,
+                 OPJ_INT32 poshalf,
+                 OPJ_INT32 neghalf,
+                 OPJ_INT32 vsc);
+-static INLINE void opj_t1_dec_refpass_step_mqc(
++static void opj_t1_dec_refpass_step_mqc(
+                 opj_t1_t *t1,
+                 opj_flag_t *flagsp,
+                 OPJ_INT32 *datap,
+                 OPJ_INT32 poshalf,
+                 OPJ_INT32 neghalf);
+-static INLINE void opj_t1_dec_refpass_step_mqc_vsc(
++static void opj_t1_dec_refpass_step_mqc_vsc(
+                 opj_t1_t *t1,
+                 opj_flag_t *flagsp,
+                 OPJ_INT32 *datap,
+Only in openjpeg-version.2.1/src/lib/openjp2: t1.c~