summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois-Olivier Devaux <fodevaux@users.noreply.github.com>2010-02-18 16:36:21 +0000
committerFrancois-Olivier Devaux <fodevaux@users.noreply.github.com>2010-02-18 16:36:21 +0000
commit372eab810b2b19dce5641c38d3c4a3c779c8bac6 (patch)
tree3418f5f7b459b23ff8ee28bf3abe1feb6c6319fd
parentfdf20c7b7ab8889b47c17b171c955652021b7465 (diff)
JP3D Module. Fixed issue when computing the number of elements in an array that leads to crash (thanks Kristof). Updated JP3D makefiles.
-rwxr-xr-xMakefile150
-rw-r--r--codec/Makefile14
-rwxr-xr-xcodec/jp3d_to_volume.c12
3 files changed, 98 insertions, 78 deletions
diff --git a/Makefile b/Makefile
index f2b66cf0..1ee93576 100755
--- a/Makefile
+++ b/Makefile
@@ -1,72 +1,78 @@
-# Linux makefile for OpenJPEG
-
-VER_MAJOR = 1
-VER_MINOR = 0.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
-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
-INCLUDE = -Ilibopenjpeg
-
-# General configuration variables:
-CC = gcc
-AR = ar
-
-INSTALLDIR = /usr/lib
-
-# Converts cr/lf to just lf
-DOS2UNIX = dos2unix
-
-COMPILERFLAGS = -O3
-LIBRARIES = -lstdc++
-
-MODULES = $(SRCS:.c=.o)
-CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
-
-TARGET = openjpeg
-STATICLIB = lib$(TARGET).a
-SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
-LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
-
-
-
-default: all
-
-all: dist
-
-dist: OpenJPEG
- mkdir dist
- cp *.a dist/
- cp *.so dist/
- cp libopenjpeg/openjpeg.h dist/
-
-dos2unix:
- @$(DOS2UNIX) $(SRCS) $(INCLS)
-
-OpenJPEG: $(STATICLIB) $(SHAREDLIB)
-
-.c.o:
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(STATICLIB): $(MODULES)
- $(AR) r $@ $(MODULES)
-
-$(SHAREDLIB): $(MODULES)
- $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
-
-install:
- install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)
- install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)
- ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
- ldconfig
-
-clean:
- rm -rf core dist/ u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
-
-osx:
- make -f Makefile.osx
-
-osxinstall:
- make -f Makefile.osx install
-
-osxclean:
- make -f Makefile.osx clean
+# Linux makefile for JP3DVM
+
+VER_MAJOR = 2
+VER_MINOR = 1.3.0
+
+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/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 = -Ilibjp3dvm
+
+# General configuration variables:
+CC = gcc
+AR = ar
+
+PREFIX = /usr
+INSTALL_LIBDIR = $(PREFIX)/lib
+INSTALL_INCLUDE = $(PREFIX)/include
+
+# Converts cr/lf to just lf
+DOS2UNIX = dos2unix
+
+COMPILERFLAGS = -Wall -O3 -ffast-math -std=c99 -fPIC
+LIBRARIES = -lstdc++
+
+MODULES = $(SRCS:.c=.o)
+CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
+
+TARGET = jp3dvm
+STATICLIB = lib$(TARGET).a
+SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
+LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
+
+
+
+default: all
+
+all: Jp3dVM
+
+dist: Jp3dVM
+ install -d dist
+ install -m 644 $(STATICLIB) dist
+ install -m 755 $(SHAREDLIB) dist
+ ln -sf $(SHAREDLIB) dist/$(LIBNAME)
+ install libjp3dvm/openjpeg.h dist
+
+dos2unix:
+ @$(DOS2UNIX) $(SRCS) $(INCLS)
+
+Jp3dVM: $(STATICLIB) $(SHAREDLIB)
+
+.c.o:
+ $(CC) $(CFLAGS) -c $< -o $@
+
+$(STATICLIB): $(MODULES)
+ $(AR) r $@ $(MODULES)
+
+$(SHAREDLIB): $(MODULES)
+ $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
+
+install: Jp3dVM
+ install -d '$(DESTDIR)$(INSTALL_LIBDIR)' '$(DESTDIR)$(INSTALL_INCLUDE)'
+ install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
+ ranlib '$(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB)'
+ 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:
+ rm -rf core dist/ u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
+
+osx:
+ make -f Makefile.osx
+
+osxinstall:
+ make -f Makefile.osx install
+
+osxclean:
+ make -f Makefile.osx clean
diff --git a/codec/Makefile b/codec/Makefile
new file mode 100644
index 00000000..94221c7d
--- /dev/null
+++ b/codec/Makefile
@@ -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
diff --git a/codec/jp3d_to_volume.c b/codec/jp3d_to_volume.c
index 81dc1c78..caa275bf 100755
--- a/codec/jp3d_to_volume.c
+++ b/codec/jp3d_to_volume.c
@@ -177,12 +177,12 @@ void decode_help_display() {
fprintf(stdout," Set the maximum number of quality layers to decode. If there are\n");
fprintf(stdout," less quality layers than the specified number, all the quality layers\n");
fprintf(stdout," are decoded. \n");
- fprintf(stdout," -O original-file \n");
- fprintf(stdout," This option offers the possibility to compute some quality results \n");
- fprintf(stdout," for the decompressed volume, like the PSNR value achieved or the global SSIM value. \n");
- fprintf(stdout," Needs the original file in order to compare with the new one.\n");
- fprintf(stdout," NOTE: Only valid when -r option is 0,0,0 (both original and decompressed volumes have same resolutions) \n");
- fprintf(stdout," NOTE: If original file is .BIN file, the volume characteristics file shall be defined with the -m option. \n");
+ fprintf(stdout," -O original-file \n");
+ fprintf(stdout," This option offers the possibility to compute some quality results \n");
+ fprintf(stdout," for the decompressed volume, like the PSNR value achieved or the global SSIM value. \n");
+ fprintf(stdout," Needs the original file in order to compare with the new one.\n");
+ fprintf(stdout," NOTE: Only valid when -r option is 0,0,0 (both original and decompressed volumes have same resolutions) \n");
+ fprintf(stdout," NOTE: If original file is .BIN file, the volume characteristics file shall be defined with the -m option. \n");
fprintf(stdout," (i.e. -O original-BIN-file -m original-IMG-file) \n");
fprintf(stdout," -BE \n");
fprintf(stdout," Define that the recovered volume data will be saved with big endian byte order.\n");