[FFmpeg-cvslog] avfilter/af_amix: rename sum option to normalize
Paul B Mahol
git at videolan.org
Sat Feb 13 00:02:33 EET 2021
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Fri Feb 12 22:58:13 2021 +0100| [95b854dd0630183d4130ad27097796ef167eb96b] | committer: Paul B Mahol
avfilter/af_amix: rename sum option to normalize
It makes more sense to still use provided weights.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=95b854dd0630183d4130ad27097796ef167eb96b
---
doc/filters.texi | 8 ++++----
libavfilter/af_amix.c | 10 +++++-----
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/doc/filters.texi b/doc/filters.texi
index b3b34bb2e8..282109e808 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -1936,10 +1936,10 @@ stream ends. The default value is 2 seconds.
Specify weight of each input audio stream as sequence.
Each weight is separated by space. By default all inputs have same weight.
- at item sum
-Do not scale inputs but instead do only summation of samples.
-Beware of heavy clipping if inputs are not normalized prior of filtering
-or output from @var{amix} normalized after filtering. By default is disabled.
+ at item normalize
+Always scale inputs instead of only doing summation of samples.
+Beware of heavy clipping if inputs are not normalized prior or after filtering
+by this filter if this option is disabled. By default is enabled.
@end table
@subsection Commands
diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c
index beaf7bcada..45a5dadf0a 100644
--- a/libavfilter/af_amix.c
+++ b/libavfilter/af_amix.c
@@ -164,7 +164,7 @@ typedef struct MixContext {
int duration_mode; /**< mode for determining duration */
float dropout_transition; /**< transition time when an input drops out */
char *weights_str; /**< string for custom weights for every input */
- int sum; /**< inputs are not scaled, only added */
+ int normalize; /**< if inputs are scaled */
int nb_channels; /**< number of channels */
int sample_rate; /**< sample rate */
@@ -196,8 +196,8 @@ static const AVOption amix_options[] = {
OFFSET(dropout_transition), AV_OPT_TYPE_FLOAT, { .dbl = 2.0 }, 0, INT_MAX, A|F },
{ "weights", "Set weight for each input.",
OFFSET(weights_str), AV_OPT_TYPE_STRING, {.str="1 1"}, 0, 0, A|F|T },
- { "sum", "Do not scale inputs instead do only sum",
- OFFSET(sum), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, A|F|T },
+ { "normalize", "Scale inputs",
+ OFFSET(normalize), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1, A|F|T },
{ NULL }
};
@@ -231,8 +231,8 @@ static void calculate_scales(MixContext *s, int nb_samples)
for (i = 0; i < s->nb_inputs; i++) {
if (s->input_state[i] & INPUT_ON) {
- if (s->sum)
- s->input_scale[i] = 1.0f;
+ if (!s->normalize)
+ s->input_scale[i] = FFABS(s->weights[i]);
else
s->input_scale[i] = 1.0f / s->scale_norm[i] * FFSIGN(s->weights[i]);
} else {
More information about the ffmpeg-cvslog
mailing list