summaryrefslogtreecommitdiff
path: root/apps/codecs/libtremor/config-tremor.h
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2011-06-06 13:27:12 +0000
committerNils Wallménius <nils@rockbox.org>2011-06-06 13:27:12 +0000
commite62b9a9aaee94d18550a1788b910d023bc257a89 (patch)
tree3fb054717bdb0995ec5323cd178e7d65d7597b20 /apps/codecs/libtremor/config-tremor.h
parent684b74147f203662fb6767f65b4ca8fc9b8eeeac (diff)
downloadrockbox-e62b9a9aaee94d18550a1788b910d023bc257a89.tar.gz
rockbox-e62b9a9aaee94d18550a1788b910d023bc257a89.zip
libtremor: Implement a memory configuration for targets that don't use separate iram for codecs.
Such targets would previously default to using the configuration for targets with small iram which uses an extra memcpy per block. This saves 2MHz decoding a 128kbps vorbis file on the Gigabeat S and saves a bit of codec buffer. Patch from FS#11268, also replaces patch from FS#12147. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29976 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libtremor/config-tremor.h')
-rw-r--r--apps/codecs/libtremor/config-tremor.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/apps/codecs/libtremor/config-tremor.h b/apps/codecs/libtremor/config-tremor.h
index 2f93072d63..eba0fe0912 100644
--- a/apps/codecs/libtremor/config-tremor.h
+++ b/apps/codecs/libtremor/config-tremor.h
@@ -23,9 +23,13 @@
23#define ICODE_ATTR_TREMOR_NOT_MDCT ICODE_ATTR 23#define ICODE_ATTR_TREMOR_NOT_MDCT ICODE_ATTR
24#endif 24#endif
25 25
26/* Enable special handling of buffers in faster ram, not usefull when no
27 such different ram is available. There are 3 different memory configurations
28 * No special iram, uses double buffers to avoid copying data
29 * Small special iram, copies buffers to run hottest processing in iram
30 * Large iram, uses double buffers in iram */
26#ifdef USE_IRAM 31#ifdef USE_IRAM
27#define TREMOR_USE_IRAM 32#define TREMOR_USE_IRAM
28#endif
29 33
30/* Define CPU of large IRAM (PP5022/5024, MCF5250) */ 34/* Define CPU of large IRAM (PP5022/5024, MCF5250) */
31#if (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || defined(CPU_S5L870X) || (CONFIG_CPU == MCF5250) 35#if (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || defined(CPU_S5L870X) || (CONFIG_CPU == MCF5250)
@@ -34,13 +38,14 @@
34 * TOTAL : 41984 */ 38 * TOTAL : 41984 */
35#define IRAM_IBSS_SIZE 41984 39#define IRAM_IBSS_SIZE 41984
36 40
37/* Define CPU of Normal IRAM (96KB) (and SIM also) */ 41/* Define CPU of Normal IRAM (96KB) */
38#else 42#else
39/* PCM_BUFFER : 16384 Byte (2048*2*4) * 43/* PCM_BUFFER : 16384 Byte (2048*2*4) *
40 * WINDOW_LOOKUP : 4608 Byte (128*4 + 1024*4) * 44 * WINDOW_LOOKUP : 4608 Byte (128*4 + 1024*4) *
41 * TOTAL : 20992 */ 45 * TOTAL : 20992 */
42#define IRAM_IBSS_SIZE 20992 46#define IRAM_IBSS_SIZE 20992
43#endif 47#endif
48#endif
44 49
45/* max 2 channels */ 50/* max 2 channels */
46#define CHANNELS 2 51#define CHANNELS 2