summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-02-05 20:22:12 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-02-05 20:22:12 +0000
commitae019419ffcc941a4933a484d19d8ffbc6072db8 (patch)
tree777e41ae134f0e75f9cf207492042ba28d016597 /apps/codecs/libfaad
parent8033cb6250c403f4b7c189c4aa4c085df145a044 (diff)
downloadrockbox-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.h12
-rw-r--r--apps/codecs/libfaad/sbr_dec.c4
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 */