summaryrefslogtreecommitdiff
path: root/apps/dsp_asm.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-02-27 14:25:36 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-02-27 14:25:36 +0000
commit6fbdb912b0416d573dd2656310a5035063df3fe5 (patch)
tree8d478928169554bf5358c2686d657ada48cc705a /apps/dsp_asm.h
parent8ca99d3288e416e15b1d48d2b81ea9f8bb774425 (diff)
SWCODEC: Tighten up coldfire assembly a little bit more. Cleanup to make differing parameters between ARM and Coldfire halfway clean. Hopefully those differences can be reconciled soon. A tiny bit of C optimizing for karaoke channel mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12505 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/dsp_asm.h')
-rw-r--r--apps/dsp_asm.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/apps/dsp_asm.h b/apps/dsp_asm.h
index aaf7e666ec..a9e7fac6b0 100644
--- a/apps/dsp_asm.h
+++ b/apps/dsp_asm.h
@@ -22,10 +22,22 @@
#ifndef _DSP_ASM_H
#define _DSP_ASM_H
+#define ACF_SWITCHPARAM(count, buf) count, buf
+
+#ifndef SIMULATOR
+
#if defined(CPU_COLDFIRE) || defined(CPU_ARM)
#define DSP_HAVE_ASM_CROSSFEED
-void apply_crossfeed(int32_t *src[], int count);
+#if defined(CPU_COLDFIRE)
+/* ACF_SWITCHPARAM can be stripped out if all have the same parameter
+ order - DSP_CROSSFEED_DELAY_PTR if all use a pointer instead of index */
+#define DSP_CROSSFEED_DELAY_PTR
+#else
+#undef ACF_SWITCHPARAM
+#define ACF_SWITCHPARAM(count, buf) buf, count
#endif
+void apply_crossfeed(ACF_SWITCHPARAM(int count, int32_t *buf[]));
+#endif /* defined(CPU_COLDFIRE) || defined(CPU_ARM) */
#if defined (CPU_COLDFIRE)
#define DSP_HAVE_ASM_RESAMPLING
@@ -45,5 +57,8 @@ void sample_output_mono(int count, struct dsp_data *data,
#define DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO
void sample_output_stereo(int count, struct dsp_data *data,
int32_t *src[], int16_t *dst);
-#endif
+#endif /* CPU_COLDFIRE */
+
+#endif /* SIMULATOR */
+
#endif /* _DSP_ASM_H */