summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
authorMohamed Tarek <mt@rockbox.org>2010-07-28 14:01:10 +0000
committerMohamed Tarek <mt@rockbox.org>2010-07-28 14:01:10 +0000
commitf2ed7ffaaa7b6de9ba1c230a77d4a32caf3eee6e (patch)
treec2f150cd5789cb4fea5878c3fa3bf56a7ef3f814 /apps/codecs
parent341fae73ca55715d82371156dfa11fb884e83d74 (diff)
downloadrockbox-f2ed7ffaaa7b6de9ba1c230a77d4a32caf3eee6e.zip
rockbox-f2ed7ffaaa7b6de9ba1c230a77d4a32caf3eee6e.tar.gz
rockbox-f2ed7ffaaa7b6de9ba1c230a77d4a32caf3eee6e.tar.bz2
rockbox-f2ed7ffaaa7b6de9ba1c230a77d4a32caf3eee6e.tar.xz
Enable wmapro compilation for lowmem targets by excluding multichannel buffers for them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27593 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/SOURCES3
-rw-r--r--apps/codecs/libwmapro/wmaprodec.c8
2 files changed, 7 insertions, 4 deletions
diff --git a/apps/codecs/SOURCES b/apps/codecs/SOURCES
index bce5c32..d950ffd 100644
--- a/apps/codecs/SOURCES
+++ b/apps/codecs/SOURCES
@@ -32,10 +32,7 @@ au.c
vox.c
wav64.c
tta.c
-
-#if MEMORYSIZE > 2
wmapro.c
-#endif
#ifdef HAVE_RECORDING
diff --git a/apps/codecs/libwmapro/wmaprodec.c b/apps/codecs/libwmapro/wmaprodec.c
index e2dff46..0b5caff 100644
--- a/apps/codecs/libwmapro/wmaprodec.c
+++ b/apps/codecs/libwmapro/wmaprodec.c
@@ -156,7 +156,11 @@ static VLC coef_vlc[2]; ///< coefficient run length vlc codes
static int32_t g_tmp[WMAPRO_BLOCK_MAX_SIZE] IBSS_ATTR_WMAPRO_LARGE_IRAM;
static int32_t g_out_ch0[WMAPRO_OUT_BUF_SIZE] IBSS_ATTR;
static int32_t g_out_ch1[WMAPRO_OUT_BUF_SIZE] IBSS_ATTR_WMAPRO_LARGE_IRAM;
-static int32_t g_out_multichannel[WMAPRO_MAX_CHANNELS-2][WMAPRO_OUT_BUF_SIZE];
+#if MEMORYSIZE > 2
+ /* Enable multichannel for large-memory targets only */
+ static int32_t g_out_multichannel[WMAPRO_MAX_CHANNELS-2][WMAPRO_OUT_BUF_SIZE];
+# define MC_ENABLED
+#endif
/**
* @brief frame specific decoder context for a single channel
@@ -301,8 +305,10 @@ int decode_init(asf_waveformatex_t *wfx)
/* Use globally defined arrays. Allows IRAM usage for up to 2 channels. */
s->channel[0].out = g_out_ch0;
s->channel[1].out = g_out_ch1;
+#ifdef MC_ENABLED
for (i=2; i<WMAPRO_MAX_CHANNELS; ++i)
s->channel[i].out = g_out_multichannel[i-2];
+#endif
#if defined(CPU_COLDFIRE)
coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE);