diff options
author | Paul B Mahol <onemda@gmail.com> | 2019-10-06 15:23:55 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2019-10-06 15:34:28 +0200 |
commit | da9337c911c9cd68b1580e569138b9c79472db1f (patch) | |
tree | 0c1d3b1a494532a04cf6e90843d768d2dc06281b | |
parent | e37edc70bd884182021035f6754464b904cfbf9b (diff) | |
download | ffmpeg-da9337c911c9cd68b1580e569138b9c79472db1f.tar.gz |
avfilter/vf_gblur: add support for commands
-rw-r--r-- | doc/filters.texi | 7 | ||||
-rw-r--r-- | libavfilter/vf_gblur.c | 17 |
2 files changed, 24 insertions, 0 deletions
diff --git a/doc/filters.texi b/doc/filters.texi index 468227ce50..59bac58166 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -10873,6 +10873,13 @@ Set vertical sigma, if negative it will be same as @code{sigma}. Default is @code{-1}. @end table +@subsection Commands +This filter supports same commands as options. +The command accepts the same syntax of the corresponding option. + +If the specified expression is not valid, it is kept at its current +value. + @section geq Apply generic equation to each pixel. diff --git a/libavfilter/vf_gblur.c b/libavfilter/vf_gblur.c index e71b33da80..6ef261478f 100644 --- a/libavfilter/vf_gblur.c +++ b/libavfilter/vf_gblur.c @@ -344,6 +344,22 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) return ff_filter_frame(outlink, out); } +static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, + char *res, int res_len, int flags) +{ + GBlurContext *s = ctx->priv; + int ret = 0; + + if ( !strcmp(cmd, "sigma") || !strcmp(cmd, "sigmaV") + || !strcmp(cmd, "steps") || !strcmp(cmd, "planes")) { + av_opt_set(s, cmd, args, 0); + } else { + ret = AVERROR(ENOSYS); + } + + return ret; +} + static av_cold void uninit(AVFilterContext *ctx) { GBlurContext *s = ctx->priv; @@ -379,4 +395,5 @@ AVFilter ff_vf_gblur = { .inputs = gblur_inputs, .outputs = gblur_outputs, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS, + .process_command = process_command, }; |