From 0f10e898f0040e30f0a23719e67223744c47f90d Mon Sep 17 00:00:00 2001 From: Pedro Vasconcelos Date: Mon, 6 Jun 2005 23:01:51 +0000 Subject: Vorbis optimizations: allocation of PCM buffers in IRAM, avoiding copying. Slight code improvements to the MDCT functions. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6590 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/Tremor/codebook.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'apps/codecs/Tremor/codebook.c') diff --git a/apps/codecs/Tremor/codebook.c b/apps/codecs/Tremor/codebook.c index 4da7641553..f03b5efb04 100644 --- a/apps/codecs/Tremor/codebook.c +++ b/apps/codecs/Tremor/codebook.c @@ -140,7 +140,7 @@ int vorbis_staticbook_unpack(oggpack_buffer *opb,static_codebook *s){ be. The first-stage decode table catches most words so that bitreverse is not in the main execution path. */ -static ogg_uint32_t bitreverse(ogg_uint32_t x){ +static inline ogg_uint32_t bitreverse(register ogg_uint32_t x){ x= ((x>>16)&0x0000ffff) | ((x<<16)&0xffff0000); x= ((x>> 8)&0x00ff00ff) | ((x<< 8)&0xff00ff00); x= ((x>> 4)&0x0f0f0f0f) | ((x<< 4)&0xf0f0f0f0); @@ -265,12 +265,13 @@ long vorbis_book_decodev_add(codebook *book,ogg_int32_t *a, a[i++]+=t[j++]>>shift; } }else{ + shift = -shift; for(i=0;ivaluelist+entry*book->dim; for (j=0;jdim;) - a[i++]+=t[j++]<<-shift; + a[i++]+=t[j++]<valuelist+entry*book->dim; for (j=0;jdim;){ - a[i++]=t[j++]<<-shift; + a[i++]=t[j++]<valuelist+entry*book->dim; for (j=0;jdim;j++){ - a[chptr++][i]+=t[j]<<-shift; + a[chptr++][i]+=t[j]<