summaryrefslogtreecommitdiff
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
parent341fae73ca55715d82371156dfa11fb884e83d74 (diff)
downloadrockbox-f2ed7ffaaa7b6de9ba1c230a77d4a32caf3eee6e.tar.gz
rockbox-f2ed7ffaaa7b6de9ba1c230a77d4a32caf3eee6e.zip
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
-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 bce5c32a56..d950ffd46f 100644
--- a/apps/codecs/SOURCES
+++ b/apps/codecs/SOURCES
@@ -32,10 +32,7 @@ au.c
32vox.c 32vox.c
33wav64.c 33wav64.c
34tta.c 34tta.c
35
36#if MEMORYSIZE > 2
37wmapro.c 35wmapro.c
38#endif
39 36
40#ifdef HAVE_RECORDING 37#ifdef HAVE_RECORDING
41 38
diff --git a/apps/codecs/libwmapro/wmaprodec.c b/apps/codecs/libwmapro/wmaprodec.c
index e2dff46dc9..0b5caff2f2 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
156static int32_t g_tmp[WMAPRO_BLOCK_MAX_SIZE] IBSS_ATTR_WMAPRO_LARGE_IRAM; 156static int32_t g_tmp[WMAPRO_BLOCK_MAX_SIZE] IBSS_ATTR_WMAPRO_LARGE_IRAM;
157static int32_t g_out_ch0[WMAPRO_OUT_BUF_SIZE] IBSS_ATTR; 157static int32_t g_out_ch0[WMAPRO_OUT_BUF_SIZE] IBSS_ATTR;
158static int32_t g_out_ch1[WMAPRO_OUT_BUF_SIZE] IBSS_ATTR_WMAPRO_LARGE_IRAM; 158static int32_t g_out_ch1[WMAPRO_OUT_BUF_SIZE] IBSS_ATTR_WMAPRO_LARGE_IRAM;
159static int32_t g_out_multichannel[WMAPRO_MAX_CHANNELS-2][WMAPRO_OUT_BUF_SIZE]; 159#if MEMORYSIZE > 2
160 /* Enable multichannel for large-memory targets only */
161 static int32_t g_out_multichannel[WMAPRO_MAX_CHANNELS-2][WMAPRO_OUT_BUF_SIZE];
162# define MC_ENABLED
163#endif
160 164
161/** 165/**
162 * @brief frame specific decoder context for a single channel 166 * @brief frame specific decoder context for a single channel
@@ -301,8 +305,10 @@ int decode_init(asf_waveformatex_t *wfx)
301 /* Use globally defined arrays. Allows IRAM usage for up to 2 channels. */ 305 /* Use globally defined arrays. Allows IRAM usage for up to 2 channels. */
302 s->channel[0].out = g_out_ch0; 306 s->channel[0].out = g_out_ch0;
303 s->channel[1].out = g_out_ch1; 307 s->channel[1].out = g_out_ch1;
308#ifdef MC_ENABLED
304 for (i=2; i<WMAPRO_MAX_CHANNELS; ++i) 309 for (i=2; i<WMAPRO_MAX_CHANNELS; ++i)
305 s->channel[i].out = g_out_multichannel[i-2]; 310 s->channel[i].out = g_out_multichannel[i-2];
311#endif
306 312
307#if defined(CPU_COLDFIRE) 313#if defined(CPU_COLDFIRE)
308 coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE); 314 coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE);