Commit 7bfda7d1 authored by Ganesh Ajjanagadde's avatar Ganesh Ajjanagadde Committed by Vittorio Giovara

intmath: add faster clz support

parent 5ff3b5ca
...@@ -44,6 +44,10 @@ ...@@ -44,6 +44,10 @@
# endif # endif
#endif /* ff_log2 */ #endif /* ff_log2 */
#ifndef ff_clz
# define ff_clz(v) __builtin_clz(v)
#endif /* ff_clz */
#endif /* AV_GCC_VERSION_AT_LEAST(3,4) */ #endif /* AV_GCC_VERSION_AT_LEAST(3,4) */
extern const uint8_t ff_log2_tab[256]; extern const uint8_t ff_log2_tab[256];
...@@ -132,6 +136,21 @@ static av_always_inline av_const int ff_ctz_c(int v) ...@@ -132,6 +136,21 @@ static av_always_inline av_const int ff_ctz_c(int v)
} }
#endif #endif
#ifndef ff_clz
#define ff_clz ff_clz_c
static av_always_inline av_const unsigned ff_clz_c(unsigned x)
{
unsigned i = sizeof(x) * 8;
while (x) {
x >>= 1;
i--;
}
return i;
}
#endif
/** /**
* Trailing zero bit count. * Trailing zero bit count.
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment