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 fdf20c7b7a
commit 372eab810b
3 changed files with 98 additions and 78 deletions

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
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