avfilter/avfilter: Remove compatibility code for old filter options
Added in ad7d972e08dddb1788ac6a434d1be314febcb09d; the old syntax has been deprecated in b439c992c23f3e0f3832fffd2a34a664b236c525. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
e83717e63e
commit
1ec87f50f4
@ -948,86 +948,10 @@ int avfilter_init_str(AVFilterContext *filter, const char *args)
|
|||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if FF_API_OLD_FILTER_OPTS_ERROR
|
|
||||||
if ( !strcmp(filter->filter->name, "format") ||
|
|
||||||
!strcmp(filter->filter->name, "noformat") ||
|
|
||||||
!strcmp(filter->filter->name, "frei0r") ||
|
|
||||||
!strcmp(filter->filter->name, "frei0r_src") ||
|
|
||||||
!strcmp(filter->filter->name, "ocv") ||
|
|
||||||
!strcmp(filter->filter->name, "pan") ||
|
|
||||||
!strcmp(filter->filter->name, "pp") ||
|
|
||||||
!strcmp(filter->filter->name, "aevalsrc")) {
|
|
||||||
/* a hack for compatibility with the old syntax
|
|
||||||
* replace colons with |s */
|
|
||||||
char *copy = av_strdup(args);
|
|
||||||
char *p = copy;
|
|
||||||
int nb_leading = 0; // number of leading colons to skip
|
|
||||||
int deprecated = 0;
|
|
||||||
|
|
||||||
if (!copy) {
|
|
||||||
ret = AVERROR(ENOMEM);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strcmp(filter->filter->name, "frei0r") ||
|
|
||||||
!strcmp(filter->filter->name, "ocv"))
|
|
||||||
nb_leading = 1;
|
|
||||||
else if (!strcmp(filter->filter->name, "frei0r_src"))
|
|
||||||
nb_leading = 3;
|
|
||||||
|
|
||||||
while (nb_leading--) {
|
|
||||||
p = strchr(p, ':');
|
|
||||||
if (!p) {
|
|
||||||
p = copy + strlen(copy);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
|
|
||||||
deprecated = strchr(p, ':') != NULL;
|
|
||||||
|
|
||||||
if (!strcmp(filter->filter->name, "aevalsrc")) {
|
|
||||||
deprecated = 0;
|
|
||||||
while ((p = strchr(p, ':')) && p[1] != ':') {
|
|
||||||
const char *epos = strchr(p + 1, '=');
|
|
||||||
const char *spos = strchr(p + 1, ':');
|
|
||||||
const int next_token_is_opt = epos && (!spos || epos < spos);
|
|
||||||
if (next_token_is_opt) {
|
|
||||||
p++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
/* next token does not contain a '=', assume a channel expression */
|
|
||||||
deprecated = 1;
|
|
||||||
*p++ = '|';
|
|
||||||
}
|
|
||||||
if (p && *p == ':') { // double sep '::' found
|
|
||||||
deprecated = 1;
|
|
||||||
memmove(p, p + 1, strlen(p));
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
while ((p = strchr(p, ':')))
|
|
||||||
*p++ = '|';
|
|
||||||
|
|
||||||
if (deprecated) {
|
|
||||||
av_log(filter, AV_LOG_ERROR, "This syntax is deprecated. Use "
|
|
||||||
"'|' to separate the list items ('%s' instead of '%s')\n",
|
|
||||||
copy, args);
|
|
||||||
ret = AVERROR(EINVAL);
|
|
||||||
} else {
|
|
||||||
ret = process_options(filter, &options, copy);
|
|
||||||
}
|
|
||||||
av_freep(©);
|
|
||||||
|
|
||||||
if (ret < 0)
|
|
||||||
goto fail;
|
|
||||||
} else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
ret = process_options(filter, &options, args);
|
ret = process_options(filter, &options, args);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
ret = avfilter_init_dict(filter, &options);
|
ret = avfilter_init_dict(filter, &options);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
@ -50,9 +50,6 @@
|
|||||||
* the public API and may change, break or disappear at any time.
|
* the public API and may change, break or disappear at any time.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FF_API_OLD_FILTER_OPTS_ERROR
|
|
||||||
#define FF_API_OLD_FILTER_OPTS_ERROR (LIBAVFILTER_VERSION_MAJOR < 8)
|
|
||||||
#endif
|
|
||||||
#ifndef FF_API_LAVR_OPTS
|
#ifndef FF_API_LAVR_OPTS
|
||||||
#define FF_API_LAVR_OPTS (LIBAVFILTER_VERSION_MAJOR < 8)
|
#define FF_API_LAVR_OPTS (LIBAVFILTER_VERSION_MAJOR < 8)
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user