JP3D Module. Fixed issue when computing the number of elements in an array that leads to crash (thanks Kristof). Updated JP3D makefiles.

This commit is contained in:
Francois-Olivier Devaux 2010-02-18 16:36:21 +00:00
parent c1a51d68a6
commit cb4702b4c5
4 changed files with 101 additions and 78 deletions

View File

@ -5,6 +5,9 @@ What's New for OpenJPEG
! : changed ! : changed
+ : added + : added
February 18, 2010
* [FOD] JP3D Module. Fixed issue when computing the number of elements in an array that leads to crash (thanks Kristof). Updated JP3D makefiles.
January 20, 2010 January 20, 2010
! [FOD] Created a new constant in openjpeg.h to differentiate the case when the colorspace is not supported by the library and when it is not specified in the codestream. Suggested by Matteo Italia. ! [FOD] Created a new constant in openjpeg.h to differentiate the case when the colorspace is not supported by the library and when it is not specified in the codestream. Suggested by Matteo Italia.

View File

@ -1,28 +1,30 @@
# Linux makefile for OpenJPEG # Linux makefile for JP3DVM
VER_MAJOR = 1 VER_MAJOR = 2
VER_MINOR = 0.0 VER_MINOR = 1.3.0
SRCS = ./libopenjpeg/bio.c ./libopenjpeg/cio.c ./libopenjpeg/dwt.c ./libopenjpeg/event.c ./libopenjpeg/image.c ./libopenjpeg/j2k.c ./libopenjpeg/j2k_lib.c ./libopenjpeg/jp2.c ./libopenjpeg/jpt.c ./libopenjpeg/mct.c ./libopenjpeg/mqc.c ./libopenjpeg/openjpeg.c ./libopenjpeg/pi.c ./libopenjpeg/raw.c ./libopenjpeg/t1.c ./libopenjpeg/t2.c ./libopenjpeg/tcd.c ./libopenjpeg/tgt.c 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 = ./libopenjpeg/bio.h ./libopenjpeg/cio.h ./libopenjpeg/dwt.h ./libopenjpeg/event.h ./libopenjpeg/fix.h ./libopenjpeg/image.h ./libopenjpeg/int.h ./libopenjpeg/j2k.h ./libopenjpeg/j2k_lib.h ./libopenjpeg/jp2.h ./libopenjpeg/jpt.h ./libopenjpeg/mct.h ./libopenjpeg/mqc.h ./libopenjpeg/openjpeg.h ./libopenjpeg/pi.h ./libopenjpeg/raw.h ./libopenjpeg/t1.h ./libopenjpeg/t2.h ./libopenjpeg/tcd.h ./libopenjpeg/tgt.h ./libopenjpeg/opj_includes.h 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/openjpeg.h ./libjp3dvm/pi.h ./libjp3dvm/raw.h ./libjp3dvm/t1.h ./libjp3dvm/t2.h ./libjp3dvm/tcd.h ./libjp3dvm/tgt.h ./libjp3dvm/opj_includes.h
INCLUDE = -Ilibopenjpeg INCLUDE = -Ilibjp3dvm
# General configuration variables: # General configuration variables:
CC = gcc CC = gcc
AR = ar AR = ar
INSTALLDIR = /usr/lib PREFIX = /usr
INSTALL_LIBDIR = $(PREFIX)/lib
INSTALL_INCLUDE = $(PREFIX)/include
# Converts cr/lf to just lf # Converts cr/lf to just lf
DOS2UNIX = dos2unix DOS2UNIX = dos2unix
COMPILERFLAGS = -O3 COMPILERFLAGS = -Wall -O3 -ffast-math -std=c99 -fPIC
LIBRARIES = -lstdc++ LIBRARIES = -lstdc++
MODULES = $(SRCS:.c=.o) MODULES = $(SRCS:.c=.o)
CFLAGS = $(COMPILERFLAGS) $(INCLUDE) CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
TARGET = openjpeg TARGET = jp3dvm
STATICLIB = lib$(TARGET).a STATICLIB = lib$(TARGET).a
SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
LIBNAME = lib$(TARGET).so.$(VER_MAJOR) LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
@ -31,18 +33,19 @@ LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
default: all default: all
all: dist all: Jp3dVM
dist: OpenJPEG dist: Jp3dVM
mkdir dist install -d dist
cp *.a dist/ install -m 644 $(STATICLIB) dist
cp *.so dist/ install -m 755 $(SHAREDLIB) dist
cp libopenjpeg/openjpeg.h dist/ ln -sf $(SHAREDLIB) dist/$(LIBNAME)
install libjp3dvm/openjpeg.h dist
dos2unix: dos2unix:
@$(DOS2UNIX) $(SRCS) $(INCLS) @$(DOS2UNIX) $(SRCS) $(INCLS)
OpenJPEG: $(STATICLIB) $(SHAREDLIB) Jp3dVM: $(STATICLIB) $(SHAREDLIB)
.c.o: .c.o:
$(CC) $(CFLAGS) -c $< -o $@ $(CC) $(CFLAGS) -c $< -o $@
@ -53,11 +56,14 @@ $(STATICLIB): $(MODULES)
$(SHAREDLIB): $(MODULES) $(SHAREDLIB): $(MODULES)
$(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES) $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
install: install: Jp3dVM
install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR) install -d '$(DESTDIR)$(INSTALL_LIBDIR)' '$(DESTDIR)$(INSTALL_INCLUDE)'
install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR) install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME) ranlib '$(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB)'
ldconfig install -m 755 -o root -g root $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
ln -sf $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)'
install -m 644 -o root -g root libjp3dvm/openjpeg.h '$(DESTDIR)$(INSTALL_INCLUDE)'
-ldconfig
clean: clean:
rm -rf core dist/ u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME) rm -rf core dist/ u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)

14
jp3d/codec/Makefile Normal file
View File

@ -0,0 +1,14 @@
# Makefile for the main OpenJPEG codecs: jp3d_to_volume and volume_to_jp3d
CFLAGS = -O3 -lstdc++ # -g -p -pg
all: jp3d_to_volume volume_to_jp3d
jp3d_to_volume: jp3d_to_volume.c ../libjp3dvm.a
gcc $(CFLAGS) getopt.c convert.c jp3d_to_volume.c -o jp3d_to_volume -L.. -ljp3dvm -I ../libjp3dvm/ -lm -ltiff
volume_to_jp3d: volume_to_jp3d.c ../libjp3dvm.a
gcc $(CFLAGS) getopt.c convert.c volume_to_jp3d.c -o volume_to_jp3d -L.. -ljp3dvm -I ../libjp3dvm/ -lm -ltiff
clean:
rm -f jp3d_to_volume volume_to_jp3d