MJ2 codec restructuration. Movec compat directory to MJ2_codec
[openjpeg.git] / libopenjpeg / fix.h
index b5b62e67bef224f3084f277b50a91c57a341f3c9..85575cbcee9f2caff698e434c3d13253229253d5 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);
+static INLINE int fix_mul(int a, int b) {
+    int64 temp = (int64) a * (int64) b >> 12;
+    return (int) ((temp >> 1) + (temp & 1)) ;
+}
 
 /*@}*/