From 685ca2672e5842fe185c8f12da6bf108fd8f074f Mon Sep 17 00:00:00 2001 From: Nils Wallménius Date: Sun, 29 Nov 2009 15:21:00 +0000 Subject: Use clz instruction to calculate integer logarithms, speeds up decoding of one flac 8 sample by 12%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23783 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libffmpegFLAC/golomb.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'apps/codecs/libffmpegFLAC/golomb.h') diff --git a/apps/codecs/libffmpegFLAC/golomb.h b/apps/codecs/libffmpegFLAC/golomb.h index 659ecc1579..11753fc4bb 100644 --- a/apps/codecs/libffmpegFLAC/golomb.h +++ b/apps/codecs/libffmpegFLAC/golomb.h @@ -21,6 +21,13 @@ #include +#if (defined(CPU_ARM) && (ARM_ARCH > 4)) +static inline int av_log2(uint32_t v) +{ + return 31 - __builtin_clz(v); +} +#else + /* From libavutil/common.h */ extern const uint8_t ff_log2_tab[256]; @@ -41,6 +48,7 @@ static inline int av_log2(unsigned int v) return n; } +#endif /** * @file golomb.h -- cgit v1.2.3