1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avfilter/vf_mix: make setting weights more user friendly

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2018-04-29 19:27:15 +02:00
parent 6e95d80e6f
commit c0f2abcc8d
2 changed files with 12 additions and 3 deletions

View File

@ -11177,7 +11177,9 @@ The number of inputs. If unspecified, it defaults to 2.
@item weights
Specify weight of each input video stream as sequence.
Each weight is separated by space.
Each weight is separated by space. If number of weights
is smaller than number of @var{frames} last specified
weight will be used for all remaining unset weights.
@item scale
Specify scale, if it is set it will be multiplied with sum
@ -15603,7 +15605,9 @@ The number of successive frames to mix. If unspecified, it defaults to 3.
@item weights
Specify weight of each input video frame.
Each weight is separated by space.
Each weight is separated by space. If number of weights is smaller than
number of @var{frames} last specified weight will be used for all remaining
unset weights.
@item scale
Specify scale, if it is set it will be multiplied with sum

View File

@ -74,7 +74,7 @@ static av_cold int init(AVFilterContext *ctx)
{
MixContext *s = ctx->priv;
char *p, *arg, *saveptr = NULL;
int i, ret;
int i, ret, last;
s->tmix = !strcmp(ctx->filter->name, "tmix");
@ -110,6 +110,11 @@ static av_cold int init(AVFilterContext *ctx)
p = NULL;
sscanf(arg, "%f", &s->weights[i]);
s->wfactor += s->weights[i];
last = i;
}
for (; i < s->nb_inputs; i++) {
s->weights[i] = s->weights[last];
s->wfactor += s->weights[i];
}
if (s->scale == 0) {
s->wfactor = 1 / s->wfactor;