diff --git a/libavutil/common.h b/libavutil/common.h index afce3c8a12..6862666617 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -90,12 +90,8 @@ static inline av_const int av_log2_16bit_c(unsigned int v) # 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 +/* Pull in unguarded fallback defines at the end of this file. */ +#include "common.h" /** * Clip a signed integer value into the amin-amax range. @@ -312,3 +308,15 @@ static inline av_const int av_ceil_log2(int x) #endif /* HAVE_AV_CONFIG_H */ #endif /* AVUTIL_COMMON_H */ + +/* + * The following definitions are outside the multiple inclusion guard + * to ensure they are immediately available in intmath.h. + */ + +#ifndef av_log2 +# define av_log2 av_log2_c +#endif +#ifndef av_log2_16bit +# define av_log2_16bit av_log2_16bit_c +#endif diff --git a/libavutil/intmath.h b/libavutil/intmath.h index 7ba3afb913..8b400ef054 100644 --- a/libavutil/intmath.h +++ b/libavutil/intmath.h @@ -52,22 +52,8 @@ extern const uint32_t ff_inverse[257]; # endif #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)