diff --git a/CMakeLists.txt b/CMakeLists.txt index dc3783b8..17b4098c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/ChangeLog b/ChangeLog index 85af2acf..b6c12fef 100644 --- 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) diff --git a/Makefile b/Makefile index f7564984..f72d478a 100644 --- 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) diff --git a/libopenjpeg/t1.c b/libopenjpeg/t1.c index d359b093..de32e55b 100644 --- a/libopenjpeg/t1.c +++ b/libopenjpeg/t1.c @@ -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))) {