diff --git a/src/audio/volume/volume.c b/src/audio/volume/volume.c index 0414e9246194..eefb3b7c0936 100644 --- a/src/audio/volume/volume.c +++ b/src/audio/volume/volume.c @@ -683,7 +683,7 @@ static vol_zc_func vol_get_zc_function(struct comp_dev *dev, */ static void volume_set_alignment(struct sof_source *source) { - const int channels = source_get_channels(source); + const unsigned int channels = source_get_channels(source); /* The source buffer in HiFi5 processing version needs 16 bytes alignment. The * macro SOF_FRAME_BYTE_ALIGN is set in common.h to the requirement align. diff --git a/src/audio/volume/volume.h b/src/audio/volume/volume.h index b73870d74f1e..f2122ac23579 100644 --- a/src/audio/volume/volume.h +++ b/src/audio/volume/volume.h @@ -153,7 +153,7 @@ struct sof_ipc_ctrl_value_chan; * circular buffer views and only performs the gain scaling. */ typedef void (*vol_scale_func)(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation); + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation); /** * \brief volume interface for function getting nearest zero crossing frame diff --git a/src/audio/volume/volume_arm.c b/src/audio/volume/volume_arm.c index c9d51d62b6b4..2b9857122d66 100644 --- a/src/audio/volume/volume_arm.c +++ b/src/audio/volume/volume_arm.c @@ -36,25 +36,26 @@ static inline int16_t vol_mult_s16(int16_t x, int32_t vol) } static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x = source->ptr; int16_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; if (nch == 2) { const int32_t vol_l = cd->volume[0]; const int32_t vol_r = cd->volume[1]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const uint32_t in0 = *(const uint32_t *)&x[i + 0]; const uint32_t in1 = *(const uint32_t *)&x[i + 2]; const int16_t out_l0 = vol_mult_s16((int16_t)in0, vol_l); @@ -81,12 +82,13 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source const int32_t vol = cd->volume[0]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const uint32_t in0 = *(const uint32_t *)&x[i + 0]; const uint32_t in1 = *(const uint32_t *)&x[i + 2]; const int16_t out0 = vol_mult_s16((int16_t)in0, vol); @@ -107,13 +109,14 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source } } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s16(x[i], vol); } } @@ -127,19 +130,19 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x = source->ptr; int16_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); memcpy_s(y, n * sizeof(int16_t), x, n * sizeof(int16_t)); remaining_samples -= n; @@ -164,25 +167,26 @@ static inline int32_t vol_mult_s24(int32_t x, int32_t vol) } static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; if (nch == 2) { const int32_t vol_l = cd->volume[0]; const int32_t vol_r = cd->volume[1]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = vol_mult_s24(x[i + 0], vol_l); y[i + 1] = vol_mult_s24(x[i + 1], vol_r); y[i + 2] = vol_mult_s24(x[i + 2], vol_l); @@ -199,13 +203,14 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source } } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s24(x[i], vol); } } @@ -219,19 +224,19 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); memcpy_s(y, n * sizeof(int32_t), x, n * sizeof(int32_t)); remaining_samples -= n; @@ -256,25 +261,26 @@ static inline int32_t vol_mult_s32(int32_t x, int32_t vol) } static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; if (nch == 2) { const int32_t vol_l = cd->volume[0]; const int32_t vol_r = cd->volume[1]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = vol_mult_s32(x[i + 0], vol_l); y[i + 1] = vol_mult_s32(x[i + 1], vol_r); y[i + 2] = vol_mult_s32(x[i + 2], vol_l); @@ -291,13 +297,14 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source } } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s32(x[i], vol); } } @@ -311,19 +318,19 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); memcpy_s(y, n * sizeof(int32_t), x, n * sizeof(int32_t)); remaining_samples -= n; @@ -335,16 +342,16 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, #if CONFIG_FORMAT_FLOAT static void vol_float_to_float(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const float *x = source->ptr; float *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; float vol_f[PLATFORM_MAX_CHANNELS]; - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { #if COMP_VOLUME_Q8_16 vol_f[j] = (float)cd->volume[j] * (1.0f / 65536.0f); #elif COMP_VOLUME_Q1_31 @@ -359,12 +366,13 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou const float vol_r = vol_f[1]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = x[i + 0] * vol_l; y[i + 1] = x[i + 1] * vol_r; y[i + 2] = x[i + 2] * vol_l; @@ -383,12 +391,13 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou const float vol = vol_f[0]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = x[i + 0] * vol; y[i + 1] = x[i + 1] * vol; y[i + 2] = x[i + 2] * vol; @@ -404,13 +413,14 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou } } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const float vol = vol_f[j]; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i] * vol; } } @@ -424,19 +434,19 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou static void vol_passthrough_float_to_float(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const float *x = source->ptr; float *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); memcpy_s(y, n * sizeof(float), x, n * sizeof(float)); remaining_samples -= n; diff --git a/src/audio/volume/volume_arm_with_peakvol.c b/src/audio/volume/volume_arm_with_peakvol.c index 80322bc0fc31..3c6eac4c36a1 100644 --- a/src/audio/volume/volume_arm_with_peakvol.c +++ b/src/audio/volume/volume_arm_with_peakvol.c @@ -57,18 +57,18 @@ static inline int16_t vol_mult_s16(int16_t x, int32_t vol) } static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x = source->ptr; int16_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { const int32_t vol_l = cd->volume[0]; @@ -76,8 +76,8 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int16_t x0 = x[i + 0]; const int16_t x1 = x[i + 1]; const int16_t x2 = x[i + 2]; @@ -114,10 +114,10 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s16(x[i], vol); peak = MAX((int32_t)abs(x[i]), peak); } @@ -134,26 +134,26 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x = source->ptr; int16_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int16_t x0 = x[i + 0]; const int16_t x1 = x[i + 1]; const int16_t x2 = x[i + 2]; @@ -185,9 +185,9 @@ static void vol_passthrough_s16_to_s16(struct processing_module *mod, cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i]; peak = MAX((int32_t)abs(x[i]), peak); } @@ -218,18 +218,18 @@ static inline int32_t vol_mult_s24(int32_t x, int32_t vol) } static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { const int32_t vol_l = cd->volume[0]; @@ -237,8 +237,8 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int32_t x0 = x[i + 0]; const int32_t x1 = x[i + 1]; const int32_t x2 = x[i + 2]; @@ -270,10 +270,10 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s24(x[i], vol); peak = MAX(abs(sign_extend_s24(x[i])), peak); } @@ -290,26 +290,26 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int32_t x0 = x[i + 0]; const int32_t x1 = x[i + 1]; const int32_t x2 = x[i + 2]; @@ -341,9 +341,9 @@ static void vol_passthrough_s24_to_s24(struct processing_module *mod, cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i]; peak = MAX(abs(sign_extend_s24(x[i])), peak); } @@ -374,18 +374,18 @@ static inline int32_t vol_mult_s32(int32_t x, int32_t vol) } static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { const int32_t vol_l = cd->volume[0]; @@ -393,8 +393,8 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int32_t x0 = x[i + 0]; const int32_t x1 = x[i + 1]; const int32_t x2 = x[i + 2]; @@ -426,10 +426,10 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s32(x[i], vol); peak = MAX(sat_abs_s32(x[i]), peak); } @@ -446,26 +446,26 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int32_t x0 = x[i + 0]; const int32_t x1 = x[i + 1]; const int32_t x2 = x[i + 2]; @@ -497,9 +497,9 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i]; peak = MAX(sat_abs_s32(x[i]), peak); } @@ -517,16 +517,16 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, #if CONFIG_FORMAT_FLOAT static void vol_float_to_float(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const float *x = source->ptr; float *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; float vol_f[PLATFORM_MAX_CHANNELS]; - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { #if COMP_VOLUME_Q8_16 vol_f[j] = (float)cd->volume[j] * (1.0f / 65536.0f); #elif COMP_VOLUME_Q1_31 @@ -537,9 +537,9 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou } while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { const float vol_l = vol_f[0]; @@ -547,8 +547,8 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou float peak_l = 0.0f; float peak_r = 0.0f; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const float x0 = x[i + 0]; const float x1 = x[i + 1]; const float x2 = x[i + 2]; @@ -582,10 +582,10 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou cd->peak_regs.peak_meter[0] = MAX(ipeak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(ipeak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const float vol = vol_f[j]; float peak = 0.0f; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i] * vol; peak = MAX(fabsf(x[i]), peak); } @@ -603,26 +603,26 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou static void vol_passthrough_float_to_float(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const float *x = source->ptr; float *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { float peak_l = 0.0f; float peak_r = 0.0f; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const float x0 = x[i + 0]; const float x1 = x[i + 1]; const float x2 = x[i + 2]; @@ -656,9 +656,9 @@ static void vol_passthrough_float_to_float(struct processing_module *mod, cd->peak_regs.peak_meter[0] = MAX(ipeak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(ipeak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { float peak = 0.0f; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i]; peak = MAX(fabsf(x[i]), peak); } diff --git a/src/audio/volume/volume_generic.c b/src/audio/volume/volume_generic.c index c16701bc8034..4fb211260356 100644 --- a/src/audio/volume/volume_generic.c +++ b/src/audio/volume/volume_generic.c @@ -57,7 +57,7 @@ static inline int32_t vol_mult_s24_to_s24(int32_t x, int32_t vol) * to 24/32 bit destination buffer. */ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x, *x0; @@ -102,7 +102,7 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -140,7 +140,7 @@ static void vol_passthrough_s24_to_s24(struct processing_module *mod, * to 32 bit destination buffer. */ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x, *x0; @@ -189,7 +189,7 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -227,7 +227,7 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, * to 16 bit destination buffer. */ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x, *x0; @@ -273,7 +273,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); diff --git a/src/audio/volume/volume_generic_with_peakvol.c b/src/audio/volume/volume_generic_with_peakvol.c index 70c39ec1ede7..925d1ca35efc 100644 --- a/src/audio/volume/volume_generic_with_peakvol.c +++ b/src/audio/volume/volume_generic_with_peakvol.c @@ -53,7 +53,7 @@ static inline int32_t vol_mult_s24_to_s24(int32_t x, int32_t vol) * to 24/32 bit destination buffer. */ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x, *x0; @@ -103,7 +103,7 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -153,7 +153,7 @@ static void vol_passthrough_s24_to_s24(struct processing_module *mod, * to 32 bit destination buffer. */ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x, *x0; @@ -207,7 +207,7 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -260,7 +260,7 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, * to 16 bit destination buffer. */ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x, *x0; @@ -311,7 +311,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); diff --git a/src/audio/volume/volume_hifi3.c b/src/audio/volume/volume_hifi3.c index 4ec7266d5937..3a4a2a8bf500 100644 --- a/src/audio/volume/volume_hifi3.c +++ b/src/audio/volume/volume_hifi3.c @@ -57,7 +57,7 @@ static void vol_store_gain(struct vol_data *cd, const unsigned int channels_coun * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -138,7 +138,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -182,7 +182,7 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -261,7 +261,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -304,7 +304,7 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -399,7 +399,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); diff --git a/src/audio/volume/volume_hifi3_with_peakvol.c b/src/audio/volume/volume_hifi3_with_peakvol.c index 180f87c15b13..f5ecaec7927d 100644 --- a/src/audio/volume/volume_hifi3_with_peakvol.c +++ b/src/audio/volume/volume_hifi3_with_peakvol.c @@ -37,7 +37,7 @@ LOG_MODULE_DECLARE(volume_hifi3, CONFIG_SOF_LOG_LEVEL); * \param[in] attenuation factor for peakmeter adjustment */ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -110,7 +110,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -165,7 +165,7 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment */ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -236,7 +236,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -291,7 +291,7 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused for 16bit) */ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -370,7 +370,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); diff --git a/src/audio/volume/volume_hifi4.c b/src/audio/volume/volume_hifi4.c index f892862fe175..0578b7409251 100644 --- a/src/audio/volume/volume_hifi4.c +++ b/src/audio/volume/volume_hifi4.c @@ -57,7 +57,7 @@ static void vol_store_gain(struct vol_data *cd, const unsigned int channels_coun * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -138,7 +138,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -182,7 +182,7 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -263,7 +263,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -306,7 +306,7 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -428,7 +428,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); diff --git a/src/audio/volume/volume_hifi4_with_peakvol.c b/src/audio/volume/volume_hifi4_with_peakvol.c index fa0f7fe7aa6c..1809d7fa8dea 100644 --- a/src/audio/volume/volume_hifi4_with_peakvol.c +++ b/src/audio/volume/volume_hifi4_with_peakvol.c @@ -50,7 +50,7 @@ static inline void vol_store_gain(struct vol_data *cd, const unsigned int channe * \param[in] attenuation factor for peakmeter adjustment */ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -141,7 +141,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -202,7 +202,7 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment */ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -297,7 +297,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -355,7 +355,7 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused for 16bit) */ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -503,7 +503,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); diff --git a/src/audio/volume/volume_hifi5.c b/src/audio/volume/volume_hifi5.c index 683aa329b272..37363b3a7bc5 100644 --- a/src/audio/volume/volume_hifi5.c +++ b/src/audio/volume/volume_hifi5.c @@ -56,7 +56,7 @@ static void vol_store_gain(struct vol_data *cd, const unsigned int channels_coun * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -144,7 +144,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -188,7 +188,7 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -274,7 +274,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -317,7 +317,7 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused) */ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -416,7 +416,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); diff --git a/src/audio/volume/volume_hifi5_with_peakvol.c b/src/audio/volume/volume_hifi5_with_peakvol.c index 308f70c70052..a543a9408403 100644 --- a/src/audio/volume/volume_hifi5_with_peakvol.c +++ b/src/audio/volume/volume_hifi5_with_peakvol.c @@ -56,7 +56,7 @@ static inline void vol_store_gain(struct vol_data *cd, const unsigned int channe * \param[in] attenuation factor for peakmeter adjustment */ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); ae_int32x2 in_sample, in_sample1; @@ -158,7 +158,7 @@ static void vol_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -221,7 +221,7 @@ static void vol_passthrough_s24_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment */ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); ae_int32x2 in_sample, in_sample1; @@ -324,7 +324,7 @@ static void vol_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_sou */ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); @@ -387,7 +387,7 @@ static void vol_passthrough_s32_to_s24_s32(struct processing_module *mod, * \param[in] attenuation factor for peakmeter adjustment (unused for 16bit) */ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); ae_int32x2 volume, volume1, volume2, volume3; @@ -506,7 +506,7 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source */ static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); diff --git a/src/audio/volume/volume_riscv.c b/src/audio/volume/volume_riscv.c index dede45ed9590..f5373fe5280e 100644 --- a/src/audio/volume/volume_riscv.c +++ b/src/audio/volume/volume_riscv.c @@ -55,25 +55,26 @@ static inline int16_t vol_mult_s16(int16_t x, int32_t vol) } static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x = source->ptr; int16_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; if (nch == 2) { const int32_t vol_l = cd->volume[0]; const int32_t vol_r = cd->volume[1]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = vol_mult_s16(x[i + 0], vol_l); y[i + 1] = vol_mult_s16(x[i + 1], vol_r); y[i + 2] = vol_mult_s16(x[i + 2], vol_l); @@ -92,12 +93,13 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source const int32_t vol = cd->volume[0]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = vol_mult_s16(x[i + 0], vol); y[i + 1] = vol_mult_s16(x[i + 1], vol); y[i + 2] = vol_mult_s16(x[i + 2], vol); @@ -113,13 +115,14 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source } } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s16(x[i], vol); } } @@ -133,19 +136,19 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x = source->ptr; int16_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); memcpy_s(y, n * sizeof(int16_t), x, n * sizeof(int16_t)); remaining_samples -= n; @@ -170,25 +173,26 @@ static inline int32_t vol_mult_s24(int32_t x, int32_t vol) } static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; if (nch == 2) { const int32_t vol_l = cd->volume[0]; const int32_t vol_r = cd->volume[1]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = vol_mult_s24(x[i + 0], vol_l); y[i + 1] = vol_mult_s24(x[i + 1], vol_r); y[i + 2] = vol_mult_s24(x[i + 2], vol_l); @@ -205,13 +209,14 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source } } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s24(x[i], vol); } } @@ -225,19 +230,19 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); memcpy_s(y, n * sizeof(int32_t), x, n * sizeof(int32_t)); remaining_samples -= n; @@ -261,25 +266,26 @@ static inline int32_t vol_mult_s32(int32_t x, int32_t vol) } static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; if (nch == 2) { const int32_t vol_l = cd->volume[0]; const int32_t vol_r = cd->volume[1]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = vol_mult_s32(x[i + 0], vol_l); y[i + 1] = vol_mult_s32(x[i + 1], vol_r); y[i + 2] = vol_mult_s32(x[i + 2], vol_l); @@ -296,13 +302,14 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source } } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s32(x[i], vol); } } @@ -316,19 +323,19 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); memcpy_s(y, n * sizeof(int32_t), x, n * sizeof(int32_t)); remaining_samples -= n; @@ -340,16 +347,16 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, #if CONFIG_FORMAT_FLOAT static void vol_float_to_float(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const float *x = source->ptr; float *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; float vol_f[PLATFORM_MAX_CHANNELS]; - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { #if COMP_VOLUME_Q8_16 vol_f[j] = (float)cd->volume[j] * (1.0f / 65536.0f); #elif COMP_VOLUME_Q1_31 @@ -364,12 +371,13 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou const float vol_r = vol_f[1]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = x[i + 0] * vol_l; y[i + 1] = x[i + 1] * vol_r; y[i + 2] = x[i + 2] * vol_l; @@ -388,12 +396,13 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou const float vol = vol_f[0]; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { y[i + 0] = x[i + 0] * vol; y[i + 1] = x[i + 1] * vol; y[i + 2] = x[i + 2] * vol; @@ -409,13 +418,14 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou } } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const float vol = vol_f[j]; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i] * vol; } } @@ -429,19 +439,19 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou static void vol_passthrough_float_to_float(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const float *x = source->ptr; float *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); memcpy_s(y, n * sizeof(float), x, n * sizeof(float)); remaining_samples -= n; diff --git a/src/audio/volume/volume_riscv_with_peakvol.c b/src/audio/volume/volume_riscv_with_peakvol.c index fd00ff3a2ac5..fcfbca3da181 100644 --- a/src/audio/volume/volume_riscv_with_peakvol.c +++ b/src/audio/volume/volume_riscv_with_peakvol.c @@ -55,18 +55,18 @@ static inline int16_t vol_mult_s16(int16_t x, int32_t vol) } static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x = source->ptr; int16_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { const int32_t vol_l = cd->volume[0]; @@ -74,8 +74,8 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int16_t x0 = x[i + 0]; const int16_t x1 = x[i + 1]; const int16_t x2 = x[i + 2]; @@ -107,10 +107,10 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s16(x[i], vol); peak = MAX((int32_t)abs(x[i]), peak); } @@ -127,23 +127,23 @@ static void vol_s16_to_s16(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s16_to_s16(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int16_t *x = source->ptr; int16_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s16(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s16(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i]; peak = MAX((int32_t)abs(x[i]), peak); } @@ -173,18 +173,18 @@ static inline int32_t vol_mult_s24(int32_t x, int32_t vol) } static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { const int32_t vol_l = cd->volume[0]; @@ -192,8 +192,8 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int32_t x0 = x[i + 0]; const int32_t x1 = x[i + 1]; const int32_t x2 = x[i + 2]; @@ -225,10 +225,10 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s24(x[i], vol); peak = MAX(abs(x[i]), peak); } @@ -245,23 +245,23 @@ static void vol_s24_to_s24(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s24_to_s24(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i]; peak = MAX(abs(x[i]), peak); } @@ -290,18 +290,18 @@ static inline int32_t vol_mult_s32(int32_t x, int32_t vol) } static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); if (nch == 2) { const int32_t vol_l = cd->volume[0]; @@ -309,8 +309,8 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source int32_t peak_l = 0; int32_t peak_r = 0; - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const int32_t x0 = x[i + 0]; const int32_t x1 = x[i + 1]; const int32_t x2 = x[i + 2]; @@ -342,10 +342,10 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source cd->peak_regs.peak_meter[0] = MAX(peak_l, cd->peak_regs.peak_meter[0]); cd->peak_regs.peak_meter[1] = MAX(peak_r, cd->peak_regs.peak_meter[1]); } else { - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const int32_t vol = cd->volume[j]; int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = vol_mult_s32(x[i], vol); peak = MAX(abs(x[i]), peak); } @@ -362,23 +362,23 @@ static void vol_s32_to_s32(struct processing_module *mod, struct cir_buf_source static void vol_passthrough_s32_to_s32(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const int32_t *x = source->ptr; int32_t *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { int32_t peak = 0; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i]; peak = MAX(abs(x[i]), peak); } @@ -395,16 +395,16 @@ static void vol_passthrough_s32_to_s32(struct processing_module *mod, #if CONFIG_FORMAT_FLOAT static void vol_float_to_float(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, uint32_t attenuation) + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const float *x = source->ptr; float *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; float vol_f[PLATFORM_MAX_CHANNELS]; - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { #if COMP_VOLUME_Q8_16 vol_f[j] = (float)cd->volume[j] * (1.0f / 65536.0f); #elif COMP_VOLUME_Q1_31 @@ -421,12 +421,13 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou float peak_r = 0.0f; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - int i = 0; - for (; i <= n - 4; i += 4) { + size_t i = 0; + for (; i + 4 <= n; i += 4) { const float x0 = x[i + 0]; const float x1 = x[i + 1]; const float x2 = x[i + 2]; @@ -466,14 +467,15 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou cd->peak_regs.peak_meter[1] = MAX(ipeak_r, cd->peak_regs.peak_meter[1]); } else { while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, + source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { const float vol = vol_f[j]; float peak = 0.0f; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i] * vol; peak = MAX(fabsf(x[i]), peak); } @@ -491,23 +493,23 @@ static void vol_float_to_float(struct processing_module *mod, struct cir_buf_sou static void vol_passthrough_float_to_float(struct processing_module *mod, struct cir_buf_source *source, - struct cir_buf_sink *sink, uint32_t frames, + struct cir_buf_sink *sink, size_t frames, uint32_t attenuation) { struct vol_data *cd = module_get_private_data(mod); const float *x = source->ptr; float *y = sink->ptr; - const int nch = cd->channels; - int remaining_samples = frames * nch; + const unsigned int nch = cd->channels; + size_t remaining_samples = frames * nch; while (remaining_samples) { - const int nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); - const int nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); - int n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); + const size_t nmax_src = cir_buf_samples_without_wrap_s32(x, source->buf_end); + const size_t nmax_snk = cir_buf_samples_without_wrap_s32(y, sink->buf_end); + size_t n = MIN(remaining_samples, MIN(nmax_src, nmax_snk)); - for (int j = 0; j < nch; j++) { + for (unsigned int j = 0; j < nch; j++) { float peak = 0.0f; - for (int i = j; i < n; i += nch) { + for (size_t i = j; i < n; i += nch) { y[i] = x[i]; peak = MAX(fabsf(x[i]), peak); }