diff options
| author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-05-16 21:31:59 +0000 |
|---|---|---|
| committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-05-16 21:31:59 +0000 |
| commit | 22c9b6ef8e1e1f4354ff0fc445990512175a1649 (patch) | |
| tree | 5389bf2dc5ca9cb3b440f9c58854020accb4ac98 /apps/codecs/libmusepack/mpcdec.h | |
| parent | e8c79d65e18be1eb1ddc8a0e32a04c17dbc73459 (diff) | |
| download | rockbox-22c9b6ef8e1e1f4354ff0fc445990512175a1649.zip rockbox-22c9b6ef8e1e1f4354ff0fc445990512175a1649.tar.gz rockbox-22c9b6ef8e1e1f4354ff0fc445990512175a1649.tar.bz2 rockbox-22c9b6ef8e1e1f4354ff0fc445990512175a1649.tar.xz | |
Use more IRAM for mpc on S5L870x. Speed up decoding by ~2%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29891 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libmusepack/mpcdec.h')
| -rw-r--r-- | apps/codecs/libmusepack/mpcdec.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/apps/codecs/libmusepack/mpcdec.h b/apps/codecs/libmusepack/mpcdec.h index d4c3bd2..68754dc 100644 --- a/apps/codecs/libmusepack/mpcdec.h +++ b/apps/codecs/libmusepack/mpcdec.h @@ -52,23 +52,42 @@ extern "C" { #define IBSS_ATTR_MPC_LARGE_IRAM IBSS_ATTR #define ICODE_ATTR_MPC_LARGE_IRAM #define ICONST_ATTR_MPC_LARGE_IRAM ICONST_ATTR +/* Does not fit into IRAM. */ +#define IBSS_ATTR_MPC_BITBUFFER +#define ICODE_ATTR_MPC_SV8_BS_DEC /* Keep the data arrays of bitsreadr.c in IRAM. */ #define ICONST_ATTR_MPC_BITSREADER ICONST_ATTR -#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_MPC_LARGE_IRAM IBSS_ATTR #define ICODE_ATTR_MPC_LARGE_IRAM ICODE_ATTR #define ICONST_ATTR_MPC_LARGE_IRAM ICONST_ATTR +/* Does not fit into IRAM. */ +#define IBSS_ATTR_MPC_BITBUFFER +#define ICODE_ATTR_MPC_SV8_BS_DEC /* Not putting the data arrays of bitsreader.c to IRAM allows to move the * sv7/sv8 bitstream demuxing into IRAM. This config is faster. */ #define ICONST_ATTR_MPC_BITSREADER +#elif defined(CPU_S5L870X) +/* Enough IRAM to move additional data and code to it. */ +#define IBSS_ATTR_MPC_LARGE_IRAM IBSS_ATTR +#define ICODE_ATTR_MPC_LARGE_IRAM ICODE_ATTR +#define ICONST_ATTR_MPC_LARGE_IRAM ICONST_ATTR +/* Faster when moved to IRAM. */ +#define IBSS_ATTR_MPC_BITBUFFER IBSS_ATTR +#define ICODE_ATTR_MPC_SV8_BS_DEC ICODE_ATTR +/* Not faster when moved to IRAM. */ +#define ICONST_ATTR_MPC_BITSREADER + #else /* Not enough IRAM available. */ #define IBSS_ATTR_MPC_LARGE_IRAM #define ICODE_ATTR_MPC_LARGE_IRAM #define ICONST_ATTR_MPC_LARGE_IRAM +#define IBSS_ATTR_MPC_BITBUFFER +#define ICODE_ATTR_MPC_SV8_BS_DEC #define ICONST_ATTR_MPC_BITSREADER #endif |