From 814dc46075c8a9e74c93b20c26fd2c3544e7eb19 Mon Sep 17 00:00:00 2001 From: Karol Trzcinski Date: Fri, 24 Jul 2020 15:50:46 +0200 Subject: [PATCH] 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 --- src/audio/eq_fir/eq_fir.c | 58 +++---------------- src/audio/eq_iir/eq_iir.c | 28 +++------ .../pcm_converter/pcm_converter_generic.c | 8 +-- src/audio/pcm_converter/pcm_converter_hifi3.c | 8 +-- src/audio/src/src.c | 13 +---- src/include/sof/audio/audio_stream.h | 40 ------------- 6 files changed, 26 insertions(+), 129 deletions(-) diff --git a/src/audio/eq_fir/eq_fir.c b/src/audio/eq_fir/eq_fir.c index 6b1263e75..c6fd52eec 100644 --- a/src/audio/eq_fir/eq_fir.c +++ b/src/audio/eq_fir/eq_fir.c @@ -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: diff --git a/src/audio/eq_iir/eq_iir.c b/src/audio/eq_iir/eq_iir.c index 4e630379c..6c28dde8a 100644 --- a/src/audio/eq_iir/eq_iir.c +++ b/src/audio/eq_iir/eq_iir.c @@ -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 */ }; diff --git a/src/audio/pcm_converter/pcm_converter_generic.c b/src/audio/pcm_converter/pcm_converter_generic.c index a32184c79..da77e2629 100644 --- a/src/audio/pcm_converter/pcm_converter_generic.c +++ b/src/audio/pcm_converter/pcm_converter_generic.c @@ -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 }, diff --git a/src/audio/pcm_converter/pcm_converter_hifi3.c b/src/audio/pcm_converter/pcm_converter_hifi3.c index 332b4a520..919707f27 100644 --- a/src/audio/pcm_converter/pcm_converter_hifi3.c +++ b/src/audio/pcm_converter/pcm_converter_hifi3.c @@ -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 }, diff --git a/src/audio/src/src.c b/src/audio/src/src.c index 069d6446c..78debfd23 100644 --- a/src/audio/src/src.c +++ b/src/audio/src/src.c @@ -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; diff --git a/src/include/sof/audio/audio_stream.h b/src/include/sof/audio/audio_stream.h index 1c3fb81c0..29501dd86 100644 --- a/src/include/sof/audio/audio_stream.h +++ b/src/include/sof/audio/audio_stream.h @@ -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__ */