)
# Tool to embed metadata into JP2 file
-add_executable(addXMLinJP2 addXMLinJP2.c)
+add_executable(opj_jpip_addxml opj_jpip_addxml.c)
# Install exe
-install(TARGETS addXMLinJP2
+install(TARGETS opj_jpip_addxml
EXPORT OpenJPEGTargets
DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
)
set(EXES
opj_dec_server
- jpip_to_jp2
- jpip_to_j2k
- test_index
+ opj_jpip_transcode
+ opj_jpip_test
)
foreach(exe ${EXES})
- add_executable(${exe} ${exe}.c)
+ if(${exe} STREQUAL "opj_jpip_transcode")
+ add_executable(${exe} ${exe}.c
+ jpip_to_jp2.c
+ jpip_to_j2k.c
+ )
+ else()
+ add_executable(${exe} ${exe}.c)
+ endif()
target_link_libraries(${exe} openjpip_local)
install(TARGETS ${exe}
EXPORT OpenJPEGTargets
# Only build the java viewer if dev is found:
if(Java_Development_FOUND AND Java_JAVAC_EXECUTABLE)
set(jflags $ENV{JFLAGS})
- # 1. opj_viewer
- # build dep list:
- file(GLOB java1_srcs "opj_viewer/src/*.java")
-
- # make sure target javac dir exists:
- file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/classes1)
- # Build java
- add_custom_command(
- OUTPUT ${LIBRARY_OUTPUT_PATH}/opj_viewer.jar
- COMMAND ${Java_JAVAC_EXECUTABLE} ${jflags}
- ${java1_srcs} -d ${CMAKE_CURRENT_BINARY_DIR}/classes1
- COMMAND ${Java_JAR_EXECUTABLE} cfm ${LIBRARY_OUTPUT_PATH}/opj_viewer.jar
- ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/dist/manifest.txt -C
- ${CMAKE_CURRENT_BINARY_DIR}/classes1 .
- DEPENDS ${java1_srcs}
- ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/dist/manifest.txt
- COMMENT "javac *.java; jar cvf -> opj_viewer.jar"
- )
-
- # name the target
- add_custom_target(OPJViewerJar ALL
- DEPENDS ${LIBRARY_OUTPUT_PATH}/opj_viewer.jar
- COMMENT "building opj_viewer.jar"
- )
-
- install(FILES ${LIBRARY_OUTPUT_PATH}/opj_viewer.jar
- DESTINATION ${OPENJPEG_INSTALL_SHARE_DIR} COMPONENT JavaModule
- )
-
- # 2. opj_viewer_xerces
# search for package org.apache.xerces.parsers
find_file(APACHE_XERCES_JAR
NAMES xerces-j2.jar xercesImpl.jar
)
mark_as_advanced(APACHE_XERCES_JAR)
+ # Decide to build the simple viewer or the xerces one:
if(EXISTS ${APACHE_XERCES_JAR})
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer_xerces/dist/manifest.txt.in
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/classes2)
# Build java
add_custom_command(
- OUTPUT ${LIBRARY_OUTPUT_PATH}/opj_viewer_xerces.jar
+ OUTPUT ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
COMMAND ${Java_JAVAC_EXECUTABLE} ${jflags}
-classpath ${APACHE_XERCES_JAR}
${java2_srcs} -d ${CMAKE_CURRENT_BINARY_DIR}/classes2
- COMMAND ${Java_JAR_EXECUTABLE} cfm ${LIBRARY_OUTPUT_PATH}/opj_viewer_xerces.jar
+ COMMAND ${Java_JAR_EXECUTABLE} cfm ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
${CMAKE_CURRENT_BINARY_DIR}/opj_viewer_xerces/dist/manifest.txt
-C ${CMAKE_CURRENT_BINARY_DIR}/classes2 .
DEPENDS ${java2_srcs}
# name the target
add_custom_target(OPJViewerXercesJar ALL
- DEPENDS ${LIBRARY_OUTPUT_PATH}/opj_viewer_xerces.jar
- COMMENT "building opj_viewer_xerces.jar"
+ DEPENDS ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
+ COMMENT "building opj_jpip_viewer.jar (xerces)"
+ )
+
+ install(FILES ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
+ DESTINATION ${OPENJPEG_INSTALL_SHARE_DIR} COMPONENT JavaModule
+ )
+ else()
+ # opj_viewer (simple, no xerces)
+ # build dep list:
+ file(GLOB java1_srcs "opj_viewer/src/*.java")
+
+ # make sure target javac dir exists:
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/classes1)
+ # Build java
+ add_custom_command(
+ OUTPUT ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
+ COMMAND ${Java_JAVAC_EXECUTABLE} ${jflags}
+ ${java1_srcs} -d ${CMAKE_CURRENT_BINARY_DIR}/classes1
+ COMMAND ${Java_JAR_EXECUTABLE} cfm ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/dist/manifest.txt -C
+ ${CMAKE_CURRENT_BINARY_DIR}/classes1 .
+ DEPENDS ${java1_srcs}
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/dist/manifest.txt
+ COMMENT "javac *.java; jar cvf -> opj_jpip_viewer.jar"
+ )
+
+ # name the target
+ add_custom_target(OPJViewerJar ALL
+ DEPENDS ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
+ COMMENT "building opj_jpip_viewer.jar (no xerces found)"
)
- install(FILES ${LIBRARY_OUTPUT_PATH}/opj_viewer_xerces.jar
+ install(FILES ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
DESTINATION ${OPENJPEG_INSTALL_SHARE_DIR} COMPONENT JavaModule
)
endif()
#include <stdio.h>
#include "openjpip.h"
-int main(int argc,char *argv[])
+int jpip_to_j2k(int argc,char *argv[])
{
jpip_dec_param_t *dec;
#include <stdio.h>
#include "openjpip.h"
-int main(int argc,char *argv[])
+int jpip_to_jp2(int argc,char *argv[])
{
jpip_dec_param_t *dec;
--- /dev/null
+/*
+ * $Id$
+ *
+ * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
+ * Copyright (c) 2002-2011, Professor Benoit Macq
+ * Copyright (c) 2012, Mathieu Malaterre
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*! \file
+ * \brief opj_jpip_transcode is a program to convert JPT- JPP- stream to J2K/JP2 file
+ *
+ * \section impinst Implementing instructions
+ * This program takes two arguments. \n
+ * -# Input JPT or JPP file
+ * -# Output J2K file\n
+ * % ./opj_jpip_transcode input.jpt output.j2k
+ * or
+ * % ./jpip_to_j2k input.jpp output.j2k
+ */
+extern int jpip_to_j2k(int argc,char *argv[]);
+extern int jpip_to_jp2(int argc,char *argv[]);
+
+int main(int argc,char *argv[])
+{
+ /* MM: FIXME */
+ return jpip_to_jp2(argc,argv);
+}
${LCMS_INCLUDE_DIRNAME}
)
-add_executable(frames_to_mj2
- frames_to_mj2.c
- ${common_SRCS}
- ${OPJ_SRCS}
- ${MJ2_SRCS}
- )
-target_link_libraries(frames_to_mj2 ${LCMS_LIBNAME} openmj2)
-
-if(UNIX)
- target_link_libraries(frames_to_mj2 m)
-endif()
-
-add_executable(mj2_to_frames
- mj2_to_frames.c
+foreach(exe
+ opj_mj2_wrap
+ opj_mj2_extract
+ opj_mj2_decompress
+ opj_mj2_compress
+)
+ add_executable(${exe}
+ ${exe}.c
${common_SRCS}
${OPJ_SRCS}
${MJ2_SRCS}
${OPENJPEG_SOURCE_DIR}/src/bin/common/color.c
)
-target_link_libraries(mj2_to_frames ${LCMS_LIBNAME})
-
-if(UNIX)
- target_link_libraries(mj2_to_frames m)
-endif()
-
-add_executable(extract_j2k_from_mj2
- extract_j2k_from_mj2.c
- ${OPJ_SRCS}
- ${MJ2_SRCS}
- )
-target_link_libraries(extract_j2k_from_mj2 ${LCMS_LIBNAME} openmj2)
-
-if(UNIX)
- target_link_libraries(extract_j2k_from_mj2 m)
-endif()
-
-add_executable(wrap_j2k_in_mj2
- wrap_j2k_in_mj2.c
- ${OPJ_SRCS}
- ${MJ2_SRCS}
- )
-target_link_libraries(wrap_j2k_in_mj2 ${LCMS_LIBNAME})
-
-if(UNIX)
- target_link_libraries(wrap_j2k_in_mj2 m)
-endif()
-
-install(TARGETS frames_to_mj2 mj2_to_frames extract_j2k_from_mj2 wrap_j2k_in_mj2
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR})
+ target_link_libraries(${exe} ${LCMS_LIBNAME} openmj2)
+
+ if(UNIX)
+ target_link_libraries(${exe} m)
+ endif()
+
+ install(TARGETS ${exe}
+ DESTINATION ${OPENJPEG_INSTALL_BIN_DIR})
+endforeach()
cio_write(cio, JP2_JP2C, 4); // JP2C
/* encode the image */
+#if 0 /* MM: FIXME */
bSuccess = opj_encode(cinfo, cio, img, NULL);
+#endif
if (!bSuccess) {
opj_cio_close(cio);
/* open a byte stream */
cio = opj_cio_open((opj_common_ptr)dinfo, frame_codestream, sample->sample_size-8);
+#if 0 /* MM: FIXME */
img = opj_decode(dinfo, cio); // Decode J2K to image
+#endif
#ifdef WANT_SYCC_TO_RGB
if(img->color_space == CLRSPC_SYCC)
cio = opj_cio_open((opj_common_ptr)dinfo, src, src_len);
+#if 0 /* MM: FIXME */
image = opj_decode(dinfo, cio);
+#endif
free(src); cio->buffer = NULL;
opj_cio_close(cio);
set(OPENMJ2_LIBRARY_NAME openmj2)
set(OPENMJ2_SRCS
mj2.c
+ mj2_convert.c
)
# Build the library