summaryrefslogtreecommitdiffstats
path: root/sbc/sbc.c
diff options
context:
space:
mode:
authorBrad Midgley <bmidgley@xmission.com>2008-01-28 17:48:21 +0000
committerBrad Midgley <bmidgley@xmission.com>2008-01-28 17:48:21 +0000
commit358888c52324aadb2d9814f2f5df5183706f70f7 (patch)
tree3f9a618448f0e2b39945be5b69fe5d41610792e3 /sbc/sbc.c
parent05a6e1afb3b0111e8fafcb8ca2d1ca8674390c11 (diff)
change function signature so the arm optimization will work
Diffstat (limited to 'sbc/sbc.c')
-rw-r--r--sbc/sbc.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sbc/sbc.c b/sbc/sbc.c
index 97614fb9..7d57b283 100644
--- a/sbc/sbc.c
+++ b/sbc/sbc.c
@@ -708,10 +708,15 @@ static void sbc_encoder_init(struct sbc_encoder_state *state,
state->position[0] = state->position[1] = 9 * frame->subbands;
}
-
+#ifdef __arm__
+void _sbc_analyze_four(const int16_t *in, int32_t *out)
+{
+ sbc_extended_t register res asm("r4");
+#else
static inline void _sbc_analyze_four(const int16_t *in, int32_t *out)
{
sbc_extended_t res;
+#endif
sbc_fixed_t t[8];
sbc_extended_t s[5];
@@ -794,9 +799,15 @@ static inline void sbc_analyze_four(struct sbc_encoder_state *state,
state->position[ch] = 36;
}
+#ifdef __arm__
+void _sbc_analyze_eight(const int16_t *in, int32_t *out)
+{
+ sbc_extended_t register res asm("r4");
+#else
static inline void _sbc_analyze_eight(const int16_t *in, int32_t *out)
{
sbc_extended_t res;
+#endif
sbc_fixed_t t[8];
sbc_extended_t s[8];