From cceea1e114c88cb2b2109314dafb651816d87dd5 Mon Sep 17 00:00:00 2001 From: Adrian Warecki Date: Tue, 8 Sep 2026 17:49:51 +0200 Subject: [PATCH 1/2] module: audio: return fragment sample count as size_t Change the buffer_samples out-parameter of source_get_data_s16()/s32() and sink_get_buffer_s16()/s32() from int * to size_t *, and update all callers to declare their sample-count locals as size_t. This matches the size_t sizes used elsewhere in the sink/source API. Signed-off-by: Adrian Warecki --- src/audio/igo_nr/igo_nr.c | 6 +++--- .../level_multiplier/level_multiplier-generic.c | 6 +++--- src/audio/level_multiplier/level_multiplier-hifi3.c | 6 +++--- src/audio/level_multiplier/level_multiplier-hifi5.c | 6 +++--- src/audio/mfcc/mfcc_common.c | 6 +++--- src/audio/multiband_drc/multiband_drc_generic.c | 6 +++--- src/audio/phase_vocoder/phase_vocoder-generic.c | 12 ++++++------ src/audio/phase_vocoder/phase_vocoder_common.c | 4 ++-- src/audio/sound_dose/sound_dose-generic.c | 4 ++-- src/audio/stft_process/stft_process_common.c | 12 ++++++------ src/audio/template/template-generic.c | 4 ++-- src/audio/tone/tone.c | 9 ++++++--- src/include/module/audio/sink_api.h | 4 ++-- src/include/module/audio/source_api.h | 4 ++-- src/module/audio/sink_api.c | 4 ++-- src/module/audio/source_api.c | 4 ++-- 16 files changed, 50 insertions(+), 47 deletions(-) diff --git a/src/audio/igo_nr/igo_nr.c b/src/audio/igo_nr/igo_nr.c index f762cf86b49d..0245e228bf94 100644 --- a/src/audio/igo_nr/igo_nr.c +++ b/src/audio/igo_nr/igo_nr.c @@ -72,7 +72,7 @@ static int igo_nr_capture_s16(struct comp_data *cd, int16_t const *x, *x_start, *x_end; int16_t *y1, *y2, *y_start, *y_end; int16_t sample; - int x_size, y_size; + size_t x_size, y_size; size_t request_size = frames * source_get_frame_bytes(source); int sink_samples_without_wrap; int samples_without_wrap; @@ -179,7 +179,7 @@ static int igo_nr_capture_s24(struct comp_data *cd, { int32_t const *x, *x_start, *x_end; int32_t *y1, *y2, *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; size_t request_size = frames * source_get_frame_bytes(source); int sink_samples_without_wrap; int samples_without_wrap; @@ -285,7 +285,7 @@ static int igo_nr_capture_s32(struct comp_data *cd, { int32_t const *x, *x_start, *x_end; int32_t *y1, *y2, *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; size_t request_size = frames * source_get_frame_bytes(source); int sink_samples_without_wrap; int samples_without_wrap; diff --git a/src/audio/level_multiplier/level_multiplier-generic.c b/src/audio/level_multiplier/level_multiplier-generic.c index 554a5f7f49c6..099647467de3 100644 --- a/src/audio/level_multiplier/level_multiplier-generic.c +++ b/src/audio/level_multiplier/level_multiplier-generic.c @@ -38,7 +38,7 @@ static int level_multiplier_s16(const struct processing_module *mod, const int32_t gain = cd->gain; int16_t const *x, *x_start, *x_end; int16_t *y, *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; @@ -108,7 +108,7 @@ static int level_multiplier_s24(const struct processing_module *mod, const int32_t gain = cd->gain; int32_t const *x, *x_start, *x_end; int32_t *y, *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; @@ -179,7 +179,7 @@ static int level_multiplier_s32(const struct processing_module *mod, const int32_t gain = cd->gain; int32_t const *x, *x_start, *x_end; int32_t *y, *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; diff --git a/src/audio/level_multiplier/level_multiplier-hifi3.c b/src/audio/level_multiplier/level_multiplier-hifi3.c index 077476254c0e..924d9e4f9b45 100644 --- a/src/audio/level_multiplier/level_multiplier-hifi3.c +++ b/src/audio/level_multiplier/level_multiplier-hifi3.c @@ -45,7 +45,7 @@ static int level_multiplier_s16(const struct processing_module *mod, ae_f16x4 *y; int16_t const *x_start, *x_end; int16_t *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; @@ -143,7 +143,7 @@ static int level_multiplier_s24(const struct processing_module *mod, ae_f32x2 *y; int32_t const *x_start, *x_end; int32_t *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; @@ -234,7 +234,7 @@ static int level_multiplier_s32(const struct processing_module *mod, ae_f32x2 *y; int32_t const *x_start, *x_end; int32_t *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; diff --git a/src/audio/level_multiplier/level_multiplier-hifi5.c b/src/audio/level_multiplier/level_multiplier-hifi5.c index 91f52ade4767..704c007f211a 100644 --- a/src/audio/level_multiplier/level_multiplier-hifi5.c +++ b/src/audio/level_multiplier/level_multiplier-hifi5.c @@ -46,7 +46,7 @@ static int level_multiplier_s16(const struct processing_module *mod, ae_int16x8 *y; int16_t const *x_start, *x_end; int16_t *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; @@ -149,7 +149,7 @@ static int level_multiplier_s24(const struct processing_module *mod, ae_int32x4 *y; int32_t const *x_start, *x_end; int32_t *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; @@ -243,7 +243,7 @@ static int level_multiplier_s32(const struct processing_module *mod, ae_int32x4 *y; int32_t const *x_start, *x_end; int32_t *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int remaining_samples = frames * cd->channels; diff --git a/src/audio/mfcc/mfcc_common.c b/src/audio/mfcc/mfcc_common.c index 3890671165fd..cd082cae5ebf 100644 --- a/src/audio/mfcc/mfcc_common.c +++ b/src/audio/mfcc/mfcc_common.c @@ -54,7 +54,7 @@ void mfcc_source_copy_s16(struct sof_source *source, struct mfcc_buffer *buf, int16_t const *x; int16_t const *x_start; int16_t const *x_end; - int x_size; + size_t x_size; int num_channels = source_get_channels(source); size_t req_bytes = frames * num_channels * sizeof(int16_t); int16_t *w = buf->w_ptr; @@ -126,7 +126,7 @@ void mfcc_source_copy_s24(struct sof_source *source, struct mfcc_buffer *buf, int32_t const *x; int32_t const *x_start; int32_t const *x_end; - int x_size; + size_t x_size; int num_channels = source_get_channels(source); size_t req_bytes = frames * num_channels * sizeof(int32_t); int16_t *w = buf->w_ptr; @@ -200,7 +200,7 @@ void mfcc_source_copy_s32(struct sof_source *source, struct mfcc_buffer *buf, int32_t const *x; int32_t const *x_start; int32_t const *x_end; - int x_size; + size_t x_size; int num_channels = source_get_channels(source); size_t req_bytes = frames * num_channels * sizeof(int32_t); int16_t *w = buf->w_ptr; diff --git a/src/audio/multiband_drc/multiband_drc_generic.c b/src/audio/multiband_drc/multiband_drc_generic.c index b14387a1baaf..489e9d16f57a 100644 --- a/src/audio/multiband_drc/multiband_drc_generic.c +++ b/src/audio/multiband_drc/multiband_drc_generic.c @@ -219,7 +219,7 @@ static int multiband_drc_s16_default(const struct processing_module *mod, int32_t *band_buf_drc_sink; const int16_t *x, *buf_x_start; int16_t *y, *buf_y_start; - int buf_x_samples, buf_y_samples; + size_t buf_x_samples, buf_y_samples; size_t n_bytes = frames * source_get_frame_bytes(source); int band; int nbuf; @@ -304,7 +304,7 @@ static int multiband_drc_s24_default(const struct processing_module *mod, int32_t *band_buf_drc_sink; const int32_t *x, *buf_x_start; int32_t *y, *buf_y_start; - int buf_x_samples, buf_y_samples; + size_t buf_x_samples, buf_y_samples; size_t n_bytes = frames * source_get_frame_bytes(source); int band; int nbuf; @@ -389,7 +389,7 @@ static int multiband_drc_s32_default(const struct processing_module *mod, int32_t *band_buf_drc_sink; const int32_t *x, *buf_x_start; int32_t *y, *buf_y_start; - int buf_x_samples, buf_y_samples; + size_t buf_x_samples, buf_y_samples; size_t n_bytes = frames * source_get_frame_bytes(source); int band; int nbuf; diff --git a/src/audio/phase_vocoder/phase_vocoder-generic.c b/src/audio/phase_vocoder/phase_vocoder-generic.c index 5cc382cb5b8b..31b38049ad7b 100644 --- a/src/audio/phase_vocoder/phase_vocoder-generic.c +++ b/src/audio/phase_vocoder/phase_vocoder-generic.c @@ -34,7 +34,7 @@ int phase_vocoder_source_s32(struct phase_vocoder_comp_data *cd, struct sof_sour const int32_t mix_gain = cd->mono_mix_coef; int64_t mix; int frames_left; - int x_size; + size_t x_size; int bytes; int ret; int n1; @@ -129,7 +129,7 @@ int phase_vocoder_sink_s32(struct phase_vocoder_comp_data *cd, struct sof_sink * int32_t *y, *y_start, *y_end; int frames_remain; int bytes; - int y_size; + size_t y_size; int ret; int ch, n1, n, i; int stream_channels = cd->stream_channels; @@ -228,7 +228,7 @@ int phase_vocoder_source_s24(struct phase_vocoder_comp_data *cd, struct sof_sour int64_t mix; int32_t tmp; int frames_left; - int x_size; + size_t x_size; int bytes; int ret; int n1; @@ -327,7 +327,7 @@ int phase_vocoder_sink_s24(struct phase_vocoder_comp_data *cd, struct sof_sink * int32_t *y, *y_start, *y_end; int frames_remain; int bytes; - int y_size; + size_t y_size; int ret; int ch, n1, n, i; int stream_channels = cd->stream_channels; @@ -424,7 +424,7 @@ int phase_vocoder_source_s16(struct phase_vocoder_comp_data *cd, struct sof_sour int16_t const *x, *x_start, *x_end; int16_t in; int frames_left; - int x_size; + size_t x_size; int bytes; int ret; int n1; @@ -523,7 +523,7 @@ int phase_vocoder_sink_s16(struct phase_vocoder_comp_data *cd, struct sof_sink * int16_t sample; int16_t *y, *y_start, *y_end; int frames_remain; - int y_size; + size_t y_size; int bytes; int ret; int ch, n1, n, i; diff --git a/src/audio/phase_vocoder/phase_vocoder_common.c b/src/audio/phase_vocoder/phase_vocoder_common.c index e31bc0239819..f8dcd3d09924 100644 --- a/src/audio/phase_vocoder/phase_vocoder_common.c +++ b/src/audio/phase_vocoder/phase_vocoder_common.c @@ -418,7 +418,7 @@ static int phase_vocoder_output_zeros_s32(struct phase_vocoder_comp_data *cd, st int samples = frames * cd->stream_channels; size_t bytes = samples * sizeof(int32_t); int samples_without_wrap; - int y_size; + size_t y_size; int ret; /* Get pointer to sink data in circular buffer, buffer start and size. */ @@ -518,7 +518,7 @@ static int phase_vocoder_output_zeros_s16(struct phase_vocoder_comp_data *cd, st int samples = frames * cd->stream_channels; size_t bytes = samples * sizeof(int16_t); int samples_without_wrap; - int y_size; + size_t y_size; int ret; /* Get pointer to sink data in circular buffer, buffer start and size. */ diff --git a/src/audio/sound_dose/sound_dose-generic.c b/src/audio/sound_dose/sound_dose-generic.c index fb5f63fc844a..621721e14637 100644 --- a/src/audio/sound_dose/sound_dose-generic.c +++ b/src/audio/sound_dose/sound_dose-generic.c @@ -86,7 +86,7 @@ static int sound_dose_s16(const struct processing_module *mod, int16_t sample; int16_t const *x0, *x, *x_start, *x_end; int16_t *y0, *y, *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int samples = frames * cd->channels; @@ -186,7 +186,7 @@ static int sound_dose_s32(const struct processing_module *mod, int32_t const *x0, *x, *x_start, *x_end; int32_t *y0, *y, *y_start, *y_end; int32_t weighted; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int samples = frames * cd->channels; diff --git a/src/audio/stft_process/stft_process_common.c b/src/audio/stft_process/stft_process_common.c index 6ab3199082de..71c43f16f6cf 100644 --- a/src/audio/stft_process/stft_process_common.c +++ b/src/audio/stft_process/stft_process_common.c @@ -47,7 +47,7 @@ int stft_process_source_s32(struct stft_comp_data *cd, struct sof_source *source struct stft_process_state *state = &cd->state; struct stft_process_buffer *ibuf; int32_t const *x, *x_start, *x_end; - int x_size; + size_t x_size; int bytes = frames * cd->frame_bytes; int frames_left = frames; int ret; @@ -114,7 +114,7 @@ int stft_process_sink_s32(struct stft_comp_data *cd, struct sof_sink *sink, int int frames_remain = frames; int channels = cd->channels; int bytes = frames * cd->frame_bytes; - int y_size; + size_t y_size; int ret; int ch, n1, n, i; @@ -175,7 +175,7 @@ int stft_process_source_s16(struct stft_comp_data *cd, struct sof_source *source struct stft_process_buffer *ibuf; int16_t const *x, *x_start, *x_end; int16_t in; - int x_size; + size_t x_size; int channels = cd->channels; int bytes = frames * cd->frame_bytes; int frames_left = frames; @@ -234,7 +234,7 @@ int stft_process_sink_s16(struct stft_comp_data *cd, struct sof_sink *sink, int int frames_remain = frames; int channels = cd->channels; int bytes = frames * cd->frame_bytes; - int y_size; + size_t y_size; int ret; int ch, n1, n, i; @@ -474,7 +474,7 @@ static int stft_process_output_zeros_s32(struct stft_comp_data *cd, struct sof_s int samples = frames * cd->channels; size_t bytes = samples * sizeof(int32_t); int samples_without_wrap; - int y_size; + size_t y_size; int ret; /* Get pointer to sink data in circular buffer, buffer start and size. */ @@ -535,7 +535,7 @@ static int stft_process_output_zeros_s16(struct stft_comp_data *cd, struct sof_s int samples = frames * cd->channels; size_t bytes = samples * sizeof(int16_t); int samples_without_wrap; - int y_size; + size_t y_size; int ret; /* Get pointer to sink data in circular buffer, buffer start and size. */ diff --git a/src/audio/template/template-generic.c b/src/audio/template/template-generic.c index 14b68c31d9c5..3870e0c224fc 100644 --- a/src/audio/template/template-generic.c +++ b/src/audio/template/template-generic.c @@ -32,7 +32,7 @@ static int template_s16(const struct processing_module *mod, struct template_comp_data *cd = module_get_private_data(mod); int16_t const *x, *x_start, *x_end; int16_t *y, *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int samples = frames * cd->channels; @@ -119,7 +119,7 @@ static int template_s32(const struct processing_module *mod, struct template_comp_data *cd = module_get_private_data(mod); int32_t const *x, *x_start, *x_end; int32_t *y, *y_start, *y_end; - int x_size, y_size; + size_t x_size, y_size; int source_samples_without_wrap; int samples_without_wrap; int samples = frames * cd->channels; diff --git a/src/audio/tone/tone.c b/src/audio/tone/tone.c index dac32a3c187e..ee2368709346 100644 --- a/src/audio/tone/tone.c +++ b/src/audio/tone/tone.c @@ -129,9 +129,11 @@ static int tone_s32_passthrough(struct processing_module *mod, struct sof_sink * struct comp_data *cd = module_get_private_data(mod); size_t output_frame_bytes, output_frames; size_t input_frame_bytes, input_frames; - int32_t *output_pos, *output_start, output_cirbuf_size; + int32_t *output_pos, *output_start; + size_t output_cirbuf_size; int32_t const *input_pos, *input_start, *input_end; - int32_t *output_end, input_cirbuf_size; + int32_t *output_end; + size_t input_cirbuf_size; uint32_t frames, bytes; int nch = cd->channels; int n; @@ -212,7 +214,8 @@ int tone_s32_default(struct processing_module *mod, struct sof_sink *sink, { struct comp_data *cd = module_get_private_data(mod); size_t output_frame_bytes, output_frames; - int32_t *output_pos, *output_start, output_cirbuf_size; + int32_t *output_pos, *output_start; + size_t output_cirbuf_size; int32_t *output_end; uint32_t frames, bytes; int nch = cd->channels; diff --git a/src/include/module/audio/sink_api.h b/src/include/module/audio/sink_api.h index 3101c960c803..ee4fa09c8d47 100644 --- a/src/include/module/audio/sink_api.h +++ b/src/include/module/audio/sink_api.h @@ -221,7 +221,7 @@ int sink_get_buffer(struct sof_sink *sink, size_t req_size, void **data_ptr, voi * */ int sink_get_buffer_s16(struct sof_sink *sink, size_t req_size, int16_t **data_ptr, - int16_t **buffer_start, int *buffer_samples); + int16_t **buffer_start, size_t *buffer_samples); /** * Get a circular buffer to operate on (to write). @@ -240,7 +240,7 @@ int sink_get_buffer_s16(struct sof_sink *sink, size_t req_size, int16_t **data_p * */ int sink_get_buffer_s32(struct sof_sink *sink, size_t req_size, int32_t **data_ptr, - int32_t **buffer_start, int *buffer_samples); + int32_t **buffer_start, size_t *buffer_samples); /** * Commits that the buffer previously obtained by get_buffer is filled with data diff --git a/src/include/module/audio/source_api.h b/src/include/module/audio/source_api.h index 33497ba136fc..5ba005316b83 100644 --- a/src/include/module/audio/source_api.h +++ b/src/include/module/audio/source_api.h @@ -229,7 +229,7 @@ int source_get_data(struct sof_source *source, size_t req_size, void const **dat * @retval -ENODATA if req_size is bigger than available data */ int source_get_data_s16(struct sof_source *source, size_t req_size, int16_t const **data_ptr, - int16_t const **buffer_start, int *buffer_samples); + int16_t const **buffer_start, size_t *buffer_samples); /** * Retrieves a fragment of circular data (to read) @@ -247,7 +247,7 @@ int source_get_data_s16(struct sof_source *source, size_t req_size, int16_t cons * @retval -ENODATA if req_size is bigger than available data */ int source_get_data_s32(struct sof_source *source, size_t req_size, int32_t const **data_ptr, - int32_t const **buffer_start, int *buffer_samples); + int32_t const **buffer_start, size_t *buffer_samples); /** * Releases fragment previously obtained by source_get_data() diff --git a/src/module/audio/sink_api.c b/src/module/audio/sink_api.c index 969b37f5a987..19a530e4b5c0 100644 --- a/src/module/audio/sink_api.c +++ b/src/module/audio/sink_api.c @@ -37,7 +37,7 @@ int sink_get_buffer(struct sof_sink *sink, size_t req_size, EXPORT_SYMBOL(sink_get_buffer); int sink_get_buffer_s16(struct sof_sink *sink, size_t req_size, - int16_t **data_ptr, int16_t **buffer_start, int *buffer_samples) + int16_t **data_ptr, int16_t **buffer_start, size_t *buffer_samples) { size_t buffer_size; int ret; @@ -53,7 +53,7 @@ int sink_get_buffer_s16(struct sof_sink *sink, size_t req_size, EXPORT_SYMBOL(sink_get_buffer_s16); int sink_get_buffer_s32(struct sof_sink *sink, size_t req_size, - int32_t **data_ptr, int32_t **buffer_start, int *buffer_samples) + int32_t **data_ptr, int32_t **buffer_start, size_t *buffer_samples) { size_t buffer_size; int ret; diff --git a/src/module/audio/source_api.c b/src/module/audio/source_api.c index 6ee2c54ed8d3..f5a2d887ff50 100644 --- a/src/module/audio/source_api.c +++ b/src/module/audio/source_api.c @@ -36,7 +36,7 @@ int source_get_data(struct sof_source *source, size_t req_size, EXPORT_SYMBOL(source_get_data); int source_get_data_s16(struct sof_source *source, size_t req_size, int16_t const **data_ptr, - int16_t const **buffer_start, int *buffer_samples) + int16_t const **buffer_start, size_t *buffer_samples) { size_t buffer_size; int ret; @@ -52,7 +52,7 @@ int source_get_data_s16(struct sof_source *source, size_t req_size, int16_t cons EXPORT_SYMBOL(source_get_data_s16); int source_get_data_s32(struct sof_source *source, size_t req_size, int32_t const **data_ptr, - int32_t const **buffer_start, int *buffer_samples) + int32_t const **buffer_start, size_t *buffer_samples) { size_t buffer_size; int ret; From cdb15a1fd397194e0cd770710d6a6d9396e45aa9 Mon Sep 17 00:00:00 2001 From: Adrian Warecki Date: Fri, 11 Sep 2026 14:44:38 +0200 Subject: [PATCH 2/2] module: audio: circ_buf: return sample count as size_t Change the return type of cir_buf_samples_without_wrap_s16() and cir_buf_samples_without_wrap_s32() from int to size_t, and update the sample-count variables in all callers (volume, mixer, aria, asrc). The returned value is a non-negative element count derived from pointer arithmetic, so size_t matches the rest of the circular-buffer API. Signed-off-by: Adrian Warecki --- src/audio/aria/aria_generic.c | 15 ++-- src/audio/asrc/asrc.c | 8 +- src/audio/mixer/mixer_generic.c | 52 +++++------ src/audio/mixer/mixer_hifi3.c | 17 ++-- src/audio/volume/volume_generic.c | 27 +++--- .../volume/volume_generic_with_peakvol.c | 30 ++++--- src/audio/volume/volume_hifi3.c | 24 ++--- src/audio/volume/volume_hifi3_with_peakvol.c | 30 ++++--- src/audio/volume/volume_hifi4.c | 24 ++--- src/audio/volume/volume_hifi4_with_peakvol.c | 74 ++++++++------- src/audio/volume/volume_hifi5.c | 24 ++--- src/audio/volume/volume_hifi5_with_peakvol.c | 90 ++++++++++--------- src/include/module/audio/audio_stream.h | 8 +- 13 files changed, 224 insertions(+), 199 deletions(-) diff --git a/src/audio/aria/aria_generic.c b/src/audio/aria/aria_generic.c index 93ec0f308dfe..b85e9868b056 100644 --- a/src/audio/aria/aria_generic.c +++ b/src/audio/aria/aria_generic.c @@ -47,19 +47,20 @@ static void aria_algo_get_data(struct processing_module *mod, int32_t gain_begin = cd->gains[sof_aria_index_tab[gain_state_add_2]]; /* do linear approximation between points gain_begin and gain_end */ int32_t gain_end = cd->gains[sof_aria_index_tab[gain_state_add_3]]; - int32_t m, n, i, ch; - int32_t samples = frames * audio_stream_get_channels(sink); + size_t m, n, i; + int ch; + size_t samples = frames * audio_stream_get_channels(sink); int32_t *out = audio_stream_get_wptr(sink); int32_t *in = cd->data_ptr; int32_t gain; const int ch_n = cd->chan_cnt; const int shift = 31 - cd->att; - for (i = 1; i < ARIA_MAX_GAIN_STATES - 1; i++) { - if (cd->gains[sof_aria_index_tab[gain_state_add_2 + i]] < gain_begin) - gain_begin = cd->gains[sof_aria_index_tab[gain_state_add_2 + i]]; - if (cd->gains[sof_aria_index_tab[gain_state_add_3 + i]] < gain_end) - gain_end = cd->gains[sof_aria_index_tab[gain_state_add_3 + i]]; + for (ch = 1; ch < ARIA_MAX_GAIN_STATES - 1; ch++) { + if (cd->gains[sof_aria_index_tab[gain_state_add_2 + ch]] < gain_begin) + gain_begin = cd->gains[sof_aria_index_tab[gain_state_add_2 + ch]]; + if (cd->gains[sof_aria_index_tab[gain_state_add_3 + ch]] < gain_end) + gain_end = cd->gains[sof_aria_index_tab[gain_state_add_3 + ch]]; } step = (gain_end - gain_begin) / frames; gain = gain_begin; diff --git a/src/audio/asrc/asrc.c b/src/audio/asrc/asrc.c index f75009ffd775..ba028144620b 100644 --- a/src/audio/asrc/asrc.c +++ b/src/audio/asrc/asrc.c @@ -46,8 +46,8 @@ static void src_copy_s32(struct processing_module *mod, int32_t *buf; const int32_t *src = source->ptr; int32_t *snk = sink->ptr; - int n_wrap_src; - int n_wrap_snk; + size_t n_wrap_src; + size_t n_wrap_snk; int n_copy; unsigned int n; int ret; @@ -118,8 +118,8 @@ static void src_copy_s16(struct processing_module *mod, const int16_t *src = source->ptr; int16_t *snk = sink->ptr; int16_t *buf; - int n_wrap_src; - int n_wrap_snk; + size_t n_wrap_src; + size_t n_wrap_snk; int n_copy; int s_copy; int ret; diff --git a/src/audio/mixer/mixer_generic.c b/src/audio/mixer/mixer_generic.c index 2b1b50501187..038052a51cbe 100644 --- a/src/audio/mixer/mixer_generic.c +++ b/src/audio/mixer/mixer_generic.c @@ -19,11 +19,9 @@ static void mix_n_s16(struct comp_dev *dev, struct audio_stream *sink, int16_t *src[PLATFORM_MAX_CHANNELS]; int16_t *dest; int32_t val; - int nmax; - int i, j, n, ns; - int processed = 0; - int nch = audio_stream_get_channels(sink); - int samples = frames * nch; + size_t nmax, ns, n, i, processed = 0; + uint32_t j; + int samples = frames * audio_stream_get_channels(sink); dest = audio_stream_get_wptr(sink); for (j = 0; j < num_sources; j++) @@ -33,8 +31,8 @@ static void mix_n_s16(struct comp_dev *dev, struct audio_stream *sink, nmax = samples - processed; n = audio_stream_samples_without_wrap_s16(sink, dest); n = MIN(n, nmax); - for (i = 0; i < num_sources; i++) { - ns = audio_stream_samples_without_wrap_s16(sources[i], src[i]); + for (j = 0; j < num_sources; j++) { + ns = audio_stream_samples_without_wrap_s16(sources[j], src[j]); n = MIN(n, ns); } for (i = 0; i < n; i++) { @@ -50,8 +48,8 @@ static void mix_n_s16(struct comp_dev *dev, struct audio_stream *sink, } processed += n; dest = audio_stream_wrap(sink, dest); - for (i = 0; i < num_sources; i++) - src[i] = audio_stream_wrap(sources[i], src[i]); + for (j = 0; j < num_sources; j++) + src[j] = audio_stream_wrap(sources[j], src[j]); } } #endif /* CONFIG_FORMAT_S16LE */ @@ -62,15 +60,13 @@ static void mix_n_s24(struct comp_dev *dev, struct audio_stream *sink, const struct audio_stream **sources, uint32_t num_sources, uint32_t frames) { - int32_t *src[PLATFORM_MAX_CHANNELS]; + const int32_t *src[PLATFORM_MAX_CHANNELS]; + size_t nmax, ns, n, i, processed = 0; int32_t *dest; + uint32_t j; int32_t val; int32_t x; - int nmax; - int i, j, n, ns; - int processed = 0; - int nch = audio_stream_get_channels(sink); - int samples = frames * nch; + int samples = frames * audio_stream_get_channels(sink); dest = audio_stream_get_wptr(sink); for (j = 0; j < num_sources; j++) @@ -80,8 +76,8 @@ static void mix_n_s24(struct comp_dev *dev, struct audio_stream *sink, nmax = samples - processed; n = audio_stream_samples_without_wrap_s24(sink, dest); n = MIN(n, nmax); - for (i = 0; i < num_sources; i++) { - ns = audio_stream_samples_without_wrap_s24(sources[i], src[i]); + for (j = 0; j < num_sources; j++) { + ns = audio_stream_samples_without_wrap_s24(sources[j], src[j]); n = MIN(n, ns); } for (i = 0; i < n; i++) { @@ -98,8 +94,8 @@ static void mix_n_s24(struct comp_dev *dev, struct audio_stream *sink, } processed += n; dest = audio_stream_wrap(sink, dest); - for (i = 0; i < num_sources; i++) - src[i] = audio_stream_wrap(sources[i], src[i]); + for (j = 0; j < num_sources; j++) + src[j] = audio_stream_wrap(sources[j], src[j]); } } #endif /* CONFIG_FORMAT_S24LE */ @@ -110,14 +106,12 @@ static void mix_n_s32(struct comp_dev *dev, struct audio_stream *sink, const struct audio_stream **sources, uint32_t num_sources, uint32_t frames) { - int32_t *src[PLATFORM_MAX_CHANNELS]; + const int32_t *src[PLATFORM_MAX_CHANNELS]; + size_t nmax, ns, i, n, processed = 0; int32_t *dest; int64_t val; - int nmax; - int i, j, n, ns; - int processed = 0; - int nch = audio_stream_get_channels(sink); - int samples = frames * nch; + uint32_t j; + size_t samples = frames * audio_stream_get_channels(sink); dest = audio_stream_get_wptr(sink); for (j = 0; j < num_sources; j++) @@ -127,8 +121,8 @@ static void mix_n_s32(struct comp_dev *dev, struct audio_stream *sink, nmax = samples - processed; n = audio_stream_samples_without_wrap_s32(sink, dest); n = MIN(n, nmax); - for (i = 0; i < num_sources; i++) { - ns = audio_stream_samples_without_wrap_s32(sources[i], src[i]); + for (j = 0; j < num_sources; j++) { + ns = audio_stream_samples_without_wrap_s32(sources[j], src[j]); n = MIN(n, ns); } for (i = 0; i < n; i++) { @@ -144,8 +138,8 @@ static void mix_n_s32(struct comp_dev *dev, struct audio_stream *sink, } processed += n; dest = audio_stream_wrap(sink, dest); - for (i = 0; i < num_sources; i++) - src[i] = audio_stream_wrap(sources[i], src[i]); + for (j = 0; j < num_sources; j++) + src[j] = audio_stream_wrap(sources[j], src[j]); } } #endif /* CONFIG_FORMAT_S32LE */ diff --git a/src/audio/mixer/mixer_hifi3.c b/src/audio/mixer/mixer_hifi3.c index 0d774208655e..1320212286a2 100644 --- a/src/audio/mixer/mixer_hifi3.c +++ b/src/audio/mixer/mixer_hifi3.c @@ -26,8 +26,9 @@ static void mix_n_s16(struct comp_dev *dev, struct audio_stream *sink, ae_int32x2 val2; ae_int32x2 sample_1; ae_int32x2 sample_2; - unsigned int n, m, nmax, i, j, left_samples; - unsigned int samples = frames * audio_stream_get_channels(sink); + size_t n, m, nmax, i, left_samples; + uint32_t j; + size_t samples = frames * audio_stream_get_channels(sink); for (j = 0; j < num_sources; j++) in[j] = audio_stream_get_rptr(sources[j]); @@ -78,8 +79,9 @@ static void mix_n_s24(struct comp_dev *dev, struct audio_stream *sink, ae_int32x2 *out = audio_stream_get_wptr(sink); ae_int32x2 val; ae_int32x2 sample = AE_ZERO32(); - unsigned int n, m, nmax, i, j, left_samples; - unsigned int samples = frames * audio_stream_get_channels(sink); + size_t n, m, nmax, i, left_samples; + uint32_t j; + size_t samples = frames * audio_stream_get_channels(sink); for (j = 0; j < num_sources; j++) in[j] = audio_stream_get_rptr(sources[j]); @@ -124,9 +126,10 @@ static void mix_n_s32(struct comp_dev *dev, struct audio_stream *sink, ae_int64 sample; ae_int64 val; ae_int32x2 res; - unsigned int n, nmax, i, j, left_samples; - unsigned int m = 0; - unsigned int samples = frames * audio_stream_get_channels(sink); + size_t n, nmax, i, left_samples; + size_t m = 0; + uint32_t j; + size_t samples = frames * audio_stream_get_channels(sink); for (j = 0; j < num_sources; j++) in[j] = audio_stream_get_rptr(sources[j]); diff --git a/src/audio/volume/volume_generic.c b/src/audio/volume/volume_generic.c index 4851409f019f..614998d7fceb 100644 --- a/src/audio/volume/volume_generic.c +++ b/src/audio/volume/volume_generic.c @@ -63,9 +63,10 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source const int32_t *x, *x0; int32_t *y, *y0; int32_t vol; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -107,9 +108,9 @@ static void vol_passthrough_s24_to_s24(struct processing_module *mod, struct vol_data *cd = module_get_private_data(mod); const int32_t *x; int32_t *y; - int nmax, n; + size_t nmax, n; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -145,9 +146,10 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source const int32_t *x, *x0; int32_t *y, *y0; int32_t vol; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -193,9 +195,9 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, struct vol_data *cd = module_get_private_data(mod); const int32_t *x; int32_t *y; - int nmax, n; + size_t nmax, n; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -231,9 +233,10 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source const int16_t *x, *x0; int16_t *y, *y0; int32_t vol; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -276,9 +279,9 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct vol_data *cd = module_get_private_data(mod); const int16_t *x; int16_t *y; - int nmax, n; + size_t nmax, n; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; diff --git a/src/audio/volume/volume_generic_with_peakvol.c b/src/audio/volume/volume_generic_with_peakvol.c index 4db4b53e9071..02010c5dbe4a 100644 --- a/src/audio/volume/volume_generic_with_peakvol.c +++ b/src/audio/volume/volume_generic_with_peakvol.c @@ -60,9 +60,10 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source int32_t *y, *y0; int32_t vol; int32_t tmp; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -109,9 +110,10 @@ static void vol_passthrough_s24_to_s24(struct processing_module *mod, const int32_t *x, *x0; int32_t *y, *y0; int32_t tmp; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -158,9 +160,10 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source int32_t *y, *y0; int32_t vol; int32_t tmp; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -211,9 +214,10 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, const int32_t *x, *x0; int32_t *y, *y0; int32_t tmp; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -263,9 +267,10 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source int16_t *y, *y0; int32_t vol; uint32_t tmp; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; @@ -313,9 +318,10 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, const int16_t *x, *x0; int16_t *y, *y0; uint32_t tmp; - int nmax, n, i, j; + size_t nmax, n, i; + int j; const int nch = cd->channels; - int remaining_samples = frames * nch; + size_t remaining_samples = frames * nch; x = source->ptr; y = sink->ptr; diff --git a/src/audio/volume/volume_hifi3.c b/src/audio/volume/volume_hifi3.c index 52de382ea671..5391d60c588b 100644 --- a/src/audio/volume/volume_hifi3.c +++ b/src/audio/volume/volume_hifi3.c @@ -66,7 +66,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 volume; ae_f32x2 *buf; ae_f32x2 *buf_end; - int i, n, m; + size_t i, n, m; ae_f32x2 *vol; ae_valign inu; ae_valign outu = AE_ZALIGN64(); @@ -74,7 +74,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; /* to ensure the address is 8-byte aligned and avoid risk of * error loading of volume gain while the cd->vol would be set @@ -143,13 +143,13 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f32x2 in_sample; - int i, n, m; + size_t i, n, m; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; const int channels_count = cd->channels; - int samples = channels_count * frames; + size_t samples = channels_count * frames; while (samples) { m = cir_buf_samples_without_wrap_s32(in, source->buf_end); @@ -189,7 +189,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 in_sample; ae_f32x2 out_sample; ae_f32x2 volume; - int i, n, m; + size_t i, n, m; ae_f32x2 *buf; ae_f32x2 *buf_end; ae_f32x2 *vol; @@ -197,7 +197,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_valign outu = AE_ZALIGN64(); const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; @@ -266,11 +266,11 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f32x2 in_sample; - int i, n, m; + size_t i, n, m; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const int channels_count = cd->channels; - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; @@ -314,7 +314,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_f32x2 out_sample1; ae_f16x4 in_sample; ae_f16x4 out_sample; - int i, n, m; + size_t i, n, m; ae_f32x2 *buf; ae_f32x2 *buf_end; ae_f32x2 *vol; @@ -324,7 +324,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_f16x4 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; /* to ensure the address is 8-byte aligned and avoid risk of * error loading of volume gain while the cd->vol would be set @@ -404,13 +404,13 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f16x4 in_sample; - int i, n, m; + size_t i, n, m; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const ae_f16x4 *in = source->ptr; ae_f16x4 *out = sink->ptr; const int channels_count = cd->channels; - int samples = channels_count * frames; + size_t samples = channels_count * frames; while (samples) { m = cir_buf_samples_without_wrap_s16(in, source->buf_end); diff --git a/src/audio/volume/volume_hifi3_with_peakvol.c b/src/audio/volume/volume_hifi3_with_peakvol.c index bb38fc9bf7ef..164b77fac56d 100644 --- a/src/audio/volume/volume_hifi3_with_peakvol.c +++ b/src/audio/volume/volume_hifi3_with_peakvol.c @@ -44,13 +44,14 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 in_sample; ae_f32x2 out_sample; ae_f32x2 volume; - int channel, n, i, m; + int channel; + size_t n, i, m; ae_f32 *in0 = (void *)source->ptr; ae_f32 *out0 = sink->ptr; ae_f32 *in, *out; const int channels_count = cd->channels; const int inc = sizeof(ae_f32) * channels_count; - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32x2 peak_vol; uint32_t *peak_meter = cd->peak_regs.peak_meter; @@ -114,13 +115,14 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f32x2 in_sample; - int channel, n, i, m; + int channel; + size_t n, i, m; ae_f32 *in0 = (void *)source->ptr; ae_f32 *out0 = sink->ptr; ae_f32 *in, *out; const int channels_count = cd->channels; const int inc = sizeof(ae_f32) * channels_count; - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32x2 peak_vol; uint32_t *peak_meter = cd->peak_regs.peak_meter; @@ -170,10 +172,11 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 in_sample; ae_f32x2 out_sample; ae_f32x2 volume; - int i, n, channel, m; + size_t i, n, m; + int channel; const int channels_count = cd->channels; const int inc = sizeof(ae_f32) * channels_count; - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32 *in0 = (void *)source->ptr; ae_f32 *out0 = sink->ptr; ae_f32 *in, *out; @@ -238,10 +241,11 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f32x2 in_sample; - int i, n, channel, m; + size_t i, n, m; + int channel; const int channels_count = cd->channels; const int inc = sizeof(ae_f32) * channels_count; - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32 *in0 = (void *)source->ptr; ae_f32 *out0 = sink->ptr; ae_f32 *in, *out; @@ -295,14 +299,15 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_f32x2 out_sample0; ae_f16x4 in_sample; ae_f16x4 out_sample; - int i, n, channel, m; + size_t i, n, m; + int channel; ae_f16 *in; ae_f16 *out; ae_f16 *in0 = (void *)source->ptr; ae_f16 *out0 = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f16) * channels_count; - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32x2 peak_vol; uint32_t *peak_meter = cd->peak_regs.peak_meter; @@ -370,14 +375,15 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f16x4 in_sample; - int i, n, channel, m; + size_t i, n, m; + int channel; ae_f16 *in; ae_f16 *out; ae_f16 *in0 = (void *)source->ptr; ae_f16 *out0 = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f16) * channels_count; - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32x2 peak_vol; uint32_t *peak_meter = cd->peak_regs.peak_meter; diff --git a/src/audio/volume/volume_hifi4.c b/src/audio/volume/volume_hifi4.c index 0b6fbeff8af2..cb4a2687f222 100644 --- a/src/audio/volume/volume_hifi4.c +++ b/src/audio/volume/volume_hifi4.c @@ -66,7 +66,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 volume; ae_f32x2 *buf; ae_f32x2 *buf_end; - int i, n, m; + size_t i, n, m; ae_f32x2 *vol; ae_valign inu; ae_valign outu = AE_ZALIGN64(); @@ -74,7 +74,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; /* to ensure the address is 8-byte aligned and avoid risk of * error loading of volume gain while the cd->vol would be set @@ -143,12 +143,12 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f32x2 in_sample; - int i, n, m; + size_t i, n, m; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; - int samples = cd->channels * frames; + size_t samples = cd->channels * frames; while (samples) { m = cir_buf_samples_without_wrap_s32(in, source->buf_end); @@ -189,7 +189,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 in_sample; ae_f32x2 out_sample; ae_f32x2 volume; - int i, n, m; + size_t i, n, m; ae_f32x2 *buf; ae_f32x2 *buf_end; ae_f32x2 *vol; @@ -197,7 +197,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_valign outu = AE_ZALIGN64(); const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; @@ -268,11 +268,11 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f32x2 in_sample; - int i, n, m; + size_t i, n, m; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const int channels_count = cd->channels; - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; @@ -316,7 +316,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_f32x2 out_sample1; ae_f16x4 in_sample; ae_f16x4 out_sample; - int i, n, m, left; + size_t i, n, m, left; ae_f32x2 *buf; ae_f32x2 *buf_end; ae_f32x2 *vol; @@ -326,7 +326,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_f16x4 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; /* to ensure the address is 8-byte aligned and avoid risk of * error loading of volume gain while the cd->vol would be set @@ -433,13 +433,13 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f16x4 in_sample; - int i, n, m, left; + size_t i, n, m, left; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const ae_f16x4 *in = source->ptr; ae_f16x4 *out = sink->ptr; const int channels_count = cd->channels; - int samples = channels_count * frames; + size_t samples = channels_count * frames; while (samples) { m = cir_buf_samples_without_wrap_s16(in, source->buf_end); diff --git a/src/audio/volume/volume_hifi4_with_peakvol.c b/src/audio/volume/volume_hifi4_with_peakvol.c index ece81edb83cf..c17e8d4a501e 100644 --- a/src/audio/volume/volume_hifi4_with_peakvol.c +++ b/src/audio/volume/volume_hifi4_with_peakvol.c @@ -57,7 +57,8 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 in_sample; ae_f32x2 out_sample; ae_f32x2 volume; - int i, n, m; + size_t i, n, m; + int j; ae_f32x2 *vol; ae_valign inu; ae_valign outu = AE_ZALIGN64(); @@ -65,7 +66,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32x2 temp; ae_f32x2 *peakvol = (ae_f32x2 *)cd->peak_vol; @@ -124,9 +125,9 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) - cd->peak_regs.peak_meter[i] = MAX(cd->peak_vol[i], - cd->peak_vol[i + channels_count]) + for (j = 0; j < channels_count; j++) + cd->peak_regs.peak_meter[j] = MAX(cd->peak_vol[j], + cd->peak_vol[j + channels_count]) << (attenuation + PEAK_24S_32C_ADJUST); } @@ -146,14 +147,15 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, struct vol_data *cd = module_get_private_data(mod); ae_f32x2 in_sample; - int i, n, m; + size_t i, n, m; + int j; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32x2 temp; ae_f32x2 *peakvol = (ae_f32x2 *)cd->peak_vol; @@ -183,9 +185,9 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) - cd->peak_regs.peak_meter[i] = MAX(cd->peak_vol[i], - cd->peak_vol[i + channels_count]) + for (j = 0; j < channels_count; j++) + cd->peak_regs.peak_meter[j] = MAX(cd->peak_vol[j], + cd->peak_vol[j + channels_count]) << (attenuation + PEAK_24S_32C_ADJUST); } #endif /* CONFIG_FORMAT_S24LE */ @@ -207,7 +209,8 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_f32x2 in_sample; ae_f32x2 out_sample; ae_f32x2 volume; - int i, n, m; + size_t i, n, m; + int j; ae_f32x2 *buf; ae_f32x2 *buf_end; ae_f32x2 *vol; @@ -215,7 +218,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_valign outu = AE_ZALIGN64(); const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; ae_f32x2 temp; @@ -279,9 +282,9 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) - cd->peak_regs.peak_meter[i] = MAX(cd->peak_vol[i], - cd->peak_vol[i + channels_count]) << attenuation; + for (j = 0; j < channels_count; j++) + cd->peak_regs.peak_meter[j] = MAX(cd->peak_vol[j], + cd->peak_vol[j + channels_count]) << attenuation; } /** @@ -299,12 +302,13 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f32x2 in_sample; - int i, n, m; + size_t i, n, m; + int j; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_f32x2 *in = source->ptr; ae_f32x2 *out = sink->ptr; ae_f32x2 temp; @@ -335,9 +339,9 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) - cd->peak_regs.peak_meter[i] = MAX(cd->peak_vol[i], - cd->peak_vol[i + channels_count]) << attenuation; + for (j = 0; j < channels_count; j++) + cd->peak_regs.peak_meter[j] = MAX(cd->peak_vol[j], + cd->peak_vol[j + channels_count]) << attenuation; } #endif /* CONFIG_FORMAT_S32LE */ @@ -361,7 +365,8 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_f32x2 out_sample1; ae_f16x4 in_sample; ae_f16x4 out_sample; - int i, n, m, left; + size_t i, n, m, left; + int j; ae_f32x2 *buf; ae_f32x2 *buf_end; ae_f32x2 *vol; @@ -371,7 +376,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_f16x4 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32x2 temp; ae_f32x2 *peakvol = (ae_f32x2 *)cd->peak_vol; @@ -480,11 +485,11 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) { - m = MAX(cd->peak_vol[i], cd->peak_vol[i + channels_count]); - m = MAX(m, cd->peak_vol[i + channels_count * 2]); - m = MAX(m, cd->peak_vol[i + channels_count * 3]); - cd->peak_regs.peak_meter[i] = m << PEAK_16S_32C_ADJUST; + for (j = 0; j < channels_count; j++) { + m = MAX(cd->peak_vol[j], cd->peak_vol[j + channels_count]); + m = MAX(m, cd->peak_vol[j + channels_count * 2]); + m = MAX(m, cd->peak_vol[j + channels_count * 3]); + cd->peak_regs.peak_meter[j] = m << PEAK_16S_32C_ADJUST; } } @@ -503,14 +508,15 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_f16x4 in_sample; - int i, n, m, left; + size_t i, n, m, left; + int j; ae_valign inu; ae_valign outu = AE_ZALIGN64(); const ae_f16x4 *in = source->ptr; ae_f16x4 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_f32x2); - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_f32x2 temp; ae_f32x2 *peakvol = (ae_f32x2 *)cd->peak_vol; @@ -560,11 +566,11 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) { - m = MAX(cd->peak_vol[i], cd->peak_vol[i + channels_count]); - m = MAX(m, cd->peak_vol[i + channels_count * 2]); - m = MAX(m, cd->peak_vol[i + channels_count * 3]); - cd->peak_regs.peak_meter[i] = m << PEAK_16S_32C_ADJUST; + for (j = 0; j < channels_count; j++) { + m = MAX(cd->peak_vol[j], cd->peak_vol[j + channels_count]); + m = MAX(m, cd->peak_vol[j + channels_count * 2]); + m = MAX(m, cd->peak_vol[j + channels_count * 3]); + cd->peak_regs.peak_meter[j] = m << PEAK_16S_32C_ADJUST; } } #endif /* CONFIG_FORMAT_S16LE */ diff --git a/src/audio/volume/volume_hifi5.c b/src/audio/volume/volume_hifi5.c index eaa1cdcc5abc..8cee35395d05 100644 --- a/src/audio/volume/volume_hifi5.c +++ b/src/audio/volume/volume_hifi5.c @@ -65,7 +65,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_int32x2 volume, volume1; ae_int32x4 *buf; ae_int32x4 *buf_end; - int i, n, m; + size_t i, n, m; ae_int32x4 *vol; ae_valignx2 inu; ae_valignx2 outu = AE_ZALIGN128(); @@ -73,7 +73,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_int32x4 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; /* to ensure the address is 16-byte aligned and avoid risk of * error loading of volume gain while the cd->vol would be set @@ -149,12 +149,12 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_int32x2 in_sample, in_sample1; - int i, n, m; + size_t i, n, m; ae_valignx2 inu; ae_valignx2 outu = AE_ZALIGN128(); const ae_int32x4 *in = source->ptr; ae_int32x4 *out = sink->ptr; - int samples = cd->channels * frames; + size_t samples = cd->channels * frames; while (samples) { m = cir_buf_samples_without_wrap_s32(in, source->buf_end); @@ -195,7 +195,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_int32x2 in_sample, in_sample1; ae_int32x2 out_sample, out_sample1; ae_int32x2 volume, volume1; - int i, n, m; + size_t i, n, m; ae_int32x4 *buf; ae_int32x4 *buf_end; ae_int32x4 *vol; @@ -203,7 +203,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_valignx2 outu = AE_ZALIGN128(); const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_int32x4 *in = source->ptr; ae_int32x4 *out = sink->ptr; @@ -279,11 +279,11 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_int32x2 in_sample, in_sample1; - int i, n, m; + size_t i, n, m; ae_valignx2 inu; ae_valignx2 outu = AE_ZALIGN128(); const int channels_count = cd->channels; - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_int32x4 *in = source->ptr; ae_int32x4 *out = sink->ptr; @@ -325,7 +325,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_int32x2 out_temp, out_temp1; ae_int16x4 in_sample, in_sample1; ae_int16x4 out_sample, out_sample1; - int i, n, m; + size_t i, n, m; ae_int32x4 *buf; ae_int32x4 *buf_end; ae_int32x4 *vol; @@ -335,7 +335,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_int16x8 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; /** to ensure the address is 16-byte aligned and avoid risk of * error loading of volume gain while the cd->vol would be set @@ -421,13 +421,13 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_int16x4 in_sample, in_sample1; - int i, n, m; + size_t i, n, m; ae_valignx2 inu; ae_valignx2 outu = AE_ZALIGN128(); const ae_int16x8 *in = source->ptr; ae_int16x8 *out = sink->ptr; const int channels_count = cd->channels; - int samples = channels_count * frames; + size_t samples = channels_count * frames; while (samples) { m = cir_buf_samples_without_wrap_s16(in, source->buf_end); diff --git a/src/audio/volume/volume_hifi5_with_peakvol.c b/src/audio/volume/volume_hifi5_with_peakvol.c index d2315a928be9..3ffe7016ad85 100644 --- a/src/audio/volume/volume_hifi5_with_peakvol.c +++ b/src/audio/volume/volume_hifi5_with_peakvol.c @@ -62,7 +62,8 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_int32x2 in_sample, in_sample1; ae_int32x2 out_sample, out_sample1; ae_int32x2 volume, volume1; - int i, n, m; + size_t i, n, m; + int j; ae_int32x4 *vol; ae_valignx2 inu; ae_valignx2 outu = AE_ZALIGN128(); @@ -70,7 +71,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_int32x4 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_int32x2 temp, temp1; ae_int32x4 *peakvol = (ae_int32x4 *)cd->peak_vol; @@ -139,11 +140,11 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) { - m = MAX(cd->peak_vol[i], cd->peak_vol[i + channels_count]); - m = MAX(m, cd->peak_vol[i + channels_count * 2]); - m = MAX(m, cd->peak_vol[i + channels_count * 3]); - cd->peak_regs.peak_meter[i] = m << (attenuation + PEAK_24S_32C_ADJUST); + for (j = 0; j < channels_count; j++) { + m = MAX(cd->peak_vol[j], cd->peak_vol[j + channels_count]); + m = MAX(m, cd->peak_vol[j + channels_count * 2]); + m = MAX(m, cd->peak_vol[j + channels_count * 3]); + cd->peak_regs.peak_meter[j] = m << (attenuation + PEAK_24S_32C_ADJUST); } } @@ -162,14 +163,15 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_int32x2 in_sample, in_sample1; - int i, n, m; + size_t i, n, m; + int j; ae_valignx2 inu; ae_valignx2 outu = AE_ZALIGN128(); const ae_int32x4 *in = source->ptr; ae_int32x4 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_int32x2 temp, temp1; ae_int32x4 *peakvol = (ae_int32x4 *)cd->peak_vol; @@ -200,11 +202,11 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) { - m = MAX(cd->peak_vol[i], cd->peak_vol[i + channels_count]); - m = MAX(m, cd->peak_vol[i + channels_count * 2]); - m = MAX(m, cd->peak_vol[i + channels_count * 3]); - cd->peak_regs.peak_meter[i] = m << (attenuation + PEAK_24S_32C_ADJUST); + for (j = 0; j < channels_count; j++) { + m = MAX(cd->peak_vol[j], cd->peak_vol[j + channels_count]); + m = MAX(m, cd->peak_vol[j + channels_count * 2]); + m = MAX(m, cd->peak_vol[j + channels_count * 3]); + cd->peak_regs.peak_meter[j] = m << (attenuation + PEAK_24S_32C_ADJUST); } } #endif /* CONFIG_FORMAT_S24LE */ @@ -225,7 +227,8 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_int32x2 in_sample, in_sample1; ae_int32x2 out_sample, out_sample1; ae_int32x2 volume, volume1; - int i, n, m; + size_t i, n, m; + int j; ae_int32x4 *buf; ae_int32x4 *buf_end; ae_int32x4 *vol; @@ -233,7 +236,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou ae_valignx2 outu = AE_ZALIGN128(); const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_int32x4 *in = source->ptr; ae_int32x4 *out = sink->ptr; ae_int32x2 temp, temp1; @@ -303,11 +306,11 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) { - m = MAX(cd->peak_vol[i], cd->peak_vol[i + channels_count]); - m = MAX(m, cd->peak_vol[i + channels_count * 2]); - m = MAX(m, cd->peak_vol[i + channels_count * 3]); - cd->peak_regs.peak_meter[i] = m << attenuation; + for (j = 0; j < channels_count; j++) { + m = MAX(cd->peak_vol[j], cd->peak_vol[j + channels_count]); + m = MAX(m, cd->peak_vol[j + channels_count * 2]); + m = MAX(m, cd->peak_vol[j + channels_count * 3]); + cd->peak_regs.peak_meter[j] = m << attenuation; } } @@ -326,12 +329,13 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_int32x2 in_sample, in_sample1; - int i, n, m; + size_t i, n, m; + int j; ae_valignx2 inu; ae_valignx2 outu = AE_ZALIGN128(); const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; const ae_int32x4 *in = source->ptr; ae_int32x4 *out = sink->ptr; ae_int32x2 temp, temp1; @@ -364,11 +368,11 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) { - m = MAX(cd->peak_vol[i], cd->peak_vol[i + channels_count]); - m = MAX(m, cd->peak_vol[i + channels_count * 2]); - m = MAX(m, cd->peak_vol[i + channels_count * 3]); - cd->peak_regs.peak_meter[i] = m << attenuation; + for (j = 0; j < channels_count; j++) { + m = MAX(cd->peak_vol[j], cd->peak_vol[j + channels_count]); + m = MAX(m, cd->peak_vol[j + channels_count * 2]); + m = MAX(m, cd->peak_vol[j + channels_count * 3]); + cd->peak_regs.peak_meter[j] = m << attenuation; } } #endif /* CONFIG_FORMAT_S32LE */ @@ -390,7 +394,8 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_int32x2 out_temp, out_temp1; ae_int16x4 in_sample, in_sample1; ae_int16x4 out_sample, out_sample1; - int i, n, m; + size_t i, n, m; + int j; ae_int32x4 *buf; ae_int32x4 *buf_end; ae_int32x4 *vol; @@ -400,7 +405,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source ae_int16x8 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_int32x2 temp, temp1; ae_int32x4 *peakvol = (ae_int32x4 *)cd->peak_vol; @@ -483,11 +488,11 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) { - m = MAX(cd->peak_vol[i], cd->peak_vol[i + channels_count]); - m = MAX(m, cd->peak_vol[i + channels_count * 2]); - m = MAX(m, cd->peak_vol[i + channels_count * 3]); - cd->peak_regs.peak_meter[i] = m << PEAK_16S_32C_ADJUST; + for (j = 0; j < channels_count; j++) { + m = MAX(cd->peak_vol[j], cd->peak_vol[j + channels_count]); + m = MAX(m, cd->peak_vol[j + channels_count * 2]); + m = MAX(m, cd->peak_vol[j + channels_count * 3]); + cd->peak_regs.peak_meter[j] = m << PEAK_16S_32C_ADJUST; } } @@ -506,14 +511,15 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, { struct vol_data *cd = module_get_private_data(mod); ae_int16x4 in_sample, in_sample1; - int i, n, m; + size_t i, n, m; + int j; ae_valignx2 inu; ae_valignx2 outu = AE_ZALIGN128(); const ae_int16x8 *in = source->ptr; ae_int16x8 *out = sink->ptr; const int channels_count = cd->channels; const int inc = sizeof(ae_int32x4); - int samples = channels_count * frames; + size_t samples = channels_count * frames; ae_int32x2 temp, temp1; ae_int32x4 *peakvol = (ae_int32x4 *)cd->peak_vol; @@ -549,11 +555,11 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, in = source_cir_buf_wrap(in, source->buf_start, source->buf_end); out = cir_buf_wrap(out, sink->buf_start, sink->buf_end); } - for (i = 0; i < channels_count; i++) { - m = MAX(cd->peak_vol[i], cd->peak_vol[i + channels_count]); - m = MAX(m, cd->peak_vol[i + channels_count * 2]); - m = MAX(m, cd->peak_vol[i + channels_count * 3]); - cd->peak_regs.peak_meter[i] = m << PEAK_16S_32C_ADJUST; + for (j = 0; j < channels_count; j++) { + m = MAX(cd->peak_vol[j], cd->peak_vol[j + channels_count]); + m = MAX(m, cd->peak_vol[j + channels_count * 2]); + m = MAX(m, cd->peak_vol[j + channels_count * 3]); + cd->peak_regs.peak_meter[j] = m << PEAK_16S_32C_ADJUST; } } #endif /* CONFIG_FORMAT_S16LE */ diff --git a/src/include/module/audio/audio_stream.h b/src/include/module/audio/audio_stream.h index ffd8832b68c7..760c14a5adc9 100644 --- a/src/include/module/audio/audio_stream.h +++ b/src/include/module/audio/audio_stream.h @@ -163,9 +163,9 @@ static inline size_t cir_buf_samples_to_wrap_s32(const int32_t *ptr, const int32 * @param buf_end End address of circular buffer. * @return Number of samples to buffer wrap. */ -static inline int cir_buf_samples_without_wrap_s16(const void *ptr, const void *buf_end) +static inline size_t cir_buf_samples_without_wrap_s16(const void *ptr, const void *buf_end) { - int to_end = (const int16_t *)buf_end - (const int16_t *)ptr; + size_t to_end = (const int16_t *)buf_end - (const int16_t *)ptr; assert((intptr_t)buf_end >= (intptr_t)ptr); return to_end; @@ -179,9 +179,9 @@ static inline int cir_buf_samples_without_wrap_s16(const void *ptr, const void * * @return Number of bytes to buffer wrap. For number of samples calculate * need to add size of sample to returned bytes count. */ -static inline int cir_buf_samples_without_wrap_s32(const void *ptr, const void *buf_end) +static inline size_t cir_buf_samples_without_wrap_s32(const void *ptr, const void *buf_end) { - int to_end = (const int32_t *)buf_end - (const int32_t *)ptr; + size_t to_end = (const int32_t *)buf_end - (const int32_t *)ptr; assert((intptr_t)buf_end >= (intptr_t)ptr); return to_end;