summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2019-11-23 11:07:02 +0100
committerPaul B Mahol <onemda@gmail.com>2019-11-23 11:07:02 +0100
commitaaac48fb50271aa753eb31bfca24ecabb8abc92b (patch)
treeb2f2c6acdac9d753877466a2f944568e312f17c3
parent89aa1342b1e5a48d9c55d9af71e8a8151e101bf2 (diff)
avfilter/vf_normalize: add support for commands
-rw-r--r--doc/filters.texi7
-rw-r--r--libavfilter/vf_normalize.c10
2 files changed, 13 insertions, 4 deletions
diff --git a/doc/filters.texi b/doc/filters.texi
index 4587356f1d..39570d893b 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -13636,6 +13636,13 @@ expensive no-op. Defaults to 1.0 (full strength).
@end table
+@subsection Commands
+This filter supports same @ref{commands} as options, excluding @var{smoothing} option.
+The command accepts the same syntax of the corresponding option.
+
+If the specified expression is not valid, it is kept at its current
+value.
+
@subsection Examples
Stretch video contrast to use the full dynamic range, with no temporal
diff --git a/libavfilter/vf_normalize.c b/libavfilter/vf_normalize.c
index 4a96088ee5..2e1b274f8c 100644
--- a/libavfilter/vf_normalize.c
+++ b/libavfilter/vf_normalize.c
@@ -116,13 +116,14 @@ typedef struct NormalizeContext {
#define OFFSET(x) offsetof(NormalizeContext, x)
#define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
+#define FLAGSR AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
static const AVOption normalize_options[] = {
- { "blackpt", "output color to which darkest input color is mapped", OFFSET(blackpt), AV_OPT_TYPE_COLOR, { .str = "black" }, CHAR_MIN, CHAR_MAX, FLAGS },
- { "whitept", "output color to which brightest input color is mapped", OFFSET(whitept), AV_OPT_TYPE_COLOR, { .str = "white" }, CHAR_MIN, CHAR_MAX, FLAGS },
+ { "blackpt", "output color to which darkest input color is mapped", OFFSET(blackpt), AV_OPT_TYPE_COLOR, { .str = "black" }, CHAR_MIN, CHAR_MAX, FLAGSR },
+ { "whitept", "output color to which brightest input color is mapped", OFFSET(whitept), AV_OPT_TYPE_COLOR, { .str = "white" }, CHAR_MIN, CHAR_MAX, FLAGSR },
{ "smoothing", "amount of temporal smoothing of the input range, to reduce flicker", OFFSET(smoothing), AV_OPT_TYPE_INT, {.i64=0}, 0, INT_MAX/8, FLAGS },
- { "independence", "proportion of independent to linked channel normalization", OFFSET(independence), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, 1.0, FLAGS },
- { "strength", "strength of filter, from no effect to full normalization", OFFSET(strength), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, 1.0, FLAGS },
+ { "independence", "proportion of independent to linked channel normalization", OFFSET(independence), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, 1.0, FLAGSR },
+ { "strength", "strength of filter, from no effect to full normalization", OFFSET(strength), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, 1.0, FLAGSR },
{ NULL }
};
@@ -388,4 +389,5 @@ AVFilter ff_vf_normalize = {
.inputs = inputs,
.outputs = outputs,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .process_command = ff_filter_process_command,
};