Compare commits
1 Commits
openjpeg3d
...
openjpeg3d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6f19781d7 |
15
CMake/CheckHaveGetopt.cmake
Normal file
15
CMake/CheckHaveGetopt.cmake
Normal file
@@ -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)
|
||||
|
||||
48
CMake/OpenJPEG3DConfig.cmake.in
Normal file
48
CMake/OpenJPEG3DConfig.cmake.in
Normal file
@@ -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)
|
||||
|
||||
224
CMakeLists.txt
224
CMakeLists.txt
@@ -1,15 +1,223 @@
|
||||
# jp3d
|
||||
# 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}/libjp3dvm
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/libopenjpeg3d
|
||||
)
|
||||
|
||||
|
||||
SUBDIRS(
|
||||
libjp3dvm
|
||||
codec
|
||||
)
|
||||
|
||||
|
||||
SUBDIRS(codec)
|
||||
|
||||
25
INSTALL
Normal file
25
INSTALL
Normal file
@@ -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.
|
||||
|
||||
108
Makefile.nix
108
Makefile.nix
@@ -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
|
||||
@@ -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
|
||||
====================================================
|
||||
@@ -4,25 +4,6 @@
|
||||
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)
|
||||
@@ -35,13 +16,14 @@ 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})
|
||||
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(/bin/ ${exe})
|
||||
INSTALL(TARGETS ${exe}
|
||||
EXPORT OpenJPEG3DTargets
|
||||
DESTINATION ${OPENJPEG3D_INSTALL_BIN_DIR} COMPONENT Applications
|
||||
)
|
||||
ENDFOREACH(exe)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "../libjp3dvm/openjpeg3d.h"
|
||||
#include "openjpeg3d.h"
|
||||
#ifdef _WIN32
|
||||
#include "windirent.h"
|
||||
#else
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "../libjp3dvm/openjpeg3d.h"
|
||||
#include "openjpeg3d.h"
|
||||
#include "getopt.h"
|
||||
#include "convert.h"
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "../libjp3dvm/openjpeg3d.h"
|
||||
#include "openjpeg3d.h"
|
||||
#include "getopt.h"
|
||||
#include "convert.h"
|
||||
|
||||
|
||||
@@ -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)")
|
||||
12
libopenjpeg3d.pc.cmake
Normal file
12
libopenjpeg3d.pc.cmake
Normal file
@@ -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}
|
||||
37
libopenjpeg3d/CMakeLists.txt
Normal file
37
libopenjpeg3d/CMakeLists.txt
Normal file
@@ -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)")
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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 } {
|
||||
|
||||
Reference in New Issue
Block a user