summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad/sbr_dec.c
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2005-10-31 20:33:27 +0000
committerDave Chapman <dave@dchapman.com>2005-10-31 20:33:27 +0000
commit798a4f3533cc63be2b313797bd4be5d53bda8fb9 (patch)
tree0e2b8bdeff50b3d0a1cbe73c591f97ef73179b65 /apps/codecs/libfaad/sbr_dec.c
parent65de1cc6af31f547bd36d320f09cbcc6e6975421 (diff)
downloadrockbox-798a4f3533cc63be2b313797bd4be5d53bda8fb9.zip
rockbox-798a4f3533cc63be2b313797bd4be5d53bda8fb9.tar.gz
rockbox-798a4f3533cc63be2b313797bd4be5d53bda8fb9.tar.bz2
rockbox-798a4f3533cc63be2b313797bd4be5d53bda8fb9.tar.xz
Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7700 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libfaad/sbr_dec.c')
-rw-r--r--apps/codecs/libfaad/sbr_dec.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/apps/codecs/libfaad/sbr_dec.c b/apps/codecs/libfaad/sbr_dec.c
index 04752d7..c18ea45 100644
--- a/apps/codecs/libfaad/sbr_dec.c
+++ b/apps/codecs/libfaad/sbr_dec.c
@@ -226,16 +226,17 @@ static void sbr_save_matrix(sbr_info *sbr, uint8_t ch)
}
}
+#ifdef SBR_LOW_POWER
+ ALIGN real_t deg[64];
+#endif
+
static void sbr_process_channel(sbr_info *sbr, real_t *channel_buf, qmf_t X[MAX_NTSR][64],
uint8_t ch, uint8_t dont_process,
const uint8_t downSampledSBR)
{
int16_t k, l;
-#ifdef SBR_LOW_POWER
- ALIGN real_t deg[64];
-#endif
-
+ (void)downSampledSBR;
#ifdef DRM
if (sbr->Is_DRM_SBR)
{
@@ -369,12 +370,12 @@ static void sbr_process_channel(sbr_info *sbr, real_t *channel_buf, qmf_t X[MAX_
}
}
+ALIGN qmf_t X[MAX_NTSR][64];
uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan,
const uint8_t just_seeked, const uint8_t downSampledSBR)
{
uint8_t dont_process = 0;
uint8_t ret = 0;
- ALIGN qmf_t X[MAX_NTSR][64];
if (sbr == NULL)
return 20;
@@ -452,12 +453,12 @@ uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_cha
return 0;
}
+ALIGN qmf_t X[MAX_NTSR][64];
uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel,
const uint8_t just_seeked, const uint8_t downSampledSBR)
{
uint8_t dont_process = 0;
uint8_t ret = 0;
- ALIGN qmf_t X[MAX_NTSR][64];
if (sbr == NULL)
return 20;
@@ -519,6 +520,10 @@ uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel,
return 0;
}
+
+ALIGN qmf_t X_left[38][64];// = {{0}};
+ALIGN qmf_t X_right[38][64];// = {{0}}; /* must set this to 0 */
+
#if (defined(PS_DEC) || defined(DRM_PS))
uint8_t sbrDecodeSingleFramePS(sbr_info *sbr, real_t *left_channel, real_t *right_channel,
const uint8_t just_seeked, const uint8_t downSampledSBR)
@@ -526,9 +531,9 @@ uint8_t sbrDecodeSingleFramePS(sbr_info *sbr, real_t *left_channel, real_t *righ
uint8_t l, k;
uint8_t dont_process = 0;
uint8_t ret = 0;
- ALIGN qmf_t X_left[38][64] = {{0}};
- ALIGN qmf_t X_right[38][64] = {{0}}; /* must set this to 0 */
+ memset(X_left,0,sizeof(X_left));
+ memset(X_right,0,sizeof(X_right));
if (sbr == NULL)
return 20;