Move ARM assembler of musepack synthesis filter to own file. Additionally add ICONST_...
[kugel-rb.git] / apps / dsp_asm.h
blob9c40dee8b312907fc326180524fbff5fbd93d867
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 #define DSP_HAVE_ASM_SOUND_CHAN_MONO
30 #define DSP_HAVE_ASM_SOUND_CHAN_KARAOKE
31 #define DSP_HAVE_ASM_SAMPLE_OUTPUT_MONO
32 #define DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO
33 #elif defined (CPU_COLDFIRE)
34 #define DSP_HAVE_ASM_APPLY_GAIN
35 #define DSP_HAVE_ASM_RESAMPLING
36 #define DSP_HAVE_ASM_CROSSFEED
37 #define DSP_HAVE_ASM_SOUND_CHAN_MONO
38 #define DSP_HAVE_ASM_SOUND_CHAN_CUSTOM
39 #define DSP_HAVE_ASM_SOUND_CHAN_KARAOKE
40 #define DSP_HAVE_ASM_SAMPLE_OUTPUT_MONO
41 #define DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO
42 #endif /* CPU_COLDFIRE */
44 /* Declare prototypes based upon what's #defined above */
45 #ifdef DSP_HAVE_ASM_CROSSFEED
46 void apply_crossfeed(int count, int32_t *buf[]);
47 #endif
49 #ifdef DSP_HAVE_ASM_APPLY_GAIN
50 void dsp_apply_gain(int count, struct dsp_data *data, int32_t *buf[]);
51 #endif /* DSP_HAVE_ASM_APPLY_GAIN* */
53 #ifdef DSP_HAVE_ASM_RESAMPLING
54 int dsp_upsample(int count, struct dsp_data *data,
55 int32_t *src[], int32_t *dst[]);
56 int dsp_downsample(int count, struct dsp_data *data,
57 int32_t *src[], int32_t *dst[]);
58 #endif /* DSP_HAVE_ASM_RESAMPLING */
60 #ifdef DSP_HAVE_ASM_SOUND_CHAN_MONO
61 void channels_process_sound_chan_mono(int count, int32_t *buf[]);
62 #endif
64 #ifdef DSP_HAVE_ASM_SOUND_CHAN_CUSTOM
65 void channels_process_sound_chan_custom(int count, int32_t *buf[]);
66 #endif
68 #ifdef DSP_HAVE_ASM_SOUND_CHAN_KARAOKE
69 void channels_process_sound_chan_karaoke(int count, int32_t *buf[]);
70 #endif
72 #ifdef DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO
73 void sample_output_stereo(int count, struct dsp_data *data,
74 int32_t *src[], int16_t *dst);
75 #endif
77 #ifdef DSP_HAVE_ASM_SAMPLE_OUTPUT_MONO
78 void sample_output_mono(int count, struct dsp_data *data,
79 int32_t *src[], int16_t *dst);
80 #endif
82 #endif /* _DSP_ASM_H */