summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h
diff options
context:
space:
mode:
authorCástor Muñoz <cmvidal@gmail.com>2017-01-13 20:51:07 +0100
committerFranklin Wei <git@fwei.tk>2018-07-30 18:50:27 -0400
commit744274220833e017f3cc3f1b61abd0fc7c3885ec (patch)
tree7b6fcdd7bc9e53bee6f62ed683ddf1db4c0c13ad /lib/rbcodec/codecs/libffmpegFLAC/bitstream.h
parent8f38f85fbde2ae78ba50cf9b9f54fbf9d25b4a45 (diff)
downloadrockbox-744274220833e017f3cc3f1b61abd0fc7c3885ec.tar.gz
rockbox-744274220833e017f3cc3f1b61abd0fc7c3885ec.zip
iPod Classic: disable IRAM1
On Classic, IRAM1 (second 128Kb of a total of 256KB available IRAM) is slower than DRAM. Codecs that actually are using regions of IRAM1 runs faster when DRAM is used, so IRAM1 is disabled and only IRAM0 remains enabled: 48KB for core and 80KB for codecs/plugins. The next test_codec results shows how decode time is decreased: file boosted unboosted *.ra ~1.5% ~0.5% *.mpc ~21% ~4.5% *.ogg ~0.5% ~0% nero_he*.m4a ~8% ~1% nero*.m4a ~25% ~7% wmapro*.wma ~4.5% ~0% wma*.wma ~25% ~7% In addition there is a small power save when IRAM1 HW is disabled. Change-Id: I102adee11458e82037f23076d5d5956e23235de8
Diffstat (limited to 'lib/rbcodec/codecs/libffmpegFLAC/bitstream.h')
-rw-r--r--lib/rbcodec/codecs/libffmpegFLAC/bitstream.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h b/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h
index 2ec54c42fa..cd9589de40 100644
--- a/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h
+++ b/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h
@@ -18,14 +18,15 @@
18 #define ICODE_ATTR 18 #define ICODE_ATTR
19#endif 19#endif
20 20
21#if (CONFIG_CPU == MCF5250) || (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) 21#if (CONFIG_CPU == MCF5250) || (CONFIG_CPU == PP5022) || \
22 (CONFIG_CPU == PP5024) || (CONFIG_CPU == S5L8702)
22#define ICODE_ATTR_FLAC ICODE_ATTR 23#define ICODE_ATTR_FLAC ICODE_ATTR
23#define IBSS_ATTR_FLAC IBSS_ATTR 24#define IBSS_ATTR_FLAC IBSS_ATTR
24/* Enough IRAM to move additional data to it. */ 25/* Enough IRAM to move additional data to it. */
25#define IBSS_ATTR_FLAC_LARGE_IRAM IBSS_ATTR 26#define IBSS_ATTR_FLAC_LARGE_IRAM IBSS_ATTR
26#define IBSS_ATTR_FLAC_XLARGE_IRAM 27#define IBSS_ATTR_FLAC_XLARGE_IRAM
27 28
28#elif defined(CPU_S5L870X) 29#elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701)
29#define ICODE_ATTR_FLAC ICODE_ATTR 30#define ICODE_ATTR_FLAC ICODE_ATTR
30#define IBSS_ATTR_FLAC IBSS_ATTR 31#define IBSS_ATTR_FLAC IBSS_ATTR
31/* Enough IRAM to move even more additional data to it. */ 32/* Enough IRAM to move even more additional data to it. */