In t1.c, small change to avoid calling twice t1_getwmsedec()
authorFrancois-Olivier Devaux <fodevaux@users.noreply.github.com>
Thu, 8 Nov 2007 14:26:03 +0000 (14:26 +0000)
committerFrancois-Olivier Devaux <fodevaux@users.noreply.github.com>
Thu, 8 Nov 2007 14:26:03 +0000 (14:26 +0000)
Patch from Callum Lewick. Basic gcc optimization flags in cmake and makefile match.

CMakeLists.txt
ChangeLog
Makefile
libopenjpeg/t1.c

index dc3783b8cdf7632a32727d69514959415f0cb588..17b4098c1568dfd9d23630f2b1ebd590bb766e82 100644 (file)
@@ -116,3 +116,7 @@ FIND_PATH(JPEG2000_CONFORMANCE_DATA_ROOT testimages.html
   $ENV{JPEG2000_CONFORMANCE_DATA_ROOT}
 )
 
+IF(CMAKE_COMPILER_IS_GNUCC)
+  SET(CMAKE_WARN_FLAGS "-Wall")
+  SET(CMAKE_C_FLAGS "${CMAKE_WARN_FLAGS} -ffast-math -std=c99 ${CMAKE_C_FLAGS}")
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
index 85af2acf4922f57f15f662ff7a63f2be3d1c317e..b6c12fef0797e344ddd2633478047970b7a696cb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,10 @@ What's New for OpenJPEG
 ! : changed
 + : added
 
+November 8, 2007
+! [FOD] In t1.c, small change to avoid calling twice t1_getwmsedec()
+               Patch from Callum Lewick. Basic gcc optimization flags in cmake and makefile match.
+
 November 5, 2007
 *+ [GB] Fixed a bug which prevented JPWL from working on multi-tiled images; added some more fields in the interface info structures (keep a list of markers, save start packet number for each tile)
 
index f75649845ad59b6000e25db40d2a9469e7fb6c83..f72d478ae5cd2e51386608225bd17b2b123dded5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@ INSTALL_INCLUDE = $(PREFIX)/include
 # Converts cr/lf to just lf
 DOS2UNIX = dos2unix
 
-COMPILERFLAGS = -O3 -fPIC
+COMPILERFLAGS = -Wall -O3 -ffast-math -std=c99 -fPIC
 LIBRARIES = -lstdc++
 
 MODULES = $(SRCS:.c=.o)
index d359b09372cd3e09e09580e94d8c8f16c7d690f0..de32e55b396f8b054dfa518af8936afe735d742a 100644 (file)
@@ -809,6 +809,7 @@ static void t1_encode_cblk(
        int nmsedec = 0;
        double cumwmsedec = 0.0;
        char type = T1_TYPE_MQ;
+       double tempwmsedec;
        
        opj_mqc_t *mqc = t1->mqc;       /* MQC component */
        
@@ -851,8 +852,9 @@ static void t1_encode_cblk(
                }
                
                /* fixed_quality */
-               cumwmsedec += t1_getwmsedec(nmsedec, compno, level, orient, bpno, qmfbid, stepsize, numcomps);
-               tile->distotile += t1_getwmsedec(nmsedec, compno, level, orient, bpno, qmfbid, stepsize, numcomps);
+               tempwmsedec = t1_getwmsedec(nmsedec, compno, level, orient, bpno, qmfbid, stepsize, numcomps);
+               cumwmsedec += tempwmsedec;
+               tile->distotile += tempwmsedec;
                
                /* Code switch "RESTART" (i.e. TERMALL) */
                if ((cblksty & J2K_CCP_CBLKSTY_TERMALL) && !((passtype == 2) && (bpno - 1 < 0))) {