avfilter/avfilter: Remove compatibility code for old filter options

Added in ad7d972e08dddb1788ac6a434d1be314febcb09d; the old syntax has
been deprecated in b439c992c2.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2021-03-06 17:39:17 +01:00 committed by James Almer
parent e83717e63e
commit 1ec87f50f4
2 changed files with 3 additions and 82 deletions

View File

@ -948,85 +948,9 @@ int avfilter_init_str(AVFilterContext *filter, const char *args)
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(&copy);
if (ret < 0)
goto fail;
} else
#endif
{
ret = process_options(filter, &options, args);
if (ret < 0)
goto fail;
}
ret = process_options(filter, &options, args);
if (ret < 0)
goto fail;
}
ret = avfilter_init_dict(filter, &options);

View File

@ -50,9 +50,6 @@
* 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
#define FF_API_LAVR_OPTS (LIBAVFILTER_VERSION_MAJOR < 8)
#endif