mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-03 14:32:16 +02:00
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,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(©);
|
||||
|
||||
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);
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user