From 49cd647548968bae1cc58de4018a2be155e0f6e4 Mon Sep 17 00:00:00 2001 From: Buschel Date: Sat, 5 Feb 2011 20:22:12 +0000 Subject: [PATCH] Use the very large IRAM of S5L870x to speed up AAC-HE by ~1-5%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29212 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libfaad/common.h | 12 +++++++++++- apps/codecs/libfaad/sbr_dec.c | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/codecs/libfaad/common.h b/apps/codecs/libfaad/common.h index 109dfe67c..9179a6e21 100644 --- a/apps/codecs/libfaad/common.h +++ b/apps/codecs/libfaad/common.h @@ -56,18 +56,28 @@ extern struct codec_api* ci; #define IBSS_ATTR_FAAD_LARGE_IRAM IBSS_ATTR #define ICODE_ATTR_FAAD_LARGE_IRAM #define ICONST_ATTR_FAAD_LARGE_IRAM ICONST_ATTR +#define IBSS_ATTR_FAAD_XLARGE_IRAM -#elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || defined(CPU_S5L870X) +#elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) /* Enough IRAM to move additional data and code to it. */ #define IBSS_ATTR_FAAD_LARGE_IRAM IBSS_ATTR #define ICODE_ATTR_FAAD_LARGE_IRAM ICODE_ATTR #define ICONST_ATTR_FAAD_LARGE_IRAM ICONST_ATTR +#define IBSS_ATTR_FAAD_XLARGE_IRAM + +#elif defined(CPU_S5L870X) +/* Very large IRAM. Move even more data to it. */ +#define IBSS_ATTR_FAAD_LARGE_IRAM IBSS_ATTR +#define ICODE_ATTR_FAAD_LARGE_IRAM ICODE_ATTR +#define ICONST_ATTR_FAAD_LARGE_IRAM ICONST_ATTR +#define IBSS_ATTR_FAAD_XLARGE_IRAM IBSS_ATTR #else /* Not enough IRAM available. */ #define IBSS_ATTR_FAAD_LARGE_IRAM #define ICODE_ATTR_FAAD_LARGE_IRAM #define ICONST_ATTR_FAAD_LARGE_IRAM +#define IBSS_ATTR_FAAD_XLARGE_IRAM #endif #define INLINE __inline diff --git a/apps/codecs/libfaad/sbr_dec.c b/apps/codecs/libfaad/sbr_dec.c index 4d9f9c4c4..6fe884639 100644 --- a/apps/codecs/libfaad/sbr_dec.c +++ b/apps/codecs/libfaad/sbr_dec.c @@ -43,8 +43,8 @@ /* globals */ -static qmf_t X_left [MAX_NTSRHFG][64] MEM_ALIGN_ATTR;// = {{0}}; -static qmf_t X_right[MAX_NTSRHFG][64] MEM_ALIGN_ATTR;// = {{0}}; /* must set this to 0 */ +static qmf_t X_left [MAX_NTSRHFG][64] IBSS_ATTR_FAAD_XLARGE_IRAM MEM_ALIGN_ATTR; +static qmf_t X_right[MAX_NTSRHFG][64] IBSS_ATTR_FAAD_XLARGE_IRAM MEM_ALIGN_ATTR; /* static function declarations */ -- 2.11.4.GIT