avfilter/avfilter: add ff_filter_process_command()

This commit is contained in:
Paul B Mahol 2019-10-08 12:42:40 +02:00
parent f3746d31f9
commit a918b833a5
2 changed files with 20 additions and 0 deletions

View File

@ -884,6 +884,19 @@ static int process_options(AVFilterContext *ctx, AVDictionary **options,
return count;
}
int ff_filter_process_command(AVFilterContext *ctx, const char *cmd,
const char *arg, char *res, int res_len, int flags)
{
const AVOption *o;
if (!ctx->filter->priv_class)
return 0;
o = av_opt_find2(ctx->priv, cmd, NULL, AV_OPT_FLAG_RUNTIME_PARAM | AV_OPT_FLAG_FILTERING_PARAM, AV_OPT_SEARCH_CHILDREN, NULL);
if (!o)
return AVERROR(ENOSYS);
return av_opt_set(ctx->priv, cmd, arg, 0);
}
int avfilter_init_dict(AVFilterContext *ctx, AVDictionary **options)
{
int ret = 0;

View File

@ -411,6 +411,13 @@ static inline int ff_norm_qscale(int qscale, int type)
*/
int ff_filter_get_nb_threads(AVFilterContext *ctx);
/**
* Generic processing of user supplied commands that are set
* in the same way as the filter options.
*/
int ff_filter_process_command(AVFilterContext *ctx, const char *cmd,
const char *arg, char *res, int res_len, int flags);
/**
* Perform any additional setup required for hardware frames.
*