diff options
Diffstat (limited to 'libavfilter/avfilter.c')
-rw-r--r-- | libavfilter/avfilter.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index d20c74d42a..9cdf12d2d1 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -680,7 +680,6 @@ static const char *const filters_left_to_update[] = { #endif "atempo", "buffer", - "mp", "pan", "scale", }; @@ -818,6 +817,21 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque goto fail; #endif } else { +#if CONFIG_MP_FILTER + if (!strcmp(filter->filter->name, "mp")) { + char *escaped; + + if (!strncmp(args, "filter=", 7)) + args += 7; + ret = av_escape(&escaped, args, ":=", AV_ESCAPE_MODE_BACKSLASH, 0); + if (ret < 0) { + av_log(filter, AV_LOG_ERROR, "Unable to escape MPlayer filters arg '%s'\n", args); + goto fail; + } + ret = process_options(filter, &options, escaped); + av_free(escaped); + } else +#endif ret = process_options(filter, &options, args); if (ret < 0) goto fail; |