From 7b054efa0be8dbc209c351610fd8152b4de89f99 Mon Sep 17 00:00:00 2001 From: Andree Buschmann Date: Mon, 16 May 2011 21:47:13 +0000 Subject: FS#12117: Use more IRAM for atrac3. Speeds up decoding from 1-2% (PP5022, PP5024, S5L870x) to 11% (MCF5250). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29892 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libatrac/atrac3.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'apps/codecs/libatrac/atrac3.c') diff --git a/apps/codecs/libatrac/atrac3.c b/apps/codecs/libatrac/atrac3.c index be41df5aad..711537fa96 100644 --- a/apps/codecs/libatrac/atrac3.c +++ b/apps/codecs/libatrac/atrac3.c @@ -60,12 +60,15 @@ #define QMFWIN_TYPE int32_t #endif -static VLC spectral_coeff_tab[7]; +static VLC spectral_coeff_tab[7] IBSS_ATTR_LARGE_IRAM; static QMFWIN_TYPE qmf_window[48] IBSS_ATTR MEM_ALIGN_ATTR; static int32_t atrac3_spectrum [2][1024] IBSS_ATTR MEM_ALIGN_ATTR; static int32_t atrac3_IMDCT_buf[2][ 512] IBSS_ATTR MEM_ALIGN_ATTR; static int32_t atrac3_prevFrame[2][1024] IBSS_ATTR MEM_ALIGN_ATTR; -static channel_unit channel_units[2] IBSS_ATTR_LARGE_IRAM; +static channel_unit channel_units[2] IBSS_ATTR_LARGE_IRAM; +static VLC_TYPE atrac3_vlc_table[4096][2] IBSS_ATTR_LARGE_IRAM; +static int vlcs_initialized = 0; + /** @@ -1153,13 +1156,11 @@ int atrac3_decode_frame(unsigned long block_align, ATRAC3Context *q, * Atrac3 initialization * * @param rmctx pointer to the RMContext - */ + */ int atrac3_decode_init(ATRAC3Context *q, struct mp3entry *id3) { int i; uint8_t *edata_ptr = (uint8_t*)&id3->id3v2buf; - static VLC_TYPE atrac3_vlc_table[4096][2]; - static int vlcs_initialized = 0; #if defined(CPU_COLDFIRE) coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE); -- cgit v1.2.3