mirror of https://github.com/thesofproject/sof.git
audio_stream: eq_fir: eq_iir: src: Remove audio_stream_copy_s16/s32()
Those functions do nothing more than audio_stream_copy(), so after change source code will be little shorter without overhelming pass-through function switch in processing components. Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
This commit is contained in:
parent
7cfd2187c5
commit
814dc46075
|
@ -167,59 +167,16 @@ static inline int set_fir_func(struct comp_dev *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Pass-through function to replace FIR core while not configured for
|
||||
/* Pass-through functions to replace FIR core while not configured for
|
||||
* response.
|
||||
*/
|
||||
|
||||
#if CONFIG_FORMAT_S16LE
|
||||
static void eq_fir_s16_passthrough(struct fir_state_32x16 fir[],
|
||||
const struct audio_stream *source,
|
||||
struct audio_stream *sink,
|
||||
int frames, int nch)
|
||||
static void eq_fir_passthrough(struct fir_state_32x16 fir[],
|
||||
const struct audio_stream *source,
|
||||
struct audio_stream *sink,
|
||||
int frames, int nch)
|
||||
{
|
||||
audio_stream_copy_s16(source, 0, sink, 0, frames * nch);
|
||||
}
|
||||
#endif /* CONFIG_FORMAT_S16LE */
|
||||
|
||||
#if CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE
|
||||
static void eq_fir_s32_passthrough(struct fir_state_32x16 fir[],
|
||||
const struct audio_stream *source,
|
||||
struct audio_stream *sink,
|
||||
int frames, int nch)
|
||||
{
|
||||
audio_stream_copy_s32(source, 0, sink, 0, frames * nch);
|
||||
}
|
||||
#endif /* CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE */
|
||||
|
||||
/* Function to select pass-trough depending on PCM format */
|
||||
|
||||
static inline int set_pass_func(struct comp_dev *dev)
|
||||
{
|
||||
struct comp_data *cd = comp_get_drvdata(dev);
|
||||
struct comp_buffer *sourceb;
|
||||
|
||||
sourceb = list_first_item(&dev->bsource_list, struct comp_buffer,
|
||||
sink_list);
|
||||
|
||||
switch (sourceb->stream.frame_fmt) {
|
||||
#if CONFIG_FORMAT_S16LE
|
||||
case SOF_IPC_FRAME_S16_LE:
|
||||
comp_info(dev, "set_pass_func(), SOF_IPC_FRAME_S16_LE");
|
||||
cd->eq_fir_func = eq_fir_s16_passthrough;
|
||||
break;
|
||||
#endif /* CONFIG_FORMAT_S32LE */
|
||||
#if CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE
|
||||
case SOF_IPC_FRAME_S24_4LE:
|
||||
case SOF_IPC_FRAME_S32_LE:
|
||||
comp_info(dev, "set_pass_func(), SOF_IPC_FRAME_S32_LE");
|
||||
cd->eq_fir_func = eq_fir_s32_passthrough;
|
||||
break;
|
||||
#endif /* CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE */
|
||||
default:
|
||||
comp_err(dev, "set_pass_func(): invalid dev->params.frame_fmt");
|
||||
return -EINVAL;
|
||||
}
|
||||
return 0;
|
||||
audio_stream_copy(source, 0, sink, 0, frames * nch);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -780,7 +737,8 @@ static int eq_fir_prepare(struct comp_dev *dev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
ret = set_pass_func(dev);
|
||||
cd->eq_fir_func = eq_fir_passthrough;
|
||||
|
||||
return ret;
|
||||
|
||||
err:
|
||||
|
|
|
@ -210,25 +210,13 @@ static void eq_iir_s32_24_default(const struct comp_dev *dev,
|
|||
}
|
||||
#endif /* CONFIG_FORMAT_S32LE && CONFIG_FORMAT_S24LE */
|
||||
|
||||
#if CONFIG_FORMAT_S16LE
|
||||
static void eq_iir_s16_pass(const struct comp_dev *dev,
|
||||
const struct audio_stream *source,
|
||||
struct audio_stream *sink,
|
||||
uint32_t frames)
|
||||
static void eq_iir_pass(const struct comp_dev *dev,
|
||||
const struct audio_stream *source,
|
||||
struct audio_stream *sink,
|
||||
uint32_t frames)
|
||||
{
|
||||
audio_stream_copy_s16(source, 0, sink, 0, frames * source->channels);
|
||||
audio_stream_copy(source, 0, sink, 0, frames * source->channels);
|
||||
}
|
||||
#endif /* CONFIG_FORMAT_S16LE */
|
||||
|
||||
#if CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE
|
||||
static void eq_iir_s32_pass(const struct comp_dev *dev,
|
||||
const struct audio_stream *source,
|
||||
struct audio_stream *sink,
|
||||
uint32_t frames)
|
||||
{
|
||||
audio_stream_copy_s32(source, 0, sink, 0, frames * source->channels);
|
||||
}
|
||||
#endif /* CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE */
|
||||
|
||||
#if CONFIG_FORMAT_S16LE && CONFIG_FORMAT_S32LE
|
||||
static void eq_iir_s32_s16_pass(const struct comp_dev *dev,
|
||||
|
@ -295,7 +283,7 @@ const struct eq_iir_func_map fm_configured[] = {
|
|||
|
||||
const struct eq_iir_func_map fm_passthrough[] = {
|
||||
#if CONFIG_FORMAT_S16LE
|
||||
{SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S16_LE, eq_iir_s16_pass},
|
||||
{SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S16_LE, eq_iir_pass},
|
||||
#endif /* CONFIG_FORMAT_S16LE */
|
||||
#if CONFIG_FORMAT_S16LE && CONFIG_FORMAT_S24LE
|
||||
{SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S24_4LE, NULL},
|
||||
|
@ -307,14 +295,14 @@ const struct eq_iir_func_map fm_passthrough[] = {
|
|||
{SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S16_LE, eq_iir_s32_s16_pass},
|
||||
#endif /* CONFIG_FORMAT_S16LE && CONFIG_FORMAT_S32LE*/
|
||||
#if CONFIG_FORMAT_S24LE
|
||||
{SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S24_4LE, eq_iir_s32_pass},
|
||||
{SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S24_4LE, eq_iir_pass},
|
||||
#endif /* CONFIG_FORMAT_S24LE */
|
||||
#if CONFIG_FORMAT_S24LE && CONFIG_FORMAT_S32LE
|
||||
{SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S32_LE, NULL},
|
||||
{SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S24_4LE, eq_iir_s32_s24_pass},
|
||||
#endif /* CONFIG_FORMAT_S24LE */
|
||||
#if CONFIG_FORMAT_S32LE
|
||||
{SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S32_LE, eq_iir_s32_pass},
|
||||
{SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S32_LE, eq_iir_pass},
|
||||
#endif /* CONFIG_FORMAT_S32LE */
|
||||
};
|
||||
|
||||
|
|
|
@ -379,17 +379,17 @@ static void pcm_convert_f_to_s32(const struct audio_stream *source,
|
|||
|
||||
const struct pcm_func_map pcm_func_map[] = {
|
||||
#if CONFIG_FORMAT_S16LE
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S16_LE, audio_stream_copy_s16 },
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S16_LE, audio_stream_copy },
|
||||
#endif /* CONFIG_FORMAT_S16LE */
|
||||
#if CONFIG_FORMAT_S24LE
|
||||
{ SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S24_4LE, audio_stream_copy_s32 },
|
||||
{ SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S24_4LE, audio_stream_copy },
|
||||
#endif /* CONFIG_FORMAT_S24LE */
|
||||
#if CONFIG_FORMAT_S24LE && CONFIG_FORMAT_S16LE
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S24_4LE, pcm_convert_s16_to_s24 },
|
||||
{ SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S16_LE, pcm_convert_s24_to_s16 },
|
||||
#endif /* CONFIG_FORMAT_S24LE && CONFIG_FORMAT_S16LE */
|
||||
#if CONFIG_FORMAT_S32LE
|
||||
{ SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S32_LE, audio_stream_copy_s32 },
|
||||
{ SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S32_LE, audio_stream_copy },
|
||||
#endif /* CONFIG_FORMAT_S32LE */
|
||||
#if CONFIG_FORMAT_S32LE && CONFIG_FORMAT_S16LE
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S32_LE, pcm_convert_s16_to_s32 },
|
||||
|
@ -400,7 +400,7 @@ const struct pcm_func_map pcm_func_map[] = {
|
|||
{ SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S24_4LE, pcm_convert_s32_to_s24 },
|
||||
#endif /* CONFIG_FORMAT_S32LE && CONFIG_FORMAT_S24LE */
|
||||
#if CONFIG_FORMAT_FLOAT
|
||||
{ SOF_IPC_FRAME_FLOAT, SOF_IPC_FRAME_FLOAT, audio_stream_copy_s32 },
|
||||
{ SOF_IPC_FRAME_FLOAT, SOF_IPC_FRAME_FLOAT, audio_stream_copy },
|
||||
#endif /* CONFIG_FORMAT_FLOAT */
|
||||
#if CONFIG_FORMAT_FLOAT && CONFIG_FORMAT_S16LE
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_FLOAT, pcm_convert_s16_to_f },
|
||||
|
|
|
@ -895,17 +895,17 @@ static void pcm_convert_f_to_s32(const struct audio_stream *source,
|
|||
|
||||
const struct pcm_func_map pcm_func_map[] = {
|
||||
#if CONFIG_FORMAT_S16LE
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S16_LE, audio_stream_copy_s16 },
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S16_LE, audio_stream_copy },
|
||||
#endif /* CONFIG_FORMAT_S16LE */
|
||||
#if CONFIG_FORMAT_S24LE
|
||||
{ SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S24_4LE, audio_stream_copy_s32 },
|
||||
{ SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S24_4LE, audio_stream_copy },
|
||||
#endif /* CONFIG_FORMAT_S24LE */
|
||||
#if CONFIG_FORMAT_S24LE && CONFIG_FORMAT_S16LE
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S24_4LE, pcm_convert_s16_to_s24 },
|
||||
{ SOF_IPC_FRAME_S24_4LE, SOF_IPC_FRAME_S16_LE, pcm_convert_s24_to_s16 },
|
||||
#endif /* CONFIG_FORMAT_S24LE && CONFIG_FORMAT_S16LE */
|
||||
#if CONFIG_FORMAT_S32LE
|
||||
{ SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S32_LE, audio_stream_copy_s32 },
|
||||
{ SOF_IPC_FRAME_S32_LE, SOF_IPC_FRAME_S32_LE, audio_stream_copy },
|
||||
#endif /* CONFIG_FORMAT_S32LE */
|
||||
#if CONFIG_FORMAT_S32LE && CONFIG_FORMAT_S16LE
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_S32_LE, pcm_convert_s16_to_s32 },
|
||||
|
@ -917,7 +917,7 @@ const struct pcm_func_map pcm_func_map[] = {
|
|||
#endif /* CONFIG_FORMAT_S32LE && CONFIG_FORMAT_S24LE */
|
||||
#if XCHAL_HAVE_FP
|
||||
#if CONFIG_FORMAT_FLOAT
|
||||
{ SOF_IPC_FRAME_FLOAT, SOF_IPC_FRAME_FLOAT, audio_stream_copy_s32 },
|
||||
{ SOF_IPC_FRAME_FLOAT, SOF_IPC_FRAME_FLOAT, audio_stream_copy },
|
||||
#endif /* CONFIG_FORMAT_FLOAT */
|
||||
#if CONFIG_FORMAT_FLOAT && CONFIG_FORMAT_S16LE
|
||||
{ SOF_IPC_FRAME_S16_LE, SOF_IPC_FRAME_FLOAT, pcm_convert_s16_to_f },
|
||||
|
|
|
@ -436,23 +436,14 @@ static void src_copy_sxx(struct comp_dev *dev,
|
|||
int frames = cd->param.blk_in;
|
||||
|
||||
switch (sink->frame_fmt) {
|
||||
#if CONFIG_FORMAT_S16LE
|
||||
case SOF_IPC_FRAME_S16_LE:
|
||||
audio_stream_copy_s16(source, 0, sink, 0,
|
||||
frames * source->channels);
|
||||
*n_read = frames;
|
||||
*n_written = frames;
|
||||
break;
|
||||
#endif
|
||||
#if CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE
|
||||
case SOF_IPC_FRAME_S24_4LE:
|
||||
case SOF_IPC_FRAME_S32_LE:
|
||||
audio_stream_copy_s32(source, 0, sink, 0,
|
||||
frames * source->channels);
|
||||
audio_stream_copy(source, 0, sink, 0,
|
||||
frames * source->channels);
|
||||
*n_read = frames;
|
||||
*n_written = frames;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
*n_read = 0;
|
||||
*n_written = 0;
|
||||
|
|
|
@ -584,46 +584,6 @@ static inline void audio_stream_copy(const struct audio_stream *source,
|
|||
}
|
||||
}
|
||||
|
||||
#if CONFIG_FORMAT_S16LE
|
||||
|
||||
/**
|
||||
* Copies signed 16-bit samples from source buffer to sink buffer.
|
||||
* @param source Source buffer.
|
||||
* @param ioffset Offset (in samples) in source buffer to start reading from.
|
||||
* @param sink Sink buffer.
|
||||
* @param ooffset Offset (in samples) in sink buffer to start writing to.
|
||||
* @param samples Number of samples to copy.
|
||||
*/
|
||||
static inline void audio_stream_copy_s16(const struct audio_stream *source,
|
||||
uint32_t ioffset,
|
||||
struct audio_stream *sink,
|
||||
uint32_t ooffset, uint32_t samples)
|
||||
{
|
||||
audio_stream_copy(source, ioffset, sink, ooffset, samples);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_FORMAT_S16LE */
|
||||
|
||||
#if CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE || CONFIG_FORMAT_FLOAT
|
||||
|
||||
/**
|
||||
* Copies signed 32-bit samples from source buffer to sink buffer.
|
||||
* @param source Source buffer.
|
||||
* @param ioffset Offset (in samples) in source buffer to start reading from.
|
||||
* @param sink Sink buffer.
|
||||
* @param ooffset Offset (in samples) in sink buffer to start writing to.
|
||||
* @param samples Number of samples to copy.
|
||||
*/
|
||||
static inline void audio_stream_copy_s32(const struct audio_stream *source,
|
||||
uint32_t ioffset,
|
||||
struct audio_stream *sink,
|
||||
uint32_t ooffset, uint32_t samples)
|
||||
{
|
||||
audio_stream_copy(source, ioffset, sink, ooffset, samples);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_FORMAT_S24LE || CONFIG_FORMAT_S32LE || CONFIG_FORMAT_FLOAT */
|
||||
|
||||
/** @}*/
|
||||
|
||||
#endif /* __SOF_AUDIO_AUDIO_STREAM_H__ */
|
||||
|
|
Loading…
Reference in New Issue