diff options
| author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-02-05 20:22:12 +0000 |
|---|---|---|
| committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-02-05 20:22:12 +0000 |
| commit | ae019419ffcc941a4933a484d19d8ffbc6072db8 (patch) | |
| tree | 777e41ae134f0e75f9cf207492042ba28d016597 /apps/codecs/libfaad | |
| parent | 8033cb6250c403f4b7c189c4aa4c085df145a044 (diff) | |
| download | rockbox-ae019419ffcc941a4933a484d19d8ffbc6072db8.zip rockbox-ae019419ffcc941a4933a484d19d8ffbc6072db8.tar.gz rockbox-ae019419ffcc941a4933a484d19d8ffbc6072db8.tar.bz2 rockbox-ae019419ffcc941a4933a484d19d8ffbc6072db8.tar.xz | |
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
Diffstat (limited to 'apps/codecs/libfaad')
| -rw-r--r-- | apps/codecs/libfaad/common.h | 12 | ||||
| -rw-r--r-- | 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 109dfe6..9179a6e 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 4d9f9c4..6fe8846 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 */ |