[FFmpeg-cvslog] r22366 - in trunk/libavutil: common.h intmath.h
mru
subversion
Tue Mar 9 02:19:29 CET 2010
Author: mru
Date: Tue Mar 9 02:19:28 2010
New Revision: 22366
Log:
Fix build on configurations without fast av_log2()
This is a bit hackish. I will try to think of something nicer, but
this will do for now.
Modified:
trunk/libavutil/common.h
trunk/libavutil/intmath.h
Modified: trunk/libavutil/common.h
==============================================================================
--- trunk/libavutil/common.h Tue Mar 9 02:03:42 2010 (r22365)
+++ trunk/libavutil/common.h Tue Mar 9 02:19:28 2010 (r22366)
@@ -36,11 +36,6 @@
#include <string.h>
#include "attributes.h"
-#ifdef HAVE_AV_CONFIG_H
-# include "config.h"
-# include "intmath.h"
-#endif
-
//rounded division & shift
#define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b))
/* assume b>0 */
@@ -62,8 +57,7 @@ extern const uint8_t ff_log2_tab[256];
extern const uint8_t av_reverse[256];
-#ifndef av_log2
-static inline av_const int av_log2(unsigned int v)
+static inline av_const int av_log2_c(unsigned int v)
{
int n = 0;
if (v & 0xffff0000) {
@@ -78,10 +72,8 @@ static inline av_const int av_log2(unsig
return n;
}
-#endif
-#ifndef av_log2_16bit
-static inline av_const int av_log2_16bit(unsigned int v)
+static inline av_const int av_log2_16bit_c(unsigned int v)
{
int n = 0;
if (v & 0xff00) {
@@ -92,6 +84,17 @@ static inline av_const int av_log2_16bit
return n;
}
+
+#ifdef HAVE_AV_CONFIG_H
+# include "config.h"
+# include "intmath.h"
+#endif
+
+#ifndef av_log2
+# define av_log2 av_log2_c
+#endif
+#ifndef av_log2_16bit
+# define av_log2_16bit av_log2_16bit_c
#endif
/**
Modified: trunk/libavutil/intmath.h
==============================================================================
--- trunk/libavutil/intmath.h Tue Mar 9 02:03:42 2010 (r22365)
+++ trunk/libavutil/intmath.h Tue Mar 9 02:19:28 2010 (r22366)
@@ -21,8 +21,9 @@
#ifndef AVUTIL_INTMATH_H
#define AVUTIL_INTMATH_H
+#include <stdint.h>
#include "config.h"
-#include "common.h"
+#include "attributes.h"
extern const uint32_t ff_inverse[257];
@@ -56,6 +57,22 @@ extern const uint32_t ff_inverse[257];
#endif /* FASTDIV */
+/*
+ * Get definition of av_log2_c from common.h. In the event we got
+ * here through common.h including this file, including it again will
+ * be a no-op due to multi-inclusion guards, so we must duplicate the
+ * fallback defines here.
+ */
+
+#include "common.h"
+
+#ifndef av_log2
+# define av_log2 av_log2_c
+#endif
+#ifndef av_log2_16bit
+# define av_log2_16bit av_log2_16bit_c
+#endif
+
extern const uint8_t ff_sqrt_tab[256];
static inline av_const unsigned int ff_sqrt(unsigned int a)
More information about the ffmpeg-cvslog
mailing list