diff options
| author | Nils Wallménius <nils@rockbox.org> | 2010-10-16 09:58:21 +0000 |
|---|---|---|
| committer | Nils Wallménius <nils@rockbox.org> | 2010-10-16 09:58:21 +0000 |
| commit | c1bfe4eb620afb2ac0d9a8baef706f8fc1a4b00f (patch) | |
| tree | 3b4b5077329e2f4c958e4bc9ed2fd32f4cf9761f /apps/codecs | |
| parent | 055071195ccfd03dd673424f1e5d28a72cb4c464 (diff) | |
| download | rockbox-c1bfe4eb620afb2ac0d9a8baef706f8fc1a4b00f.zip rockbox-c1bfe4eb620afb2ac0d9a8baef706f8fc1a4b00f.tar.gz rockbox-c1bfe4eb620afb2ac0d9a8baef706f8fc1a4b00f.tar.bz2 rockbox-c1bfe4eb620afb2ac0d9a8baef706f8fc1a4b00f.tar.xz | |
libtremor: tiny optimization 0.5%-1.5% on coldfire and PP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28285 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
| -rw-r--r-- | apps/codecs/libtremor/codebook.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/apps/codecs/libtremor/codebook.c b/apps/codecs/libtremor/codebook.c index 772a81c..b27c2e3 100644 --- a/apps/codecs/libtremor/codebook.c +++ b/apps/codecs/libtremor/codebook.c @@ -277,6 +277,7 @@ static long decode_packed_block(codebook *book, oggpack_buffer *b, long *buf, int n){ long *bufptr = buf; long *bufend = buf + n; + const unsigned int cachemask = (1<<book->dec_firsttablen)-1; while (bufptr<bufend) { if (b->headend > 8) { @@ -302,7 +303,7 @@ static long decode_packed_block(codebook *book, oggpack_buffer *b, bit+=32; } - ogg_int32_t entry = book->dec_firsttable[cache&((1<<book->dec_firsttablen)-1)]; + ogg_int32_t entry = book->dec_firsttable[cache&cachemask]; if(UNLIKELY(entry < 0)){ const long lo = (entry>>15)&0x7fff, hi = book->used_entries-(entry&0x7fff); entry = bisect_codelist(lo, hi, cache, book->codelist); |