changeset 808:1778eea266cb libavutil

Use macros instead of inline functions to replace the following missing C99 functions: exp2, exp2f, log2, log2f. Should fix compilation in systems where these functions are defined in math.h but not implemented.
author vitor
date Sat, 16 Jan 2010 01:27:46 +0000
parents 36cc11e07d9b
children e95247c85476
files internal.h
diffstat 1 files changed, 8 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/internal.h	Thu Jan 14 19:58:12 2010 +0000
+++ b/internal.h	Sat Jan 16 01:27:46 2010 +0000
@@ -264,17 +264,13 @@
 }
 
 #if !HAVE_EXP2
-static av_always_inline av_const double exp2(double x)
-{
-    return exp(x * 0.693147180559945);
-}
+#undef exp2
+#define exp2(x) exp((x) * 0.693147180559945)
 #endif /* HAVE_EXP2 */
 
 #if !HAVE_EXP2F
-static av_always_inline av_const float exp2f(float x)
-{
-    return exp2(x);
-}
+#undef exp2f
+#define exp2f(x) exp2(x)
 #endif /* HAVE_EXP2F */
 
 #if !HAVE_LLRINT
@@ -285,17 +281,13 @@
 #endif /* HAVE_LLRINT */
 
 #if !HAVE_LOG2
-static av_always_inline av_const double log2(double x)
-{
-    return log(x) * 1.44269504088896340736;
-}
+#undef log2
+#define log2(x) (log(x) * 1.44269504088896340736)
 #endif /* HAVE_LOG2 */
 
 #if !HAVE_LOG2F
-static av_always_inline av_const float log2f(float x)
-{
-    return log2(x);
-}
+#undef log2f
+#define log2f(x) log2(x)
 #endif /* HAVE_LOG2F */
 
 #if !HAVE_LRINT