mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
SWCODEC & Coldfire: Do some more DSP straigntening out. Do as much Coldfire optimizing as seems reasonably possible by jumping through some hoops to avoid stalls. Further boost reduction will just be fractional points if taken to extremes-- not worth it. Wrap up the ASM for awhile.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12905 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
cd630c9e0a
commit
369c2a37b7
3 changed files with 469 additions and 370 deletions
|
@ -22,32 +22,61 @@
|
|||
#ifndef _DSP_ASM_H
|
||||
#define _DSP_ASM_H
|
||||
|
||||
/* Set the appropriate #defines based on CPU or whatever matters */
|
||||
#ifndef SIMULATOR
|
||||
|
||||
#if defined(CPU_COLDFIRE) || defined(CPU_ARM)
|
||||
#define DSP_HAVE_ASM_CROSSFEED
|
||||
void apply_crossfeed(int count, int32_t *buf[]);
|
||||
#if defined(CPU_ARM)
|
||||
#define DSP_HAVE_ASM_RESAMPLING
|
||||
int dsp_downsample(int count, struct dsp_data *data, int32_t *src[], int32_t *dst[]);
|
||||
int dsp_upsample(int count, struct dsp_data *data, int32_t *src[], int32_t *dst[]);
|
||||
#endif /* defined(CPU_COLDFIRE) || defined(CPU_ARM) */
|
||||
|
||||
#if defined (CPU_COLDFIRE)
|
||||
#define DSP_HAVE_ASM_CROSSFEED
|
||||
#elif defined (CPU_COLDFIRE)
|
||||
#define DSP_HAVE_ASM_APPLY_GAIN
|
||||
#define DSP_HAVE_ASM_RESAMPLING
|
||||
#define DSP_HAVE_ASM_CROSSFEED
|
||||
#define DSP_HAVE_ASM_SOUND_CHAN_MONO
|
||||
void channels_process_sound_chan_mono(int count, int32_t *buf[]);
|
||||
#define DSP_HAVE_ASM_SOUND_CHAN_CUSTOM
|
||||
void channels_process_sound_chan_custom(int count, int32_t *buf[]);
|
||||
#define DSP_HAVE_ASM_SOUND_CHAN_KARAOKE
|
||||
void channels_process_sound_chan_karaoke(int count, int32_t *buf[]);
|
||||
|
||||
#define DSP_HAVE_ASM_SAMPLE_OUTPUT_MONO
|
||||
void sample_output_mono(int count, struct dsp_data *data,
|
||||
int32_t *src[], int16_t *dst);
|
||||
#define DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO
|
||||
void sample_output_stereo(int count, struct dsp_data *data,
|
||||
int32_t *src[], int16_t *dst);
|
||||
#endif /* CPU_COLDFIRE */
|
||||
|
||||
#endif /* SIMULATOR */
|
||||
|
||||
/* Declare prototypes based upon what's #defined above */
|
||||
#ifdef DSP_HAVE_ASM_CROSSFEED
|
||||
void apply_crossfeed(int count, int32_t *buf[]);
|
||||
#endif
|
||||
|
||||
#ifdef DSP_HAVE_ASM_APPLY_GAIN
|
||||
void dsp_apply_gain(int count, struct dsp_data *data, int32_t *buf[]);
|
||||
#endif /* DSP_HAVE_ASM_APPLY_GAIN* */
|
||||
|
||||
#ifdef DSP_HAVE_ASM_RESAMPLING
|
||||
int dsp_upsample(int count, struct dsp_data *data,
|
||||
int32_t *src[], int32_t *dst[]);
|
||||
int dsp_downsample(int count, struct dsp_data *data,
|
||||
int32_t *src[], int32_t *dst[]);
|
||||
#endif /* DSP_HAVE_ASM_RESAMPLING */
|
||||
|
||||
#ifdef DSP_HAVE_ASM_SOUND_CHAN_MONO
|
||||
void channels_process_sound_chan_mono(int count, int32_t *buf[]);
|
||||
#endif
|
||||
|
||||
#ifdef DSP_HAVE_ASM_SOUND_CHAN_CUSTOM
|
||||
void channels_process_sound_chan_custom(int count, int32_t *buf[]);
|
||||
#endif
|
||||
|
||||
#ifdef DSP_HAVE_ASM_SOUND_CHAN_KARAOKE
|
||||
void channels_process_sound_chan_karaoke(int count, int32_t *buf[]);
|
||||
#endif
|
||||
|
||||
#ifdef DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO
|
||||
void sample_output_stereo(int count, struct dsp_data *data,
|
||||
int32_t *src[], int16_t *dst);
|
||||
#endif
|
||||
|
||||
#ifdef DSP_HAVE_ASM_SAMPLE_OUTPUT_MONO
|
||||
void sample_output_mono(int count, struct dsp_data *data,
|
||||
int32_t *src[], int16_t *dst);
|
||||
#endif
|
||||
|
||||
#endif /* _DSP_ASM_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue