diff --git a/Utilities/otbopenjpeg/CHANGES b/Utilities/otbopenjpeg/CHANGES index 75927c2396fb009d59d540ba0d51a7cc580de2c0..341177a0e14f5c4b75a3842cb4b797919aa4e5d1 100644 --- a/Utilities/otbopenjpeg/CHANGES +++ b/Utilities/otbopenjpeg/CHANGES @@ -5,6 +5,13 @@ What's New for OpenJPEG ! : changed + : added +November 9, 2011 +* [mickael] WIP: fix get_decoded_tile function to avoid error with output image +* [mickael] fix bug with mj2 applications (credit to winfried) ++ [mickael] enhance mj2 when read jp2h (credit to winfried) ++ [mickael] check if the file extension is the same as the infile format (credit to winfried) ++ [jmalik] add some sanity check in CMakeLists to prevent STRING(REGEX..) call issues + November 8, 2011 + [mickael] WIP: add get_decoded_tile functionality + [mickael] WIP: clean and enhance j2K file diff --git a/Utilities/otbopenjpeg/CMakeLists.txt b/Utilities/otbopenjpeg/CMakeLists.txt index 37dc09343a638fb3bd71187afcfbe9140001fd1d..47ebfdcd19886a7555275cb56210b529345594d1 100644 --- a/Utilities/otbopenjpeg/CMakeLists.txt +++ b/Utilities/otbopenjpeg/CMakeLists.txt @@ -34,26 +34,15 @@ SET(OPENJPEG_VERSION "${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}") SET(PACKAGE_VERSION "${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}") - -# svn revision number of this openjpeg fork (used for .so versioning) -SET(OPENJPEG_SVN_REVISION "1047") -# patch number for OTB modifications applied on top of OPENJPEG_SVN_REVISION (used for .so versioning) -SET(OPENJPEG_OTB_PATCH "1") - -#SET(OPENJPEG_LIBRARY_PROPERTIES -# VERSION "${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}" -# SOVERSION "${OPENJPEG_VERSION_MAJOR}" -#) - SET(OPENJPEG_LIBRARY_PROPERTIES - VERSION "${OPENJPEG_SVN_REVISION}.${OPENJPEG_OTB_PATCH}.0" - SOVERSION "${OPENJPEG_SVN_REVISION}.${OPENJPEG_OTB_PATCH}" + VERSION "${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}.${OPENJPEG_VERSION_BUILD}" + SOVERSION "${OPENJPEG_VERSION_MAJOR}" ) # -------------------------------------------------------------------------- # Path to additional CMake modules SET(CMAKE_MODULE_PATH - ${OPENJPEG_SOURCE_DIR}/CMake + ${CMAKE_SOURCE_DIR}/CMake ${CMAKE_MODULE_PATH}) # -------------------------------------------------------------------------- @@ -126,8 +115,8 @@ INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake) #----------------------------------------------------------------------------- # Setup file for setting custom ctest vars CONFIGURE_FILE( - ${OPENJPEG_SOURCE_DIR}/CMake/CTestCustom.cmake.in - ${OPENJPEG_BINARY_DIR}/CTestCustom.cmake + ${CMAKE_SOURCE_DIR}/CMake/CTestCustom.cmake.in + ${CMAKE_BINARY_DIR}/CTestCustom.cmake @ONLY ) @@ -141,28 +130,19 @@ MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) #----------------------------------------------------------------------------- # configure name mangling to allow multiple libraries to coexist # peacefully - -#SET(OPJ_MANGLE_PREFIX "" CACHE STRING "Prefix used to mangle all the symbols") -IF(OPJ_MANGLE_PREFIX) - SET(OPJ_USE_MANGLE_PREFIX ON) -ELSE(OPJ_MANGLE_PREFIX) - SET(OPJ_USE_MANGLE_PREFIX OFF) -ENDIF(OPJ_MANGLE_PREFIX) - -CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.cmake.in +IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in) +SET(MANGLE_PREFIX ${OPENJPEG_LIBRARY_NAME}) +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in ${CMAKE_CURRENT_BINARY_DIR}/openjpeg_mangle.h @ONLY IMMEDIATE) - -CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle_private.h.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/openjpeg_mangle_private.h - @ONLY IMMEDIATE) +ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in) #----------------------------------------------------------------------------- # pkgconfig support CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libopenjpeg1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg1.pc @ONLY) -#INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg1.pc DESTINATION ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig ) -#INSTALL( CODE -# "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink \"libopenjpeg1.pc\" \"\$ENV{DESTDIR}${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig/libopenjpeg.pc\")") +INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg1.pc DESTINATION ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig ) +INSTALL( CODE + "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink \"libopenjpeg1.pc\" \"\$ENV{DESTDIR}${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig/libopenjpeg.pc\")") #----------------------------------------------------------------------------- # Compiler specific flags: @@ -228,9 +208,9 @@ ADD_SUBDIRECTORY(libopenjpeg) #----------------------------------------------------------------------------- # Build Applications -#OPTION(BUILD_CODEC "Build the CODEC executables" ON) -#OPTION(BUILD_MJ2 "Build the MJ2 executables." OFF) -#OPTION(BUILD_JPIP "Build the JPIP library and executables." OFF) +OPTION(BUILD_CODEC "Build the CODEC executables" ON) +OPTION(BUILD_MJ2 "Build the MJ2 executables." OFF) +OPTION(BUILD_JPIP "Build the JPIP library and executables." OFF) IF(BUILD_CODEC OR BUILD_MJ2 OR BUILD_JPIP) OPTION(BUILD_THIRDPARTY "Build the thirdparty executables if it is needed" OFF) @@ -247,18 +227,18 @@ CONFIGURE_FILE("${OPENJPEG_SOURCE_DIR}/opj_config.h.cmake.in" #----------------------------------------------------------------------------- # Build JPWL-flavoured library and executables -#OPTION(BUILD_JPWL "Build the JPWL library and executables" OFF) +OPTION(BUILD_JPWL "Build the JPWL library and executables" OFF) #----------------------------------------------------------------------------- # Build DOCUMENTATION (not in ALL target and only if Doxygen is found) -#OPTION(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF) +OPTION(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF) IF(BUILD_DOC) ADD_SUBDIRECTORY(doc) ENDIF(BUILD_DOC) #----------------------------------------------------------------------------- # Buld Testing -#OPTION(BUILD_TESTING "Build the tests." OFF) +OPTION(BUILD_TESTING "Build the tests." OFF) IF(BUILD_TESTING) IF(BUILD_CODEC) ENABLE_TESTING() @@ -284,18 +264,18 @@ ENDIF(BUILD_TESTING) #----------------------------------------------------------------------------- # install all targets referenced as OPENJPEGTargets -#INSTALL(EXPORT OpenJPEGTargets DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR}) -#CONFIGURE_FILE( ${OPENJPEG_SOURCE_DIR}/CMake/OpenJPEGConfig.cmake.in -# ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake -# @ONLY -#) -#INSTALL( FILES ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake -# DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR} -#) +INSTALL(EXPORT OpenJPEGTargets DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR}) +CONFIGURE_FILE( ${OPENJPEG_SOURCE_DIR}/CMake/OpenJPEGConfig.cmake.in + ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake + @ONLY +) +INSTALL( FILES ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake + DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR} +) #----------------------------------------------------------------------------- # install CHANGES and LICENSE -#INSTALL( -# FILES CHANGES -# LICENSE -# DESTINATION ${OPENJPEG_INSTALL_DOC_DIR}) +INSTALL( + FILES CHANGES + LICENSE + DESTINATION ${OPENJPEG_INSTALL_DOC_DIR}) diff --git a/Utilities/otbopenjpeg/libopenjpeg/CMakeLists.txt b/Utilities/otbopenjpeg/libopenjpeg/CMakeLists.txt index 1f94fe04e55c7d3cd8b84c2c51e54ea9666f4422..24ecf4091053e8d04c243858efc251f41eb65f4c 100644 --- a/Utilities/otbopenjpeg/libopenjpeg/CMakeLists.txt +++ b/Utilities/otbopenjpeg/libopenjpeg/CMakeLists.txt @@ -53,21 +53,13 @@ INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME} ) # Install includes files -#INSTALL(FILES openjpeg.h -# DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${OPENJPEG_INSTALL_SUBDIR} COMPONENT Headers -#) -#INSTALL(CODE -# "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ${OPENJPEG_INSTALL_SUBDIR}/openjpeg.h \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_INCLUDE_DIR}/openjpeg.h)") - -#INSTALL(FILES ${OPENJPEG_BINARY_DIR}/openjpeg_mangle.h -# DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${OPENJPEG_INSTALL_SUBDIR} COMPONENT Headers -#) -#INSTALL(CODE -# "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ${OPENJPEG_INSTALL_SUBDIR}/openjpeg_mangle.h \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_INCLUDE_DIR}/openjpeg_mangle.h)") - - +INSTALL(FILES openjpeg.h + DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${OPENJPEG_INSTALL_SUBDIR} COMPONENT Headers +) +INSTALL(CODE + "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ${OPENJPEG_INSTALL_SUBDIR}/openjpeg.h \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_INCLUDE_DIR}/openjpeg.h)") # install man page of the library -#INSTALL( -# FILES ${OPENJPEG_SOURCE_DIR}/doc/man/man3/libopenjpeg.3 -# DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3) +INSTALL( + FILES ${OPENJPEG_SOURCE_DIR}/doc/man/man3/libopenjpeg.3 + DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3) diff --git a/Utilities/otbopenjpeg/libopenjpeg/cidx_manager.c b/Utilities/otbopenjpeg/libopenjpeg/cidx_manager.c old mode 100644 new mode 100755 diff --git a/Utilities/otbopenjpeg/libopenjpeg/cidx_manager.h b/Utilities/otbopenjpeg/libopenjpeg/cidx_manager.h old mode 100644 new mode 100755 diff --git a/Utilities/otbopenjpeg/libopenjpeg/indexbox_manager.h b/Utilities/otbopenjpeg/libopenjpeg/indexbox_manager.h old mode 100644 new mode 100755 diff --git a/Utilities/otbopenjpeg/libopenjpeg/j2k.c b/Utilities/otbopenjpeg/libopenjpeg/j2k.c index 281b087fc9d7cd677052540d3f0eab6c5d41e6b0..379f8bee73a3d5e358034cbdf0e5299f8a214be3 100644 --- a/Utilities/otbopenjpeg/libopenjpeg/j2k.c +++ b/Utilities/otbopenjpeg/libopenjpeg/j2k.c @@ -8376,9 +8376,18 @@ opj_bool j2k_get_tile( opj_j2k_v2_t *p_j2k, l_tile_y = tile_index / p_j2k->m_cp.tw; p_image->x0 = l_tile_x * p_j2k->m_cp.tdx + p_j2k->m_cp.tx0; + if (p_image->x0 < p_j2k->m_private_image->x0) + p_image->x0 = p_j2k->m_private_image->x0; p_image->x1 = (l_tile_x + 1) * p_j2k->m_cp.tdx + p_j2k->m_cp.tx0; + if (p_image->x1 > p_j2k->m_private_image->x1) + p_image->x1 = p_j2k->m_private_image->x1; + p_image->y0 = l_tile_y * p_j2k->m_cp.tdy + p_j2k->m_cp.ty0; + if (p_image->y0 < p_j2k->m_private_image->y0) + p_image->y0 = p_j2k->m_private_image->y0; p_image->y1 = (l_tile_y + 1) * p_j2k->m_cp.tdy + p_j2k->m_cp.ty0; + if (p_image->y1 > p_j2k->m_private_image->y1) + p_image->y1 = p_j2k->m_private_image->y1; l_img_comp = p_image->comps; for (compno=0; compno < p_image->numcomps; ++compno) diff --git a/Utilities/otbopenjpeg/libopenjpeg/jpwl/CMakeLists.txt b/Utilities/otbopenjpeg/libopenjpeg/jpwl/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/Utilities/otbopenjpeg/libopenjpeg/openjpeg.h b/Utilities/otbopenjpeg/libopenjpeg/openjpeg.h index 8665981da51b17c67e71557624941099bdb717d0..3c82498c04942b9f815cd8aa410d49633791ce62 100644 --- a/Utilities/otbopenjpeg/libopenjpeg/openjpeg.h +++ b/Utilities/otbopenjpeg/libopenjpeg/openjpeg.h @@ -36,7 +36,6 @@ #define OPENJPEG_H - /* ========================================================== Compiler directives @@ -87,8 +86,6 @@ typedef unsigned int OPJ_SIZE_T; typedef double OPJ_FLOAT64; typedef float OPJ_FLOAT32; -#include "openjpeg_mangle.h" - // Avoid compile-time warning because parameter is not used #define OPJ_ARG_NOT_USED(x) (void)(x) diff --git a/Utilities/otbopenjpeg/libopenjpeg/opj_includes.h b/Utilities/otbopenjpeg/libopenjpeg/opj_includes.h index f67e3ee098088bf74767fb81fd456fef4734f2df..d94237e7fbff290e120ab12337e81bc10a4451a6 100644 --- a/Utilities/otbopenjpeg/libopenjpeg/opj_includes.h +++ b/Utilities/otbopenjpeg/libopenjpeg/opj_includes.h @@ -55,8 +55,6 @@ ========================================================== */ -#include "openjpeg_mangle_private.h" - /* Ignore GCC attributes if this is not GCC */ #ifndef __GNUC__ #define __attribute__(x) /* __attribute__(x) */ diff --git a/Utilities/otbopenjpeg/libopenjpeg/phix_manager.c b/Utilities/otbopenjpeg/libopenjpeg/phix_manager.c old mode 100644 new mode 100755 diff --git a/Utilities/otbopenjpeg/libopenjpeg/ppix_manager.c b/Utilities/otbopenjpeg/libopenjpeg/ppix_manager.c old mode 100644 new mode 100755 diff --git a/Utilities/otbopenjpeg/libopenjpeg/thix_manager.c b/Utilities/otbopenjpeg/libopenjpeg/thix_manager.c old mode 100644 new mode 100755 diff --git a/Utilities/otbopenjpeg/libopenjpeg/tpix_manager.c b/Utilities/otbopenjpeg/libopenjpeg/tpix_manager.c old mode 100644 new mode 100755