]> granicus.if.org Git - openjpeg/commitdiff
changed function definitions of INT and FIX modules to 'inline'
authorFreeimage <freeimage@aliceadsl.fr>
Wed, 1 Feb 2006 21:25:11 +0000 (21:25 +0000)
committerFreeimage <freeimage@aliceadsl.fr>
Wed, 1 Feb 2006 21:25:11 +0000 (21:25 +0000)
DllOpenJPEG.dsp
LibOpenJPEG.dsp
Makefile
Makefile.osx
libopenjpeg/CMakeLists.txt
libopenjpeg/fix.c [deleted file]
libopenjpeg/fix.h
libopenjpeg/int.c [deleted file]
libopenjpeg/int.h
libopenjpeg/opj_includes.h

index eb6d6df00ad1e621c62cb94d7040abb19bbc7e70..8dea6c8e7c4f40362f2d91f3ec54aa9f3e5b3fc7 100644 (file)
@@ -73,8 +73,8 @@ PostBuild_Cmds=if not exist dist mkdir dist   copy libopenjpeg\openjpeg.h dist        cop
 # PROP Intermediate_Dir "Debug"
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DLLOPENJPEG_EXPORTS" /Yu"stdafx.h" /FD /GZ  /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OPJ_EXPORTS" /FD /GZ  /c
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DLLOPENJPEG_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OPJ_EXPORTS" /FD /GZ /c
 # SUBTRACT CPP /YX /Yc /Yu
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
@@ -118,18 +118,10 @@ SOURCE=.\libopenjpeg\event.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\libopenjpeg\fix.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\libopenjpeg\image.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\libopenjpeg\int.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\libopenjpeg\j2k.c
 # End Source File
 # Begin Source File
@@ -272,6 +264,10 @@ SOURCE=.\libopenjpeg\tgt.h
 # Begin Group "Resource Files"
 
 # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\OpenJPEG.rc
+# End Source File
 # End Group
 # End Target
 # End Project
index ad01c60fdbec9a722f41ef248d5b27514b9ffe3a..07c1cc8c318b63eade7747192db427451127ff0b 100644 (file)
@@ -111,18 +111,10 @@ SOURCE=libopenjpeg\event.c
 # End Source File
 # Begin Source File
 
-SOURCE=libopenjpeg\fix.c
-# End Source File
-# Begin Source File
-
 SOURCE=libopenjpeg\image.c
 # End Source File
 # Begin Source File
 
-SOURCE=libopenjpeg\int.c
-# End Source File
-# Begin Source File
-
 SOURCE=libopenjpeg\j2k.c
 # End Source File
 # Begin Source File
index ed5a0866998f806ec12890fadd9e00f0fa9f9571..d8d9e4bc115a6736f08d6454fe6e485de60dd0a4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 VER_MAJOR = 1
 VER_MINOR = 0.0
 
-SRCS = ./libopenjpeg/bio.c ./libopenjpeg/cio.c ./libopenjpeg/dwt.c ./libopenjpeg/event.c ./libopenjpeg/fix.c ./libopenjpeg/image.c ./libopenjpeg/int.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 = ./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
 
index ba2239b9e139f51af6dba6b1cac89e7ab1fd6d4b..2f44ff5aedb3f0ce086b0a4331fedbb2ec77dd11 100644 (file)
@@ -3,7 +3,7 @@
 VER_MAJOR = 1
 VER_MINOR = 0.0
 
-SRCS = ./libopenjpeg/bio.c ./libopenjpeg/cio.c ./libopenjpeg/dwt.c ./libopenjpeg/event.c ./libopenjpeg/fix.c ./libopenjpeg/image.c ./libopenjpeg/int.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 = ./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
 
index 9200772e7a2c59d4c967e5474fbeab277634b7e0..1355b4ae95abcaeaf6fa8e3e6a4740cb693f55b8 100644 (file)
@@ -5,9 +5,7 @@ SET(OpenJPEG_SRCS
   cio.c
   dwt.c
   event.c
-  fix.c
   image.c
-  int.c
   j2k.c
   j2k_lib.c
   jp2.c
diff --git a/libopenjpeg/fix.c b/libopenjpeg/fix.c
deleted file mode 100644 (file)
index e9ba82b..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2001-2003, David Janssens
- * Copyright (c) 2002-2003, Yannick Verschueren
- * Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe
- * Copyright (c) 2005, HervĂ© Drolon, FreeImage Team
- * Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "fix.h"
-
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-#define int64 __int64
-#else
-#define int64 long long
-#endif
-
-int fix_mul(int a, int b) {
-    int64 temp = (int64) a * (int64) b >> 12;
-    return (int) ((temp >> 1) + (temp & 1)) ;
-}
-
-
-
index b5b62e67bef224f3084f277b50a91c57a341f3c9..9dd5839a62c28552fb39f2a2f608831174d1051f 100644 (file)
  */
 #ifndef __FIX_H
 #define __FIX_H
+
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+#define int64 __int64
+#else
+#define int64 long long
+#endif
+
 /**
 @file fix.h
 @brief Implementation of operations of specific multiplication (FIX)
 
-The functions in FIX.C have for goal to realize specific multiplication.
+The functions in FIX.H have for goal to realize specific multiplication.
 */
 
 /** @defgroup FIX FIX - Implementation of operations of specific multiplication */
@@ -45,7 +52,10 @@ Multiply two fixed-precision rational numbers.
 @param b
 @return Returns a * b
 */
-int fix_mul(int a, int b);
+INLINE int fix_mul(int a, int b) {
+    int64 temp = (int64) a * (int64) b >> 12;
+    return (int) ((temp >> 1) + (temp & 1)) ;
+}
 
 /*@}*/
 
diff --git a/libopenjpeg/int.c b/libopenjpeg/int.c
deleted file mode 100644 (file)
index a2e297e..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2001-2003, David Janssens
- * Copyright (c) 2002-2003, Yannick Verschueren
- * Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe
- * Copyright (c) 2005, HervĂ© Drolon, FreeImage Team
- * Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "opj_includes.h"
-
-int int_min(int a, int b) {
-       return a < b ? a : b;
-}
-
-int int_max(int a, int b) {
-       return (a > b) ? a : b;
-}
-
-int int_clamp(int a, int min, int max) {
-       if (a < min)
-               return min;
-       if (a > max)
-               return max;
-       return a;
-}
-
-int int_abs(int a) {
-       return a < 0 ? -a : a;
-}
-
-int int_ceildiv(int a, int b) {
-       return (a + b - 1) / b;
-}
-
-int int_ceildivpow2(int a, int b) {
-       return (a + (1 << b) - 1) >> b;
-}
-
-int int_floordivpow2(int a, int b) {
-       return a >> b;
-}
-
-int int_floorlog2(int a) {
-       int l;
-       for (l = 0; a > 1; l++) {
-               a >>= 1;
-       }
-       return l;
-}
-
index aff0905fb0bd4694e1aaff9440e9dadd1ac6a225..9d738685dd1154c72a2f6448c290675467d21764 100644 (file)
@@ -33,7 +33,7 @@
 @file int.h
 @brief Implementation of operations on integers (INT)
 
-The functions in INT.C have for goal to realize operations on integers.
+The functions in INT.H have for goal to realize operations on integers.
 */
 
 /** @defgroup INT INT - Implementation of operations on integers */
@@ -46,12 +46,16 @@ The functions in INT.C have for goal to realize operations on integers.
 Get the minimum of two integers
 @return Returns a if a < b else b
 */
-int int_min(int a, int b);
+INLINE int int_min(int a, int b) {
+       return a < b ? a : b;
+}
 /**
 Get the maximum of two integers
 @return Returns a if a > b else b
 */
-int int_max(int a, int b);
+INLINE int int_max(int a, int b) {
+       return (a > b) ? a : b;
+}
 /**
 Clamp an integer inside an interval
 @return
@@ -61,32 +65,51 @@ Clamp an integer inside an interval
 <li>Returns min if (a < min) 
 </ul>
 */
-int int_clamp(int a, int min, int max);
+INLINE int int_clamp(int a, int min, int max) {
+       if (a < min)
+               return min;
+       if (a > max)
+               return max;
+       return a;
+}
 /**
 @return Get absolute value of integer
 */
-int int_abs(int a);
+INLINE int int_abs(int a) {
+       return a < 0 ? -a : a;
+}
 /**
 Divide an integer and round upwards
 @return Returns a divided by b
 */
-int int_ceildiv(int a, int b);
+INLINE int int_ceildiv(int a, int b) {
+       return (a + b - 1) / b;
+}
 /**
 Divide an integer by a power of 2 and round upwards
 @return Returns a divided by 2^b
 */
-int int_ceildivpow2(int a, int b);
+INLINE int int_ceildivpow2(int a, int b) {
+       return (a + (1 << b) - 1) >> b;
+}
 /**
 Divide an integer by a power of 2 and round downwards
 @return Returns a divided by 2^b
 */
-int int_floordivpow2(int a, int b);
+INLINE int int_floordivpow2(int a, int b) {
+       return a >> b;
+}
 /**
 Get logarithm of an integer and round downwards
 @return Returns log2(a)
 */
-int int_floorlog2(int a);
-
+INLINE int int_floorlog2(int a) {
+       int l;
+       for (l = 0; a > 1; l++) {
+               a >>= 1;
+       }
+       return l;
+}
 /* ----------------------------------------------------------------------- */
 /*@}*/
 
index 565131eebaa48476a29ad1c9940940d7010b31b0..5cf64ba700f4830127b2e10c81d16565888b43a1 100644 (file)
  ==========================================================
 */
 
+/*
+The inline keyword is supported by C99 but not by C90. 
+Most compilers implement their own version of this keyword ... 
+*/
+#ifndef INLINE
+       #if defined(_MSC_VER)
+               #define INLINE __inline
+       #elif defined(__GNUC__)
+               #define INLINE __inline__
+       #elif defined(__MWERKS__)
+               #define INLINE inline
+       #else 
+               /* add other compilers here ... */
+               #define INLINE 
+       #endif /* defined(<Compiler>) */
+#endif /* INLINE */
+
 #include "j2k_lib.h"
 #include "event.h"
 #include "cio.h"