diff options
author | Nils Wallménius <nils@rockbox.org> | 2009-12-05 16:47:43 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2009-12-05 16:47:43 +0000 |
commit | b9d7f98f8c5653c9b5d945655cc64934da596142 (patch) | |
tree | 0a25d85df5377aa053287cdc53af6957ab140adf /apps/codecs/lib/codeclib.c | |
parent | 0651fe572b8fe1eb5457325f81a8c9986e479ef6 (diff) | |
download | rockbox-b9d7f98f8c5653c9b5d945655cc64934da596142.tar.gz rockbox-b9d7f98f8c5653c9b5d945655cc64934da596142.zip |
Move av_log2 function and asociated table to the codec lib, remove 3 identical implementations, always have LUT in iram (gives a *tiny* speedup on coldfire), make the clz based function return the same value as the non clz based function for 0 input to be safe (slows down flac ~2% on the gigabeat S)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23858 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/lib/codeclib.c')
-rw-r--r-- | apps/codecs/lib/codeclib.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/apps/codecs/lib/codeclib.c b/apps/codecs/lib/codeclib.c index 8cc40894e3..1c624e0f8c 100644 --- a/apps/codecs/lib/codeclib.c +++ b/apps/codecs/lib/codeclib.c | |||
@@ -138,6 +138,18 @@ void qsort(void *base, size_t nmemb, size_t size, | |||
138 | ci->qsort(base,nmemb,size,compar); | 138 | ci->qsort(base,nmemb,size,compar); |
139 | } | 139 | } |
140 | 140 | ||
141 | /* From ffmpeg - libavutil/common.h */ | ||
142 | const uint8_t ff_log2_tab[256] ICONST_ATTR = { | ||
143 | 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, | ||
144 | 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | ||
145 | 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, | ||
146 | 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, | ||
147 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, | ||
148 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, | ||
149 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, | ||
150 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 | ||
151 | }; | ||
152 | |||
141 | #ifdef RB_PROFILE | 153 | #ifdef RB_PROFILE |
142 | void __cyg_profile_func_enter(void *this_fn, void *call_site) { | 154 | void __cyg_profile_func_enter(void *this_fn, void *call_site) { |
143 | #ifdef CPU_COLDFIRE | 155 | #ifdef CPU_COLDFIRE |