diff options
| author | Pedro Vasconcelos <pbv@rockbox.org> | 2005-05-27 09:14:00 +0000 |
|---|---|---|
| committer | Pedro Vasconcelos <pbv@rockbox.org> | 2005-05-27 09:14:00 +0000 |
| commit | 024db0a766f9590baea73babfefff278c28a5b2c (patch) | |
| tree | 27e5e27e056cd0b988c2e6af7e575fe974f88035 /apps/codecs/Tremor/window.c | |
| parent | 38413489305efad4f682534f92c5daa031f5440a (diff) | |
| download | rockbox-024db0a766f9590baea73babfefff278c28a5b2c.zip rockbox-024db0a766f9590baea73babfefff278c28a5b2c.tar.gz rockbox-024db0a766f9590baea73babfefff278c28a5b2c.tar.bz2 rockbox-024db0a766f9590baea73babfefff278c28a5b2c.tar.xz | |
Basic optimizations of the Vorbis decoder for the ihp-1x0.
Capable of real-time decoding with cpu freq at 120mhz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6527 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/Tremor/window.c')
| -rw-r--r-- | apps/codecs/Tremor/window.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/apps/codecs/Tremor/window.c b/apps/codecs/Tremor/window.c index b50e36f..b447ce5 100644 --- a/apps/codecs/Tremor/window.c +++ b/apps/codecs/Tremor/window.c @@ -56,7 +56,6 @@ const void *_vorbis_window(int type, int left){ void _vorbis_apply_window(ogg_int32_t *d,const void *window_p[2], long *blocksizes, int lW,int W,int nW){ - LOOKUP_T *window[2]={window_p[0],window_p[1]}; long n=blocksizes[W]; long ln=blocksizes[lW]; @@ -67,7 +66,14 @@ void _vorbis_apply_window(ogg_int32_t *d,const void *window_p[2], long rightbegin=n/2+n/4-rn/4; long rightend=rightbegin+rn/2; - + +#if CONFIG_CPU == MCF5249 + mcf5249_init_mac(); /* shouldn't be needed, but just in case */ + mcf5249_vect_zero(&d[0], leftbegin); + mcf5249_vect_mult_fw(&d[leftbegin], &window[lW][0], leftend-leftbegin); + mcf5249_vect_mult_bw(&d[rightbegin], &window[nW][rn/2-1], rightend-rightbegin); + mcf5249_vect_zero(&d[rightend], n-rightend); +#else int i,p; for(i=0;i<leftbegin;i++) @@ -81,4 +87,6 @@ void _vorbis_apply_window(ogg_int32_t *d,const void *window_p[2], for(;i<n;i++) d[i]=0; +#endif } + |