21 #ifndef AVUTIL_INTMATH_H
22 #define AVUTIL_INTMATH_H
41 #if HAVE_FAST_CLZ && AV_GCC_VERSION_AT_LEAST(3,4)
44 # define av_log2(x) (31 - __builtin_clz((x)|1))
45 # ifndef av_log2_16bit
46 # define av_log2_16bit av_log2
54 # define FASTDIV(a,b) ((uint32_t)((((uint64_t)a) * ff_inverse[b]) >> 32))
56 # define FASTDIV(a,b) ((a) / (b))
69 else if (a < (1 << 12)) b =
ff_sqrt_tab[a >> 4] >> 2;
71 else if (a < (1 << 14)) b =
ff_sqrt_tab[a >> 6] >> 1;
75 int s = av_log2_16bit(a >> 16) >> 1;
76 unsigned int c = a >> (s + 2);
81 return b - (a < b *
b);
Macro definitions for various function/variable attributes.
static av_const unsigned int ff_sqrt(unsigned int a)
const uint8_t ff_sqrt_tab[256]
const uint32_t ff_inverse[257]
common internal and external API header