From 5ef5fc65aeffbe3715cd21eed9f915629cb2a39a Mon Sep 17 00:00:00 2001 From: Antonin Descampe Date: Wed, 13 Apr 2011 15:24:36 +0000 Subject: [PATCH] renamed and reorganized "jp3d" directory to "openjpeg3d". Is now a standalone directory, with independent cmake files. Done as it uses its own version of the openjpeg library and does not depend on the one currently developped. Will be removed from the trunk and stored in a branch. --- CHANGES | 3 + CMakeLists.txt | 8 - INSTALL | 8 +- config.nix | 6 - jp3d/CMakeLists.txt | 15 -- jp3d/Makefile.nix | 108 --------- jp3d/codec/CMakeLists.txt | 47 ---- jp3d/codec/Makefile.nix | 37 --- jp3d/libjp3dvm/CMakeLists.txt | 39 --- openjpeg3d/CMake/CheckHaveGetopt.cmake | 15 ++ openjpeg3d/CMake/OpenJPEG3DConfig.cmake.in | 48 ++++ openjpeg3d/CMakeLists.txt | 223 ++++++++++++++++++ openjpeg3d/INSTALL | 25 ++ jp3d/LICENSE.txt => openjpeg3d/LICENSE | 0 {jp3d => openjpeg3d}/Makefile.am | 0 jp3d/README.txt => openjpeg3d/README | 46 +--- openjpeg3d/codec/CMakeLists.txt | 29 +++ {jp3d => openjpeg3d}/codec/Makefile.am | 0 {jp3d => openjpeg3d}/codec/convert.c | 2 +- {jp3d => openjpeg3d}/codec/convert.h | 0 {jp3d => openjpeg3d}/codec/getopt.c | 0 {jp3d => openjpeg3d}/codec/getopt.h | 0 {jp3d => openjpeg3d}/codec/jp3d_to_volume.c | 2 +- {jp3d => openjpeg3d}/codec/volume_to_jp3d.c | 2 +- {jp3d => openjpeg3d}/codec/windirent.h | 0 openjpeg3d/libopenjpeg3d.pc.cmake | 12 + openjpeg3d/libopenjpeg3d/CMakeLists.txt | 37 +++ .../libopenjpeg3d}/Makefile.am | 0 .../libopenjpeg3d}/bio.c | 0 .../libopenjpeg3d}/bio.h | 0 .../libopenjpeg3d}/cio.c | 0 .../libopenjpeg3d}/cio.h | 0 .../libopenjpeg3d}/dwt.c | 0 .../libopenjpeg3d}/dwt.h | 0 .../libopenjpeg3d}/event.c | 0 .../libopenjpeg3d}/event.h | 0 .../libopenjpeg3d}/fix.h | 0 .../libopenjpeg3d}/int.h | 0 .../libopenjpeg3d}/jp3d.c | 0 .../libopenjpeg3d}/jp3d.h | 0 .../libopenjpeg3d}/jp3d_lib.c | 0 .../libopenjpeg3d}/jp3d_lib.h | 0 .../libopenjpeg3d}/mct.c | 0 .../libopenjpeg3d}/mct.h | 0 .../libopenjpeg3d}/mqc.c | 0 .../libopenjpeg3d}/mqc.h | 0 .../libopenjpeg3d}/openjpeg.c | 0 .../libopenjpeg3d}/openjpeg3d.h | 0 .../libopenjpeg3d}/opj_includes.h | 0 .../libopenjpeg3d}/pi.c | 0 .../libopenjpeg3d}/pi.h | 0 .../libopenjpeg3d}/raw.c | 0 .../libopenjpeg3d}/raw.h | 0 .../libopenjpeg3d}/t1.c | 0 .../libopenjpeg3d}/t1.h | 0 .../libopenjpeg3d}/t1_3d.c | 0 .../libopenjpeg3d}/t1_3d.h | 0 .../libopenjpeg3d}/t2.c | 0 .../libopenjpeg3d}/t2.h | 0 .../libopenjpeg3d}/tcd.c | 0 .../libopenjpeg3d}/tcd.h | 0 .../libopenjpeg3d}/tgt.c | 0 .../libopenjpeg3d}/tgt.h | 0 .../libopenjpeg3d}/volume.c | 0 .../libopenjpeg3d}/volume.h | 0 {jp3d => openjpeg3d}/tcltk/LPI_JP3D_VM.tcl | 0 {jp3d => openjpeg3d}/tcltk/README | 0 {jp3d => openjpeg3d}/tcltk/Thumbs.db | Bin {jp3d => openjpeg3d}/tcltk/decoder.tcl | 4 +- {jp3d => openjpeg3d}/tcltk/encoder.tcl | 2 +- {jp3d => openjpeg3d}/tcltk/logoLPI.gif | Bin 71 files changed, 407 insertions(+), 311 deletions(-) delete mode 100644 jp3d/CMakeLists.txt delete mode 100644 jp3d/Makefile.nix delete mode 100644 jp3d/codec/CMakeLists.txt delete mode 100644 jp3d/codec/Makefile.nix delete mode 100644 jp3d/libjp3dvm/CMakeLists.txt create mode 100644 openjpeg3d/CMake/CheckHaveGetopt.cmake create mode 100644 openjpeg3d/CMake/OpenJPEG3DConfig.cmake.in create mode 100644 openjpeg3d/CMakeLists.txt create mode 100644 openjpeg3d/INSTALL rename jp3d/LICENSE.txt => openjpeg3d/LICENSE (100%) rename {jp3d => openjpeg3d}/Makefile.am (100%) rename jp3d/README.txt => openjpeg3d/README (89%) create mode 100644 openjpeg3d/codec/CMakeLists.txt rename {jp3d => openjpeg3d}/codec/Makefile.am (100%) rename {jp3d => openjpeg3d}/codec/convert.c (99%) rename {jp3d => openjpeg3d}/codec/convert.h (100%) rename {jp3d => openjpeg3d}/codec/getopt.c (100%) rename {jp3d => openjpeg3d}/codec/getopt.h (100%) rename {jp3d => openjpeg3d}/codec/jp3d_to_volume.c (97%) rename {jp3d => openjpeg3d}/codec/volume_to_jp3d.c (97%) rename {jp3d => openjpeg3d}/codec/windirent.h (100%) create mode 100644 openjpeg3d/libopenjpeg3d.pc.cmake create mode 100644 openjpeg3d/libopenjpeg3d/CMakeLists.txt rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/Makefile.am (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/bio.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/bio.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/cio.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/cio.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/dwt.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/dwt.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/event.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/event.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/fix.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/int.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/jp3d.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/jp3d.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/jp3d_lib.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/jp3d_lib.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/mct.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/mct.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/mqc.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/mqc.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/openjpeg.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/openjpeg3d.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/opj_includes.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/pi.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/pi.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/raw.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/raw.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/t1.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/t1.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/t1_3d.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/t1_3d.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/t2.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/t2.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/tcd.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/tcd.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/tgt.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/tgt.h (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/volume.c (100%) rename {jp3d/libjp3dvm => openjpeg3d/libopenjpeg3d}/volume.h (100%) rename {jp3d => openjpeg3d}/tcltk/LPI_JP3D_VM.tcl (100%) rename {jp3d => openjpeg3d}/tcltk/README (100%) rename {jp3d => openjpeg3d}/tcltk/Thumbs.db (100%) rename {jp3d => openjpeg3d}/tcltk/decoder.tcl (96%) rename {jp3d => openjpeg3d}/tcltk/encoder.tcl (99%) rename {jp3d => openjpeg3d}/tcltk/logoLPI.gif (100%) diff --git a/CHANGES b/CHANGES index 9046831a..4ec10a47 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,9 @@ What's New for OpenJPEG ! : changed + : added +April 13, 2011 +! [antonin] renamed and reorganized "jp3d" directory to "openjpeg3d". Is now a standalone directory, with independent cmake files. Done as it uses its own version of the openjpeg library and does not depend on the one currently developped. Will be removed from the trunk and stored in a branch. + April 12, 2011 * [antonin] Fixed internal function names conflict with Jasper (http://code.google.com/p/openjpeg/issues/detail?id=30) * [antonin] convert.c: ENDIAN condition removed, tiftoimage and imagetotif updated (ALPHA added for RGB and GRAY, correct handling of 12-bit precision), small bugfixes (credit to Winfried) diff --git a/CMakeLists.txt b/CMakeLists.txt index 28b2c467..4c5c79a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -165,10 +165,6 @@ OPTION(BUILD_MJ2 "Build the MJ2 executables." OFF) # Build JPWL executables ? OPTION(BUILD_JPWL "Build the JPWL executables" OFF) -#----------------------------------------------------------------------------- -# Build JP3D executables ? -OPTION(BUILD_JP3D "Build the JP3D executables" OFF) - #----------------------------------------------------------------------------- # Build INDEXER_JPIP executables ? OPTION(BUILD_INDEXER_JPIP "Build the INDEXER_JPIP executables" OFF) @@ -400,10 +396,6 @@ IF(BUILD_JPWL) SUBDIRS(jpwl) ENDIF(BUILD_JPWL) # -IF(BUILD_JP3D) - SUBDIRS(jp3d) -ENDIF(BUILD_JP3D) -# IF(BUILD_INDEXER_JPIP) SUBDIRS(indexer_JPIP) ENDIF(BUILD_INDEXER_JPIP) diff --git a/INSTALL b/INSTALL index 697c2317..bc26d76f 100644 --- a/INSTALL +++ b/INSTALL @@ -32,7 +32,6 @@ To build doc (requires 'doxygen' to be found on your system): Main './configure' options (type './configure --help' for more details) '--enable-mj2' - '--enable-jp3d' '--enable-jpwl' '--prefix=/path/to/install/directory' (example : '--prefix=$PWD/installed') '--enable-debug' (default : disabled) @@ -64,7 +63,6 @@ Main available cmake flags: * To build the CODEC executables: '-DBUILD_CODEC:bool=on' (default: 'ON') * To build the MJ2 executables: '-DBUILD_MJ2:bool=on' (default: 'OFF') * To build the JPWL executables and JPWL library: '-DBUILD_JPWL:bool=on' (default: 'OFF') -* To build the JP3D executables and JP3D library: '-DBUILD_JP3D:bool=on' (default: 'OFF') * [WIN32 ONLY] To build the INDEXER_JPIP executable: '-DBUILD_INDEXER_JPIP:bool=on' (default: 'OFF') * To build the doxygen documentation: '-DBUILD_DOC:bool=on' (default: 'OFF') * To enable testing (and automatic result upload to http://my.cdash.org/index.php?project=OPENJPEG): @@ -77,13 +75,13 @@ Main available cmake flags: - Manually edit the config.nix file - Manually create an opj_config.h file from opj_config.h.in.user and edit this opj_config.h -- Then : (if 'WITH_JPWL' and/or 'WITH_JP3D' are defined in config.nix) +- Then : (if 'WITH_JPWL' is defined in config.nix) make -f Makefile.nix all make -f Makefile.nix install make -f Makefile.nix clean make -f Makefile.nix uninstall -- If neither 'WITH_JPWL' nor 'WITH_JP3D' is defined in config.nix - and you want to clean/compile/install/uninstall JPWL/JP3D: +- If 'WITH_JPWL' is not defined in config.nix + and you want to clean/compile/install/uninstall JPWL: call the respective target in the respective directory. MACOSX diff --git a/config.nix b/config.nix index cca1cf66..270126de 100644 --- a/config.nix +++ b/config.nix @@ -2,10 +2,6 @@ MAJOR = 1 MINOR = 4 BUILD = 0 -JP3D_MAJOR = 1 -JP3D_MINOR = 3 -JP3D_BUILD = 0 - prefix=/usr/local CC = gcc AR = ar @@ -25,9 +21,7 @@ WITH_TIFF = no # # Set to yes if you want compile/install # jpwl libraries/binaries -# jp3d libraries/binaries WITH_JPWL = no -WITH_JP3D = no # #Set to yes if you have doxygen installed #Set to no if doxygen is missing. diff --git a/jp3d/CMakeLists.txt b/jp3d/CMakeLists.txt deleted file mode 100644 index 1491d1c3..00000000 --- a/jp3d/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -# jp3d - -# Headers file are located here: -INCLUDE_DIRECTORIES( - ${CMAKE_CURRENT_SOURCE_DIR}/codec - ${CMAKE_CURRENT_SOURCE_DIR}/libjp3dvm - ) - - -SUBDIRS( - libjp3dvm - codec -) - - diff --git a/jp3d/Makefile.nix b/jp3d/Makefile.nix deleted file mode 100644 index 5b0796f3..00000000 --- a/jp3d/Makefile.nix +++ /dev/null @@ -1,108 +0,0 @@ -#jp3d Makefile -include ../config.nix - -TARGET = openjp3dvm -COMPILERFLAGS = -O3 -Wall -ffast-math -std=c99 -fPIC - -SRCS = ./libjp3dvm/bio.c ./libjp3dvm/cio.c ./libjp3dvm/dwt.c \ - ./libjp3dvm/event.c ./libjp3dvm/jp3d.c ./libjp3dvm/jp3d_lib.c \ - ./libjp3dvm/volume.c ./libjp3dvm/mct.c ./libjp3dvm/mqc.c \ - ./libjp3dvm/openjpeg.c ./libjp3dvm/pi.c ./libjp3dvm/raw.c \ - ./libjp3dvm/t1.c ./libjp3dvm/t1_3d.c ./libjp3dvm/t2.c \ - ./libjp3dvm/tcd.c ./libjp3dvm/tgt.c - -INCLS = ./libjp3dvm/t1_3d.h ./libjp3dvm/bio.h ./libjp3dvm/cio.h \ - ./libjp3dvm/dwt.h ./libjp3dvm/event.h ./libjp3dvm/fix.h \ - ./libjp3dvm/int.h ./libjp3dvm/jp3d.h ./libjp3dvm/jp3d_lib.h \ - ./libjp3dvm/volume.h ./libjp3dvm/mct.h ./libjp3dvm/mqc.h \ - ./libjp3dvm/openjpeg3d.h ./libjp3dvm/pi.h ./libjp3dvm/raw.h \ - ./libjp3dvm/t1.h ./libjp3dvm/t2.h ./libjp3dvm/tcd.h \ - ./libjp3dvm/tgt.h ./libjp3dvm/opj_includes.h - -INCLUDE = -I.. -Ilibjp3dvm - -INSTALL_LIBDIR = $(prefix)/lib -headerdir = openjpeg3d-$(JP3D_MAJOR).$(JP3D_MINOR) -INSTALL_INCLUDE = $(prefix)/include/$(headerdir) - -# Converts cr/lf to just lf -DOS2UNIX = dos2unix - -LIBRARIES = -lstdc++ - -MODULES = $(SRCS:.c=.o) -CFLAGS = $(COMPILERFLAGS) $(INCLUDE) - -LIBNAME = lib$(TARGET) - -ifeq ($(ENABLE_SHARED),yes) -SHAREDLIB = $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR).$(JP3D_BUILD) -else -STATICLIB = $(LIBNAME).a -endif - -default: all - -all: Jp3dVM - make -C codec -f Makefile.nix all - install -d ../bin -ifeq ($(ENABLE_SHARED),yes) - install -m 755 $(SHAREDLIB) ../bin - (cd ../bin && \ - ln -sf $(SHAREDLIB) $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR)) - (cd ../bin && \ - ln -sf $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(LIBNAME).so) -else - install -m 644 $(STATICLIB) ../bin -endif - -dos2unix: - @$(DOS2UNIX) $(SRCS) $(INCLS) - -Jp3dVM: $(STATICLIB) $(SHAREDLIB) - -.c.o: - $(CC) $(CFLAGS) -c $< -o $@ - -ifeq ($(ENABLE_SHARED),yes) -$(SHAREDLIB): $(MODULES) - $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES) -else -$(STATICLIB): $(MODULES) - $(AR) r $@ $(MODULES) -endif - -install: Jp3dVM - install -d '$(DESTDIR)$(INSTALL_LIBDIR)' -ifeq ($(ENABLE_SHARED),yes) - install -m 755 -o root -g root $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)' - (cd $(DESTDIR)$(INSTALL_LIBDIR) && \ - ln -sf $(SHAREDLIB) $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) ) - (cd $(DESTDIR)$(INSTALL_LIBDIR) && \ - ln -sf $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(LIBNAME).so ) -else - install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)' - (cd $(DESTDIR)$(INSTALL_LIBDIR) && ranlib $(STATICLIB)) -endif - install -d $(DESTDIR)$(INSTALL_INCLUDE) - rm -f $(DESTDIR)$(INSTALL_INCLUDE)/openjpeg3d.h - install -m 644 -o root -g root libjp3dvm/openjpeg3d.h \ - $(DESTDIR)$(INSTALL_INCLUDE)/openjpeg3d.h - (cd $(DESTDIR)$(prefix)/include && \ - ln -sf $(headerdir)/openjpeg3d.h openjpeg3d.h) - make -C codec -f Makefile.nix install - -uninstall: -ifeq ($(ENABLE_SHARED),yes) - (cd $(DESTDIR)$(INSTALL_LIBDIR) && \ - rm -f $(LIBNAME).so $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(SHAREDLIB)) -else - rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB) -endif - rm -f $(DESTDIR)$(prefix)/include/openjpeg3d.h - rm -rf $(DESTDIR)$(INSTALL_INCLUDE) - make -C codec -f Makefile.nix uninstall - -clean: - rm -f core u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) - make -C codec -f Makefile.nix clean diff --git a/jp3d/codec/CMakeLists.txt b/jp3d/codec/CMakeLists.txt deleted file mode 100644 index 6c33b963..00000000 --- a/jp3d/codec/CMakeLists.txt +++ /dev/null @@ -1,47 +0,0 @@ -# Build the demo app, small examples - -# First thing define the common source: -SET(common_SRCS - convert.c - ) -# Then check if getopt is present: -INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) -SET(DONT_HAVE_GETOPT 1) -IF(UNIX) #I am pretty sure only *nix sys have this anyway - CHECK_INCLUDE_FILE("getopt.h" CMAKE_HAVE_GETOPT_H) - # Seems like we need the contrary: - IF(CMAKE_HAVE_GETOPT_H) - SET(DONT_HAVE_GETOPT 0) - ENDIF(CMAKE_HAVE_GETOPT_H) -ENDIF(UNIX) - -# If not getopt was found then add it to the lib: -IF(DONT_HAVE_GETOPT) - ADD_DEFINITIONS(-DDONT_HAVE_GETOPT) - SET(common_SRCS - ${common_SRCS} - getopt.c - ) -ENDIF(DONT_HAVE_GETOPT) - -IF(WIN32) - IF(BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DOPJ_EXPORTS) - ELSE(BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DOPJ_STATIC) - ENDIF(BUILD_SHARED_LIBS) -ENDIF(WIN32) - -# Loop over all executables: -FOREACH(exe jp3d_to_volume volume_to_jp3d) - ADD_EXECUTABLE(${exe} ${exe}.c ${common_SRCS}) - TARGET_LINK_LIBRARIES(${exe} ${OPENJPEG_LIBRARY_NAME}_JP3D) # ${TIFF_LIBRARIES}) - # On unix you need to link to the math library: - IF(UNIX) - TARGET_LINK_LIBRARIES(${exe} m) - ENDIF(UNIX) - # Install exe - INSTALL_TARGETS(/bin/ ${exe}) -ENDFOREACH(exe) - - diff --git a/jp3d/codec/Makefile.nix b/jp3d/codec/Makefile.nix deleted file mode 100644 index e34ad39c..00000000 --- a/jp3d/codec/Makefile.nix +++ /dev/null @@ -1,37 +0,0 @@ -#jp3d/codec/Makefile - -include ../../config.nix - -INSTALL_BIN = $(prefix)/bin -CFLAGS = -Wall -I. -I../libjp3dvm -lstdc++ # -g -p -pg -#USERLIBS = -lm - -ifeq ($(ENABLE_SHARED),yes) -ELIB = ../libopenjp3dvm.so.$(JP3D_MAJOR).$(JP3D_MINOR).$(JP3D_BUILD) -else -ELIB = ../libopenjp3dvm.a -endif - -all: jp3d_to_volume volume_to_jp3d - install -d ../../bin - install jp3d_to_volume volume_to_jp3d ../../bin - -jp3d_to_volume: jp3d_to_volume.c $(ELIB) - $(CC) $(CFLAGS) getopt.c convert.c jp3d_to_volume.c \ - -o jp3d_to_volume $(ELIB) $(USERLIBS) - -volume_to_jp3d: volume_to_jp3d.c $(ELIB) - $(CC) $(CFLAGS) getopt.c convert.c volume_to_jp3d.c \ - -o volume_to_jp3d $(ELIB) $(USERLIBS) - -clean: - rm -f jp3d_to_volume volume_to_jp3d - -install: all - install -d $(DESTDIR)$(INSTALL_BIN) - install -m 755 -o root -g root jp3d_to_volume $(DESTDIR)$(INSTALL_BIN) - install -m 755 -o root -g root volume_to_jp3d $(DESTDIR)$(INSTALL_BIN) - -uninstall: - rm -f $(DESTDIR)$(INSTALL_BIN)/jp3d_to_volume - rm -f $(DESTDIR)$(INSTALL_BIN)/volume_to_jp3d diff --git a/jp3d/libjp3dvm/CMakeLists.txt b/jp3d/libjp3dvm/CMakeLists.txt deleted file mode 100644 index 7d265bd2..00000000 --- a/jp3d/libjp3dvm/CMakeLists.txt +++ /dev/null @@ -1,39 +0,0 @@ -IF(UNIX OR CYGWIN) - ADD_DEFINITIONS(-O3) -ELSEIF(MINGW) - ADD_DEFINITIONS(-Os) -ELSEIF(WIN32) - ADD_DEFINITIONS(/Os) -ENDIF(UNIX OR CYGWIN) -# -INCLUDE_REGULAR_EXPRESSION("^.*$") -# Defines the source code for the library -SET(JP3DVM_SRCS -bio.c cio.c dwt.c event.c jp3d.c jp3d_lib.c mct.c mqc.c openjpeg.c pi.c raw.c t1.c t1_3d.c t2.c tcd.c tgt.c volume.c -) - -# Build the library -IF(WIN32) - IF(BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DOPJ_EXPORTS) - ELSE(BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DOPJ_STATIC) - ENDIF(BUILD_SHARED_LIBS) -ENDIF(WIN32) -ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME}_JP3D ${JP3DVM_SRCS}) -SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JP3D - PROPERTIES - VERSION 1.3.0 - SOVERSION 1) - -# Install library -INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}_JP3D -DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries -) - -# Install includes files -INSTALL(FILES openjpeg3d.h - DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/openjpeg3d-1.3 -) -INSTALL(CODE - "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink openjpeg3d-1.3/openjpeg3d.h \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_INCLUDE_DIR}/openjpeg3d.h)") diff --git a/openjpeg3d/CMake/CheckHaveGetopt.cmake b/openjpeg3d/CMake/CheckHaveGetopt.cmake new file mode 100644 index 00000000..c0fd5dcf --- /dev/null +++ b/openjpeg3d/CMake/CheckHaveGetopt.cmake @@ -0,0 +1,15 @@ +# Check if getopt is present: +INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) +SET(DONT_HAVE_GETOPT 1) +IF(UNIX) #I am pretty sure only *nix sys have this anyway + CHECK_INCLUDE_FILE("getopt.h" CMAKE_HAVE_GETOPT_H) + # Seems like we need the contrary: + IF(CMAKE_HAVE_GETOPT_H) + SET(DONT_HAVE_GETOPT 0) + ENDIF(CMAKE_HAVE_GETOPT_H) +ENDIF(UNIX) + +IF(DONT_HAVE_GETOPT) + ADD_DEFINITIONS(-DDONT_HAVE_GETOPT) +ENDIF(DONT_HAVE_GETOPT) + diff --git a/openjpeg3d/CMake/OpenJPEG3DConfig.cmake.in b/openjpeg3d/CMake/OpenJPEG3DConfig.cmake.in new file mode 100644 index 00000000..633c0935 --- /dev/null +++ b/openjpeg3d/CMake/OpenJPEG3DConfig.cmake.in @@ -0,0 +1,48 @@ +#----------------------------------------------------------------------------- +# +# OPENJPEG3DConfig.cmake - CMake configuration file for external projects. +# +# This file is configured by OPENJPEG3D and used by the UseOPENJPEG3D.cmake +# module to load OPENJPEG3D's settings for an external project. +@OPENJPEG3D_CONFIG_INSTALL_ONLY@ +# The OPENJPEG3D version number. +SET(OPENJPEG3D_MAJOR_VERSION "@OPENJPEG3D_VERSION_MAJOR@") +SET(OPENJPEG3D_MINOR_VERSION "@OPENJPEG3D_VERSION_MINOR@") +SET(OPENJPEG3D_BUILD_VERSION "@OPENJPEG3D_VERSION_BUILD@") + +# The libraries. +SET(OPENJPEG3D_LIBRARIES "@OPENJPEG3D_LIBRARIES@") + +# The CMake macros dir. +SET(OPENJPEG3D_CMAKE_DIR "@OPENJPEG3D_CMAKE_DIR_CONFIG@") + +# The configuration options. +SET(OPENJPEG3D_BUILD_SHARED_LIBS "@OPENJPEG3D_BUILD_SHARED_LIBS@") + +# The "use" file. +SET(OPENJPEG3D_USE_FILE "@OPENJPEG3D_USE_FILE_CONFIG@") + +get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +if(EXISTS ${SELF_DIR}/OpenJPEG3DTargets.cmake) + # This is an install tree + include(${SELF_DIR}/OpenJPEG3DTargets.cmake) + get_filename_component(OPENJPEG3D_INCLUDE_ROOT "${SELF_DIR}/../../@OPENJPEG3D_INSTALL_INCLUDE_DIR@" ABSOLUTE) + set(OPENJPEG3D_INCLUDE_DIRS ${OPENJPEG3D_INCLUDE_ROOT}) + +else(EXISTS ${SELF_DIR}/OpenJPEG3DTargets.cmake) + if(EXISTS ${SELF_DIR}/OpenJPEG3DExports.cmake) + # This is a build tree + SET( OPENJPEG3D_INCLUDE_DIRS @OPENJPEG3D_INCLUDE_PATH@) + + include(${SELF_DIR}/OpenJPEG3DExports.cmake) + + else(EXISTS ${SELF_DIR}/OpenJPEG3DExports.cmake) + message(FATAL_ERROR "ooops") + endif(EXISTS ${SELF_DIR}/OpenJPEG3DExports.cmake) +endif(EXISTS ${SELF_DIR}/OpenJPEG3DTargets.cmake) + +set(OPENJPEG3D_USE_FILE ${SELF_DIR}/UseOPENJPEG3D.cmake) + +# Backward compatible part: +SET(OPENJPEG3D_FOUND TRUE) + diff --git a/openjpeg3d/CMakeLists.txt b/openjpeg3d/CMakeLists.txt new file mode 100644 index 00000000..28e3cbfa --- /dev/null +++ b/openjpeg3d/CMakeLists.txt @@ -0,0 +1,223 @@ +# Main CMakeLists.txt to build the OpenJPEG3D 3D project using CMake (www.cmake.org) +# Written by Mathieu Malaterre + +# This CMake project will by default create a library called openjpeg3d3d +# But if you want to use this project within your own (CMake) project +# you will eventually like to prefix the library to avoid linking confusion +# For this purpose you can define a CMake var: OPENJPEG3D_NAMESPACE to whatever you like +# e.g.: +# SET(OPENJPEG3D_NAMESPACE "GDCMOPENJPEG3D") +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) + +IF(COMMAND CMAKE_POLICY) + CMAKE_POLICY(SET CMP0003 NEW) +ENDIF(COMMAND CMAKE_POLICY) + +IF(NOT OPENJPEG3D_NAMESPACE) + SET(OPENJPEG3D_NAMESPACE "OPENJPEG3D") + SET(OPENJPEG3D_STANDALONE 1) +ENDIF(NOT OPENJPEG3D_NAMESPACE) +# In all cases: +STRING(TOLOWER ${OPENJPEG3D_NAMESPACE} OPENJPEG3D_LIBRARY_NAME) + +PROJECT(${OPENJPEG3D_NAMESPACE} C) + +# Do full dependency headers. +INCLUDE_REGULAR_EXPRESSION("^.*$") + +#----------------------------------------------------------------------------- +# OPENJPEG3D version number, useful for packaging and doxygen doc: +SET(OPENJPEG3D_VERSION_MAJOR 1) +SET(OPENJPEG3D_VERSION_MINOR 3) +SET(OPENJPEG3D_VERSION_BUILD 0) +SET(OPENJPEG3D_VERSION + "${OPENJPEG3D_VERSION_MAJOR}.${OPENJPEG3D_VERSION_MINOR}.${OPENJPEG3D_VERSION_BUILD}") +SET(PACKAGE_VERSION + "${OPENJPEG3D_VERSION_MAJOR}.${OPENJPEG3D_VERSION_MINOR}.${OPENJPEG3D_VERSION_BUILD}") +SET(OPENJPEG3D_LIBRARY_PROPERTIES + VERSION "${OPENJPEG3D_VERSION_MAJOR}.${OPENJPEG3D_VERSION_MINOR}.${OPENJPEG3D_VERSION_BUILD}" + SOVERSION "${OPENJPEG3D_VERSION_MAJOR}" +) +# You will also need to define a value for the following variables: +# OPENJPEG3D_INSTALL_BIN_DIR - binary dir (executables) +# OPENJPEG3D_INSTALL_LIB_DIR - library dir (libs) +# OPENJPEG3D_INSTALL_DATA_DIR - share dir (say, examples, data, etc) +# OPENJPEG3D_INSTALL_INCLUDE_DIR - include dir (headers) + + +# On Visual Studio 8 MS deprecated C. This removes all 1.276E1265 security +# warnings +IF(WIN32) + IF(NOT BORLAND) + IF(NOT CYGWIN) + IF(NOT MINGW) + IF(NOT ITK_ENABLE_VISUAL_STUDIO_DEPRECATED_C_WARNINGS) + ADD_DEFINITIONS( + -D_CRT_FAR_MAPPINGS_NO_DEPRECATE + -D_CRT_IS_WCTYPE_NO_DEPRECATE + -D_CRT_MANAGED_FP_NO_DEPRECATE + -D_CRT_NONSTDC_NO_DEPRECATE + -D_CRT_SECURE_NO_DEPRECATE + -D_CRT_SECURE_NO_DEPRECATE_GLOBALS + -D_CRT_SETERRORMODE_BEEP_SLEEP_NO_DEPRECATE + -D_CRT_TIME_FUNCTIONS_NO_DEPRECATE + -D_CRT_VCCLRIT_NO_DEPRECATE + -D_SCL_SECURE_NO_DEPRECATE + ) + ENDIF(NOT ITK_ENABLE_VISUAL_STUDIO_DEPRECATED_C_WARNINGS) + ENDIF(NOT MINGW) + ENDIF(NOT CYGWIN) + ENDIF(NOT BORLAND) +ENDIF(WIN32) + + +# -------------------------------------------------------------------------- +# Install directories + +STRING(TOLOWER ${PROJECT_NAME} projectname) +SET(subdir "${projectname}-${OPENJPEG3D_VERSION_MAJOR}.${OPENJPEG3D_VERSION_MINOR}") + +IF(NOT OPENJPEG3D_INSTALL_BIN_DIR) + SET(OPENJPEG3D_INSTALL_BIN_DIR "bin") +ENDIF(NOT OPENJPEG3D_INSTALL_BIN_DIR) + +IF(NOT OPENJPEG3D_INSTALL_LIB_DIR) + SET(OPENJPEG3D_INSTALL_LIB_DIR "lib") +ENDIF(NOT OPENJPEG3D_INSTALL_LIB_DIR) + +IF(NOT OPENJPEG3D_INSTALL_DATA_DIR) + SET(OPENJPEG3D_INSTALL_DATA_DIR "share/${subdir}") +ENDIF(NOT OPENJPEG3D_INSTALL_DATA_DIR) + +IF(NOT OPENJPEG3D_INSTALL_INCLUDE_DIR) + SET(OPENJPEG3D_INSTALL_INCLUDE_DIR "include/") +ENDIF(NOT OPENJPEG3D_INSTALL_INCLUDE_DIR) + +IF(NOT OPENJPEG3D_INSTALL_MAN_DIR) + SET(OPENJPEG3D_INSTALL_MAN_DIR "share/man/") +ENDIF(NOT OPENJPEG3D_INSTALL_MAN_DIR) + +IF(NOT OPENJPEG3D_INSTALL_DOC_DIR) + SET(OPENJPEG3D_INSTALL_DOC_DIR "share/doc/${subdir}") +ENDIF(NOT OPENJPEG3D_INSTALL_DOC_DIR) + +IF(NOT OPENJPEG3D_INSTALL_PACKAGE_DIR) + SET(OPENJPEG3D_INSTALL_PACKAGE_DIR ${OPENJPEG3D_INSTALL_LIB_DIR}/${subdir} + CACHE INTERNAL "") +ENDIF(NOT OPENJPEG3D_INSTALL_PACKAGE_DIR) + +#----------------------------------------------------------------------------- +# Test for some required system information. +INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake) + +#----------------------------------------------------------------------------- +# Test for getopt being available in this system +INCLUDE (${PROJECT_SOURCE_DIR}/CMake/CheckHaveGetopt.cmake ) + +#----------------------------------------------------------------------------- +# OpenJPEG3D build configuration options. +OPTION(BUILD_SHARED_LIBS "Build OpenJPEG3D shared library and link executables against it." ON) + +#----------------------------------------------------------------------------- +SET (EXECUTABLE_OUTPUT_PATH ${OPENJPEG3D_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables.") +SET (LIBRARY_OUTPUT_PATH ${OPENJPEG3D_BINARY_DIR}/bin CACHE PATH "Single output directory for building all libraries.") +MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) + + +# configure name mangling to allow multiple libraries to coexist +# peacefully +IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg3d_mangle.h.in) +SET(MANGLE_PREFIX ${OPENJPEG3D_LIBRARY_NAME}) +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg3d_mangle.h.in + ${CMAKE_CURRENT_BINARY_DIR}/openjpeg3d_mangle.h + @ONLY IMMEDIATE) +ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg3d_mangle.h.in) + +#----------------------------------------------------------------------------- +# pkgconfig support +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libopenjpeg3d.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg3d.pc @ONLY) +INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpeg3d.pc DESTINATION ${OPENJPEG3D_INSTALL_LIB_DIR}/pkgconfig ) + +#----------------------------------------------------------------------------- +# Always build the library +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) +SUBDIRS(libopenjpeg3d) + +#----------------------------------------------------------------------------- +# Compiler specific flags: +IF(CMAKE_COMPILER_IS_GNUCC) + # For all builds, make sure openjpeg3d is std99 compliant: + # SET(CMAKE_C_FLAGS "-Wall -std=c99 ${CMAKE_C_FLAGS}") # FIXME: this setting prevented us from setting a coverage build. + # Do not use ffast-math for all build, it would produce incorrect results, only set for release: + SET(CMAKE_C_FLAGS_RELEASE "-ffast-math ${CMAKE_C_FLAGS_RELEASE}") +ENDIF(CMAKE_COMPILER_IS_GNUCC) + +# install all targets referenced as OPENJPEG3DTargets +install(EXPORT OpenJPEG3DTargets DESTINATION ${OPENJPEG3D_INSTALL_PACKAGE_DIR}) +CONFIGURE_FILE( ${OPENJPEG3D_SOURCE_DIR}/CMake/OpenJPEG3DConfig.cmake.in + ${OPENJPEG3D_BINARY_DIR}/OpenJPEG3DConfig.cmake + @ONLY +) +INSTALL( FILES ${OPENJPEG3D_BINARY_DIR}/OpenJPEG3DConfig.cmake + DESTINATION ${OPENJPEG3D_INSTALL_PACKAGE_DIR} +) +# install CHANGES and LICENSE +INSTALL( + FILES LICENSE + DESTINATION ${OPENJPEG3D_INSTALL_DOC_DIR}) +# +FIND_FILE(HAVE_STRINGS_H_FOUND strings.h) +IF(NOT HAVE_STRINGS_H_FOUND STREQUAL "HAVE_STRINGS_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_STRINGS_H strings.h) + SET(HAS_STRINGS_H 1) +ENDIF() +FIND_FILE(HAVE_INTTYPES_H_FOUND inttypes.h) +IF(NOT HAVE_INTTYPES_H_FOUND STREQUAL "HAVE_INTTYPES_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_INTTYPES_H inttypes.h) + SET(HAS_INTTYPES_H 1) +ENDIF() +FIND_FILE(HAVE_MEMORY_H_FOUND memory.h) +IF(NOT HAVE_MEMORY_H_FOUND STREQUAL "HAVE_MEMORY_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_MEMORY_H memory.h) + SET(HAS_MEMORY_H 1) +ENDIF() +FIND_FILE(HAVE_STDINT_H_FOUND stdint.h) +IF(NOT HAVE_STDINT_H_FOUND STREQUAL "HAVE_STDINT_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_STDINT_H stdint.h) + SET(HAS_STDINT_H 1) +ENDIF() +FIND_FILE(HAVE_STDLIB_H_FOUND stdlib.h) +IF(NOT HAVE_STDLIB_H_FOUND STREQUAL "HAVE_STDLIB_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_STDLIB_H stdlib.h) + SET(HAS_STDLIB_H 1) +ENDIF() +FIND_FILE(HAVE_STRING_H_FOUND string.h) +IF(NOT HAVE_STRING_H_FOUND STREQUAL "HAVE_STRING_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_STRING_H string.h) + SET(HAS_STRING_H 1) +ENDIF() +FIND_FILE(HAVE_SYS_STAT_H_FOUND sys/stat.h) +IF(NOT HAVE_SYS_STAT_H_FOUND STREQUAL "HAVE_SYS_STAT_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_SYS_STAT_H sys/stat.h) + SET(HAS_SYS_STAT_H 1) +ENDIF() +FIND_FILE(HAVE_SYS_TYPES_H_FOUND sys/types.h) +IF(NOT HAVE_SYS_TYPES_H_FOUND STREQUAL "HAVE_SYS_TYPES_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_SYS_TYPES_H sys/types.h) + SET(HAS_SYS_TYPES_H 1) +ENDIF() +FIND_FILE(HAVE_UNISTD_H_FOUND unistd.h) +IF(NOT HAVE_UNISTD_H_FOUND STREQUAL "HAVE_UNISTD_H_FOUND-NOTFOUND") + FIND_FILE(HAVE_UNISTD_H unistd.h) + SET(HAS_UNISTD_H 1) +ENDIF() + + +# Headers file are located here: +INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_SOURCE_DIR}/codec + ${CMAKE_CURRENT_SOURCE_DIR}/libopenjpeg3d + ) + + +SUBDIRS(codec) diff --git a/openjpeg3d/INSTALL b/openjpeg3d/INSTALL new file mode 100644 index 00000000..3f4e3dd1 --- /dev/null +++ b/openjpeg3d/INSTALL @@ -0,0 +1,25 @@ + +How to build and install openjpeg3d binaries +========================================== + +REQUIREMENT : cmake (see www.cmake.org) + +Type: + cmake . + make + +If you are root: + make install + make clean + +else: + sudo make install + make clean + +Binaries are located in the 'bin' directory. + +Main available cmake flags: +* To specify the install path: '-DCMAKE_INSTALL_PREFIX=/path' +* To build the shared libraries and links the executables against it: '-DBUILD_SHARED_LIBS:bool=on' (default: 'ON') + Note: when using this option, static libraries are not built and executables are dynamically linked. + diff --git a/jp3d/LICENSE.txt b/openjpeg3d/LICENSE similarity index 100% rename from jp3d/LICENSE.txt rename to openjpeg3d/LICENSE diff --git a/jp3d/Makefile.am b/openjpeg3d/Makefile.am similarity index 100% rename from jp3d/Makefile.am rename to openjpeg3d/Makefile.am diff --git a/jp3d/README.txt b/openjpeg3d/README similarity index 89% rename from jp3d/README.txt rename to openjpeg3d/README index ce04072e..a22ecb44 100755 --- a/jp3d/README.txt +++ b/openjpeg3d/README @@ -19,52 +19,18 @@ If you find some bugs or if you have problems using the encoder/decoder, please ====================================================== - After decompressing the zip file provided, you should find -at least the following files in the created 'jp3d_vm' directory: +at least the following files in the created 'openjpeg3d' directory: - * libjp3dvm - This directory contains all library related code + * libopenjpeg3d - This directory contains all library related code * codec - This directory contains all codec related code * tcltk - This directory contains the API scripts * README - The file you are reading - * LICENCE - Copyright statement of the JP3D VM software + * LICENSE - Copyright statement of the JP3D VM software -2.1. Compiling the source code in Windows -------------------------------------------- +2.1. Compilation +----------------- -This version has been compiled with Visual Studio 2003 using -the projects included in the distribution: - - * LibJp3dVM.vcproj - Creates the library with all the JP3D functionalities - * jp3d_vm_enc.vcproj - Test encoder - * jp3d_vm_dec.vcproj - Test decoder - -2.2. Compiling the source code in Unix-like systems -------------------------------------------- - -Library compilation ------------------------- -This version of the library has been tested under the following OS: -- Fedora Core - -The installation process is as simple as this : -1) Enter the 'jp3d_vm' directory -2) Build the distribution : -make -make install -3) Clean all files produced during the build process -make clean - -Codec compilation ------------------------- -Once you've built the library, you should compile the JP3D codec. - -1) Go to the 'codec' directory -2) Build the encoder and decoder programs: - -gcc convert.c volume_to_jp3d.c -o jp3d_vm_enc -I ../libjp3dvm/ -lm -ljp3dvm -gcc convert.c jp3d_to_volume.c -o jp3d_vm_dec -I ../libjp3dvm/ -lm -ljp3dvm - -Note: You should add '-L ../libjp3dvm/' to those lines if you -did not use the 'install' target (and the 'clean' target neither...). +see INSTALL file for compilation and installation instructions 3. Running the JP3D VM ==================================================== diff --git a/openjpeg3d/codec/CMakeLists.txt b/openjpeg3d/codec/CMakeLists.txt new file mode 100644 index 00000000..437b1e05 --- /dev/null +++ b/openjpeg3d/codec/CMakeLists.txt @@ -0,0 +1,29 @@ +# Build the demo app, small examples + +# First thing define the common source: +SET(common_SRCS + convert.c + ) + +IF(WIN32) + IF(BUILD_SHARED_LIBS) + ADD_DEFINITIONS(-DOPJ_EXPORTS) + ELSE(BUILD_SHARED_LIBS) + ADD_DEFINITIONS(-DOPJ_STATIC) + ENDIF(BUILD_SHARED_LIBS) +ENDIF(WIN32) + +# Loop over all executables: +FOREACH(exe jp3d_to_volume volume_to_jp3d) + ADD_EXECUTABLE(${exe} ${exe}.c ${common_SRCS}) + TARGET_LINK_LIBRARIES(${exe} ${OPENJPEG3D_LIBRARY_NAME}) + # On unix you need to link to the math library: + IF(UNIX) + TARGET_LINK_LIBRARIES(${exe} m) + ENDIF(UNIX) + # Install exe + INSTALL(TARGETS ${exe} + EXPORT OpenJPEG3DTargets + DESTINATION ${OPENJPEG3D_INSTALL_BIN_DIR} COMPONENT Applications + ) +ENDFOREACH(exe) diff --git a/jp3d/codec/Makefile.am b/openjpeg3d/codec/Makefile.am similarity index 100% rename from jp3d/codec/Makefile.am rename to openjpeg3d/codec/Makefile.am diff --git a/jp3d/codec/convert.c b/openjpeg3d/codec/convert.c similarity index 99% rename from jp3d/codec/convert.c rename to openjpeg3d/codec/convert.c index 7a5d177d..ff4dec3b 100755 --- a/jp3d/codec/convert.c +++ b/openjpeg3d/codec/convert.c @@ -31,7 +31,7 @@ #include #include #include -#include "../libjp3dvm/openjpeg3d.h" +#include "openjpeg3d.h" #ifdef _WIN32 #include "windirent.h" #else diff --git a/jp3d/codec/convert.h b/openjpeg3d/codec/convert.h similarity index 100% rename from jp3d/codec/convert.h rename to openjpeg3d/codec/convert.h diff --git a/jp3d/codec/getopt.c b/openjpeg3d/codec/getopt.c similarity index 100% rename from jp3d/codec/getopt.c rename to openjpeg3d/codec/getopt.c diff --git a/jp3d/codec/getopt.h b/openjpeg3d/codec/getopt.h similarity index 100% rename from jp3d/codec/getopt.h rename to openjpeg3d/codec/getopt.h diff --git a/jp3d/codec/jp3d_to_volume.c b/openjpeg3d/codec/jp3d_to_volume.c similarity index 97% rename from jp3d/codec/jp3d_to_volume.c rename to openjpeg3d/codec/jp3d_to_volume.c index 9c5c9adb..e133d876 100755 --- a/jp3d/codec/jp3d_to_volume.c +++ b/openjpeg3d/codec/jp3d_to_volume.c @@ -33,7 +33,7 @@ #include #include -#include "../libjp3dvm/openjpeg3d.h" +#include "openjpeg3d.h" #include "getopt.h" #include "convert.h" diff --git a/jp3d/codec/volume_to_jp3d.c b/openjpeg3d/codec/volume_to_jp3d.c similarity index 97% rename from jp3d/codec/volume_to_jp3d.c rename to openjpeg3d/codec/volume_to_jp3d.c index e00785d4..acfcd10e 100755 --- a/jp3d/codec/volume_to_jp3d.c +++ b/openjpeg3d/codec/volume_to_jp3d.c @@ -32,7 +32,7 @@ #include #include -#include "../libjp3dvm/openjpeg3d.h" +#include "openjpeg3d.h" #include "getopt.h" #include "convert.h" diff --git a/jp3d/codec/windirent.h b/openjpeg3d/codec/windirent.h similarity index 100% rename from jp3d/codec/windirent.h rename to openjpeg3d/codec/windirent.h diff --git a/openjpeg3d/libopenjpeg3d.pc.cmake b/openjpeg3d/libopenjpeg3d.pc.cmake new file mode 100644 index 00000000..203e8d39 --- /dev/null +++ b/openjpeg3d/libopenjpeg3d.pc.cmake @@ -0,0 +1,12 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +bindir=@OPENJPEG3D_INSTALL_BIN_DIR@ +datadir=@OPENJPEG3D_INSTALL_DATA_DIR@ +libdir=@OPENJPEG3D_INSTALL_LIB_DIR@ +includedir=@OPENJPEG3D_INSTALL_INCLUDE_DIR@ + +Name: openjpeg3d +Description: JPEG2000 files library +URL: http://www.openjpeg.org/ +Version: @OPENJPEG3D_VERSION@ +Libs: -L${libdir} -lopenjpeg3d +Cflags: -I${includedir} diff --git a/openjpeg3d/libopenjpeg3d/CMakeLists.txt b/openjpeg3d/libopenjpeg3d/CMakeLists.txt new file mode 100644 index 00000000..85d15b13 --- /dev/null +++ b/openjpeg3d/libopenjpeg3d/CMakeLists.txt @@ -0,0 +1,37 @@ + +INCLUDE_REGULAR_EXPRESSION("^.*$") + +# Defines the source code for the library +SET(OPENJPEG3D_SRCS +bio.c cio.c dwt.c event.c jp3d.c jp3d_lib.c mct.c mqc.c openjpeg.c pi.c raw.c t1.c t1_3d.c t2.c tcd.c tgt.c volume.c +) + +# Build the library +IF(WIN32) + IF(BUILD_SHARED_LIBS) + ADD_DEFINITIONS(-DOPJ_EXPORTS) + ELSE(BUILD_SHARED_LIBS) + ADD_DEFINITIONS(-DOPJ_STATIC) + ENDIF(BUILD_SHARED_LIBS) +ENDIF(WIN32) +ADD_LIBRARY(${OPENJPEG3D_LIBRARY_NAME} ${OPENJPEG3D_SRCS}) +IF(UNIX) + TARGET_LINK_LIBRARIES(${OPENJPEG3D_LIBRARY_NAME} m) +ENDIF(UNIX) +SET_TARGET_PROPERTIES(${OPENJPEG3D_LIBRARY_NAME} PROPERTIES ${OPENJPEG3D_LIBRARY_PROPERTIES}) + +# Install library +INSTALL(TARGETS ${OPENJPEG3D_LIBRARY_NAME} + EXPORT OpenJPEG3DTargets + DESTINATION ${OPENJPEG3D_INSTALL_LIB_DIR} + COMPONENT Libraries +) + +# Install includes files +INSTALL(FILES openjpeg3d.h + DESTINATION ${OPENJPEG3D_INSTALL_INCLUDE_DIR}/${subdir} + COMPONENT Headers +) +INSTALL(CODE + "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ${subdir}/openjpeg3d.h \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG3D_INSTALL_INCLUDE_DIR}/openjpeg3d.h)") + diff --git a/jp3d/libjp3dvm/Makefile.am b/openjpeg3d/libopenjpeg3d/Makefile.am similarity index 100% rename from jp3d/libjp3dvm/Makefile.am rename to openjpeg3d/libopenjpeg3d/Makefile.am diff --git a/jp3d/libjp3dvm/bio.c b/openjpeg3d/libopenjpeg3d/bio.c similarity index 100% rename from jp3d/libjp3dvm/bio.c rename to openjpeg3d/libopenjpeg3d/bio.c diff --git a/jp3d/libjp3dvm/bio.h b/openjpeg3d/libopenjpeg3d/bio.h similarity index 100% rename from jp3d/libjp3dvm/bio.h rename to openjpeg3d/libopenjpeg3d/bio.h diff --git a/jp3d/libjp3dvm/cio.c b/openjpeg3d/libopenjpeg3d/cio.c similarity index 100% rename from jp3d/libjp3dvm/cio.c rename to openjpeg3d/libopenjpeg3d/cio.c diff --git a/jp3d/libjp3dvm/cio.h b/openjpeg3d/libopenjpeg3d/cio.h similarity index 100% rename from jp3d/libjp3dvm/cio.h rename to openjpeg3d/libopenjpeg3d/cio.h diff --git a/jp3d/libjp3dvm/dwt.c b/openjpeg3d/libopenjpeg3d/dwt.c similarity index 100% rename from jp3d/libjp3dvm/dwt.c rename to openjpeg3d/libopenjpeg3d/dwt.c diff --git a/jp3d/libjp3dvm/dwt.h b/openjpeg3d/libopenjpeg3d/dwt.h similarity index 100% rename from jp3d/libjp3dvm/dwt.h rename to openjpeg3d/libopenjpeg3d/dwt.h diff --git a/jp3d/libjp3dvm/event.c b/openjpeg3d/libopenjpeg3d/event.c similarity index 100% rename from jp3d/libjp3dvm/event.c rename to openjpeg3d/libopenjpeg3d/event.c diff --git a/jp3d/libjp3dvm/event.h b/openjpeg3d/libopenjpeg3d/event.h similarity index 100% rename from jp3d/libjp3dvm/event.h rename to openjpeg3d/libopenjpeg3d/event.h diff --git a/jp3d/libjp3dvm/fix.h b/openjpeg3d/libopenjpeg3d/fix.h similarity index 100% rename from jp3d/libjp3dvm/fix.h rename to openjpeg3d/libopenjpeg3d/fix.h diff --git a/jp3d/libjp3dvm/int.h b/openjpeg3d/libopenjpeg3d/int.h similarity index 100% rename from jp3d/libjp3dvm/int.h rename to openjpeg3d/libopenjpeg3d/int.h diff --git a/jp3d/libjp3dvm/jp3d.c b/openjpeg3d/libopenjpeg3d/jp3d.c similarity index 100% rename from jp3d/libjp3dvm/jp3d.c rename to openjpeg3d/libopenjpeg3d/jp3d.c diff --git a/jp3d/libjp3dvm/jp3d.h b/openjpeg3d/libopenjpeg3d/jp3d.h similarity index 100% rename from jp3d/libjp3dvm/jp3d.h rename to openjpeg3d/libopenjpeg3d/jp3d.h diff --git a/jp3d/libjp3dvm/jp3d_lib.c b/openjpeg3d/libopenjpeg3d/jp3d_lib.c similarity index 100% rename from jp3d/libjp3dvm/jp3d_lib.c rename to openjpeg3d/libopenjpeg3d/jp3d_lib.c diff --git a/jp3d/libjp3dvm/jp3d_lib.h b/openjpeg3d/libopenjpeg3d/jp3d_lib.h similarity index 100% rename from jp3d/libjp3dvm/jp3d_lib.h rename to openjpeg3d/libopenjpeg3d/jp3d_lib.h diff --git a/jp3d/libjp3dvm/mct.c b/openjpeg3d/libopenjpeg3d/mct.c similarity index 100% rename from jp3d/libjp3dvm/mct.c rename to openjpeg3d/libopenjpeg3d/mct.c diff --git a/jp3d/libjp3dvm/mct.h b/openjpeg3d/libopenjpeg3d/mct.h similarity index 100% rename from jp3d/libjp3dvm/mct.h rename to openjpeg3d/libopenjpeg3d/mct.h diff --git a/jp3d/libjp3dvm/mqc.c b/openjpeg3d/libopenjpeg3d/mqc.c similarity index 100% rename from jp3d/libjp3dvm/mqc.c rename to openjpeg3d/libopenjpeg3d/mqc.c diff --git a/jp3d/libjp3dvm/mqc.h b/openjpeg3d/libopenjpeg3d/mqc.h similarity index 100% rename from jp3d/libjp3dvm/mqc.h rename to openjpeg3d/libopenjpeg3d/mqc.h diff --git a/jp3d/libjp3dvm/openjpeg.c b/openjpeg3d/libopenjpeg3d/openjpeg.c similarity index 100% rename from jp3d/libjp3dvm/openjpeg.c rename to openjpeg3d/libopenjpeg3d/openjpeg.c diff --git a/jp3d/libjp3dvm/openjpeg3d.h b/openjpeg3d/libopenjpeg3d/openjpeg3d.h similarity index 100% rename from jp3d/libjp3dvm/openjpeg3d.h rename to openjpeg3d/libopenjpeg3d/openjpeg3d.h diff --git a/jp3d/libjp3dvm/opj_includes.h b/openjpeg3d/libopenjpeg3d/opj_includes.h similarity index 100% rename from jp3d/libjp3dvm/opj_includes.h rename to openjpeg3d/libopenjpeg3d/opj_includes.h diff --git a/jp3d/libjp3dvm/pi.c b/openjpeg3d/libopenjpeg3d/pi.c similarity index 100% rename from jp3d/libjp3dvm/pi.c rename to openjpeg3d/libopenjpeg3d/pi.c diff --git a/jp3d/libjp3dvm/pi.h b/openjpeg3d/libopenjpeg3d/pi.h similarity index 100% rename from jp3d/libjp3dvm/pi.h rename to openjpeg3d/libopenjpeg3d/pi.h diff --git a/jp3d/libjp3dvm/raw.c b/openjpeg3d/libopenjpeg3d/raw.c similarity index 100% rename from jp3d/libjp3dvm/raw.c rename to openjpeg3d/libopenjpeg3d/raw.c diff --git a/jp3d/libjp3dvm/raw.h b/openjpeg3d/libopenjpeg3d/raw.h similarity index 100% rename from jp3d/libjp3dvm/raw.h rename to openjpeg3d/libopenjpeg3d/raw.h diff --git a/jp3d/libjp3dvm/t1.c b/openjpeg3d/libopenjpeg3d/t1.c similarity index 100% rename from jp3d/libjp3dvm/t1.c rename to openjpeg3d/libopenjpeg3d/t1.c diff --git a/jp3d/libjp3dvm/t1.h b/openjpeg3d/libopenjpeg3d/t1.h similarity index 100% rename from jp3d/libjp3dvm/t1.h rename to openjpeg3d/libopenjpeg3d/t1.h diff --git a/jp3d/libjp3dvm/t1_3d.c b/openjpeg3d/libopenjpeg3d/t1_3d.c similarity index 100% rename from jp3d/libjp3dvm/t1_3d.c rename to openjpeg3d/libopenjpeg3d/t1_3d.c diff --git a/jp3d/libjp3dvm/t1_3d.h b/openjpeg3d/libopenjpeg3d/t1_3d.h similarity index 100% rename from jp3d/libjp3dvm/t1_3d.h rename to openjpeg3d/libopenjpeg3d/t1_3d.h diff --git a/jp3d/libjp3dvm/t2.c b/openjpeg3d/libopenjpeg3d/t2.c similarity index 100% rename from jp3d/libjp3dvm/t2.c rename to openjpeg3d/libopenjpeg3d/t2.c diff --git a/jp3d/libjp3dvm/t2.h b/openjpeg3d/libopenjpeg3d/t2.h similarity index 100% rename from jp3d/libjp3dvm/t2.h rename to openjpeg3d/libopenjpeg3d/t2.h diff --git a/jp3d/libjp3dvm/tcd.c b/openjpeg3d/libopenjpeg3d/tcd.c similarity index 100% rename from jp3d/libjp3dvm/tcd.c rename to openjpeg3d/libopenjpeg3d/tcd.c diff --git a/jp3d/libjp3dvm/tcd.h b/openjpeg3d/libopenjpeg3d/tcd.h similarity index 100% rename from jp3d/libjp3dvm/tcd.h rename to openjpeg3d/libopenjpeg3d/tcd.h diff --git a/jp3d/libjp3dvm/tgt.c b/openjpeg3d/libopenjpeg3d/tgt.c similarity index 100% rename from jp3d/libjp3dvm/tgt.c rename to openjpeg3d/libopenjpeg3d/tgt.c diff --git a/jp3d/libjp3dvm/tgt.h b/openjpeg3d/libopenjpeg3d/tgt.h similarity index 100% rename from jp3d/libjp3dvm/tgt.h rename to openjpeg3d/libopenjpeg3d/tgt.h diff --git a/jp3d/libjp3dvm/volume.c b/openjpeg3d/libopenjpeg3d/volume.c similarity index 100% rename from jp3d/libjp3dvm/volume.c rename to openjpeg3d/libopenjpeg3d/volume.c diff --git a/jp3d/libjp3dvm/volume.h b/openjpeg3d/libopenjpeg3d/volume.h similarity index 100% rename from jp3d/libjp3dvm/volume.h rename to openjpeg3d/libopenjpeg3d/volume.h diff --git a/jp3d/tcltk/LPI_JP3D_VM.tcl b/openjpeg3d/tcltk/LPI_JP3D_VM.tcl similarity index 100% rename from jp3d/tcltk/LPI_JP3D_VM.tcl rename to openjpeg3d/tcltk/LPI_JP3D_VM.tcl diff --git a/jp3d/tcltk/README b/openjpeg3d/tcltk/README similarity index 100% rename from jp3d/tcltk/README rename to openjpeg3d/tcltk/README diff --git a/jp3d/tcltk/Thumbs.db b/openjpeg3d/tcltk/Thumbs.db similarity index 100% rename from jp3d/tcltk/Thumbs.db rename to openjpeg3d/tcltk/Thumbs.db diff --git a/jp3d/tcltk/decoder.tcl b/openjpeg3d/tcltk/decoder.tcl similarity index 96% rename from jp3d/tcltk/decoder.tcl rename to openjpeg3d/tcltk/decoder.tcl index 6fadbb18..98edcde9 100755 --- a/jp3d/tcltk/decoder.tcl +++ b/openjpeg3d/tcltk/decoder.tcl @@ -1,8 +1,8 @@ namespace eval VMDecoder { variable var - variable JP3Ddecoder "../bin/jp3d_vm_dec.exe" - #variable JP3Ddecoder "jp3d_vm_dec.exe" + variable JP3Ddecoder "../bin/jp3d_to_volume.exe" + #variable JP3Ddecoder "jp3d_to_volume.exe" } diff --git a/jp3d/tcltk/encoder.tcl b/openjpeg3d/tcltk/encoder.tcl similarity index 99% rename from jp3d/tcltk/encoder.tcl rename to openjpeg3d/tcltk/encoder.tcl index dc174b71..76ad9f33 100755 --- a/jp3d/tcltk/encoder.tcl +++ b/openjpeg3d/tcltk/encoder.tcl @@ -1,7 +1,7 @@ namespace eval VMEncoder { variable var - variable JP3Dencoder "../bin/jp3d_vm_enc.exe" + variable JP3Dencoder "../bin/volume_to_jp3d.exe" } proc VMEncoder::create { nb } { diff --git a/jp3d/tcltk/logoLPI.gif b/openjpeg3d/tcltk/logoLPI.gif similarity index 100% rename from jp3d/tcltk/logoLPI.gif rename to openjpeg3d/tcltk/logoLPI.gif