Forgot to add a file as usual.
[Rockbox.git] / apps / dsp_asm.h
blob02307dbd8986327a4745bc23e838d52ecf9e0de2
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2006 Thom Johansen
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
20 #include <config.h>
22 #ifndef _DSP_ASM_H
23 #define _DSP_ASM_H
25 /* Set the appropriate #defines based on CPU or whatever matters */
26 #if defined(CPU_ARM)
27 #define DSP_HAVE_ASM_RESAMPLING
28 #define DSP_HAVE_ASM_CROSSFEED
29 #elif defined (CPU_COLDFIRE)
30 #define DSP_HAVE_ASM_APPLY_GAIN
31 #define DSP_HAVE_ASM_RESAMPLING
32 #define DSP_HAVE_ASM_CROSSFEED
33 #define DSP_HAVE_ASM_SOUND_CHAN_MONO
34 #define DSP_HAVE_ASM_SOUND_CHAN_CUSTOM
35 #define DSP_HAVE_ASM_SOUND_CHAN_KARAOKE
36 #define DSP_HAVE_ASM_SAMPLE_OUTPUT_MONO
37 #define DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO
38 #endif /* CPU_COLDFIRE */
40 /* Declare prototypes based upon what's #defined above */
41 #ifdef DSP_HAVE_ASM_CROSSFEED
42 void apply_crossfeed(int count, int32_t *buf[]);
43 #endif
45 #ifdef DSP_HAVE_ASM_APPLY_GAIN
46 void dsp_apply_gain(int count, struct dsp_data *data, int32_t *buf[]);
47 #endif /* DSP_HAVE_ASM_APPLY_GAIN* */
49 #ifdef DSP_HAVE_ASM_RESAMPLING
50 int dsp_upsample(int count, struct dsp_data *data,
51 int32_t *src[], int32_t *dst[]);
52 int dsp_downsample(int count, struct dsp_data *data,
53 int32_t *src[], int32_t *dst[]);
54 #endif /* DSP_HAVE_ASM_RESAMPLING */
56 #ifdef DSP_HAVE_ASM_SOUND_CHAN_MONO
57 void channels_process_sound_chan_mono(int count, int32_t *buf[]);
58 #endif
60 #ifdef DSP_HAVE_ASM_SOUND_CHAN_CUSTOM
61 void channels_process_sound_chan_custom(int count, int32_t *buf[]);
62 #endif
64 #ifdef DSP_HAVE_ASM_SOUND_CHAN_KARAOKE
65 void channels_process_sound_chan_karaoke(int count, int32_t *buf[]);
66 #endif
68 #ifdef DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO
69 void sample_output_stereo(int count, struct dsp_data *data,
70 int32_t *src[], int16_t *dst);
71 #endif
73 #ifdef DSP_HAVE_ASM_SAMPLE_OUTPUT_MONO
74 void sample_output_mono(int count, struct dsp_data *data,
75 int32_t *src[], int16_t *dst);
76 #endif
78 #endif /* _DSP_ASM_H */