From c334c113d4d9e9a41bc38a3e4458d7ab21010401 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 25 Feb 2013 21:21:29 +0100 Subject: vf_scale: switch to an AVOptions-based system. --- libavfilter/avfilter.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'libavfilter/avfilter.c') diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 29b0583023..a92c4acf98 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -481,6 +481,36 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque int ret=0; if (args && *args && filter->filter->priv_class) { +#if FF_API_OLD_FILTER_OPTS + if (!strcmp(filter->filter->name, "scale") && + strchr(args, ':') < strchr(args, '=')) { + /* old w:h:flags= syntax */ + char *copy = av_strdup(args); + char *p; + + av_log(filter, AV_LOG_WARNING, "The ::flags= option " + "syntax is deprecated. Use either :: or " + "w=:h=:flags=.\n"); + + if (!copy) { + ret = AVERROR(ENOMEM); + goto fail; + } + + p = strrchr(copy, ':'); + if (p) { + *p++ = 0; + ret = av_dict_parse_string(&options, p, "=", ":", 0); + } + if (ret >= 0) + ret = process_unnamed_options(filter, &options, copy); + av_freep(©); + + if (ret < 0) + goto fail; + } else +#endif + if (strchr(args, '=')) { /* assume a list of key1=value1:key2=value2:... */ ret = av_dict_parse_string(&options, args, "=", ":", 0); -- cgit v1.2.3