Deprecated in 02/2013.tags/n4.0
| @@ -150,13 +150,6 @@ static av_cold int channelmap_init(AVFilterContext *ctx) | |||||
| else | else | ||||
| mode = MAP_PAIR_STR_STR; | mode = MAP_PAIR_STR_STR; | ||||
| } | } | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| if (strchr(mapping, ',')) { | |||||
| av_log(ctx, AV_LOG_WARNING, "This syntax is deprecated, use " | |||||
| "'|' to separate the mappings.\n"); | |||||
| separator = ','; | |||||
| } | |||||
| #endif | |||||
| } | } | ||||
| if (mode != MAP_NONE) { | if (mode != MAP_NONE) { | ||||
| @@ -104,14 +104,6 @@ static int parse_maps(AVFilterContext *ctx) | |||||
| char separator = '|'; | char separator = '|'; | ||||
| char *cur = s->map; | char *cur = s->map; | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| if (cur && strchr(cur, ',')) { | |||||
| av_log(ctx, AV_LOG_WARNING, "This syntax is deprecated, use '|' to " | |||||
| "separate the mappings.\n"); | |||||
| separator = ','; | |||||
| } | |||||
| #endif | |||||
| while (cur && *cur) { | while (cur && *cur) { | ||||
| char *sep, *next, *p; | char *sep, *next, *p; | ||||
| uint64_t in_channel = 0, out_channel = 0; | uint64_t in_channel = 0, out_channel = 0; | ||||
| @@ -624,87 +624,11 @@ int avfilter_init_str(AVFilterContext *filter, const char *args) | |||||
| return AVERROR(EINVAL); | return AVERROR(EINVAL); | ||||
| } | } | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| if (!strcmp(filter->filter->name, "scale") && | |||||
| strchr(args, ':') && strchr(args, ':') < strchr(args, '=')) { | |||||
| /* old w:h:flags=<flags> syntax */ | |||||
| char *copy = av_strdup(args); | |||||
| char *p; | |||||
| av_log(filter, AV_LOG_WARNING, "The <w>:<h>:flags=<flags> option " | |||||
| "syntax is deprecated. Use either <w>:<h>:<flags> or " | |||||
| "w=<w>:h=<h>:flags=<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, '=')) { | if (strchr(args, '=')) { | ||||
| /* assume a list of key1=value1:key2=value2:... */ | /* assume a list of key1=value1:key2=value2:... */ | ||||
| ret = av_dict_parse_string(&options, args, "=", ":", 0); | ret = av_dict_parse_string(&options, args, "=", ":", 0); | ||||
| if (ret < 0) | if (ret < 0) | ||||
| goto fail; | goto fail; | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| } else 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")) { | |||||
| /* 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 | |||||
| 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++; | |||||
| } | |||||
| if (strchr(p, ':')) { | |||||
| av_log(filter, AV_LOG_WARNING, "This syntax is deprecated. Use " | |||||
| "'|' to separate the list items.\n"); | |||||
| } | |||||
| while ((p = strchr(p, ':'))) | |||||
| *p++ = '|'; | |||||
| ret = process_unnamed_options(filter, &options, copy); | |||||
| av_freep(©); | |||||
| if (ret < 0) | |||||
| goto fail; | |||||
| #endif | |||||
| } else { | } else { | ||||
| ret = process_unnamed_options(filter, &options, args); | ret = process_unnamed_options(filter, &options, args); | ||||
| if (ret < 0) | if (ret < 0) | ||||
| @@ -244,14 +244,6 @@ static const AVOption video_options[] = { | |||||
| { "width", NULL, OFFSET(w), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V }, | { "width", NULL, OFFSET(w), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V }, | ||||
| { "height", NULL, OFFSET(h), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V }, | { "height", NULL, OFFSET(h), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V }, | ||||
| { "pix_fmt", NULL, OFFSET(pix_fmt_str), AV_OPT_TYPE_STRING, .flags = V }, | { "pix_fmt", NULL, OFFSET(pix_fmt_str), AV_OPT_TYPE_STRING, .flags = V }, | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| /* those 4 are for compatibility with the old option passing system where each filter | |||||
| * did its own parsing */ | |||||
| { "time_base_num", "deprecated, do not use", OFFSET(time_base.num), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V }, | |||||
| { "time_base_den", "deprecated, do not use", OFFSET(time_base.den), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V }, | |||||
| { "sar_num", "deprecated, do not use", OFFSET(pixel_aspect.num), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V }, | |||||
| { "sar_den", "deprecated, do not use", OFFSET(pixel_aspect.den), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V }, | |||||
| #endif | |||||
| { "sar", "sample aspect ratio", OFFSET(pixel_aspect), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V }, | { "sar", "sample aspect ratio", OFFSET(pixel_aspect), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V }, | ||||
| { "time_base", NULL, OFFSET(time_base), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V }, | { "time_base", NULL, OFFSET(time_base), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V }, | ||||
| { "frame_rate", NULL, OFFSET(frame_rate), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V }, | { "frame_rate", NULL, OFFSET(frame_rate), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V }, | ||||
| @@ -49,9 +49,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 | |||||
| #define FF_API_OLD_FILTER_OPTS (LIBAVFILTER_VERSION_MAJOR < 7) | |||||
| #endif | |||||
| #ifndef FF_API_AVFILTER_OPEN | #ifndef FF_API_AVFILTER_OPEN | ||||
| #define FF_API_AVFILTER_OPEN (LIBAVFILTER_VERSION_MAJOR < 7) | #define FF_API_AVFILTER_OPEN (LIBAVFILTER_VERSION_MAJOR < 7) | ||||
| #endif | #endif | ||||
| @@ -66,27 +66,9 @@ typedef struct AspectContext { | |||||
| const AVClass *class; | const AVClass *class; | ||||
| AVRational dar; | AVRational dar; | ||||
| AVRational sar; | AVRational sar; | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| float aspect_num, aspect_den; | |||||
| #endif | |||||
| char *ratio_expr; | char *ratio_expr; | ||||
| } AspectContext; | } AspectContext; | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| static av_cold int init(AVFilterContext *ctx) | |||||
| { | |||||
| AspectContext *s = ctx->priv; | |||||
| if (s->aspect_num > 0 && s->aspect_den > 0) { | |||||
| av_log(ctx, AV_LOG_WARNING, "This syntax is deprecated, use " | |||||
| "dar=<number> or dar=num/den.\n"); | |||||
| s->sar = s->dar = av_d2q(s->aspect_num / s->aspect_den, INT_MAX); | |||||
| } | |||||
| return 0; | |||||
| } | |||||
| #endif | |||||
| static int filter_frame(AVFilterLink *link, AVFrame *frame) | static int filter_frame(AVFilterLink *link, AVFrame *frame) | ||||
| { | { | ||||
| AspectContext *s = link->dst->priv; | AspectContext *s = link->dst->priv; | ||||
| @@ -138,14 +120,8 @@ static int setdar_config_props(AVFilterLink *inlink) | |||||
| AVRational dar; | AVRational dar; | ||||
| int ret; | int ret; | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| if (!(s->aspect_num > 0 && s->aspect_den > 0)) { | |||||
| #endif | |||||
| if ((ret = get_aspect_ratio(inlink, &s->dar))) | if ((ret = get_aspect_ratio(inlink, &s->dar))) | ||||
| return ret; | return ret; | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| } | |||||
| #endif | |||||
| if (s->dar.num && s->dar.den) { | if (s->dar.num && s->dar.den) { | ||||
| av_reduce(&s->sar.num, &s->sar.den, | av_reduce(&s->sar.num, &s->sar.den, | ||||
| @@ -166,10 +142,6 @@ static int setdar_config_props(AVFilterLink *inlink) | |||||
| } | } | ||||
| static const AVOption setdar_options[] = { | static const AVOption setdar_options[] = { | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| { "dar_num", NULL, OFFSET(aspect_num), AV_OPT_TYPE_FLOAT, { .dbl = 0 }, 0, FLT_MAX, FLAGS }, | |||||
| { "dar_den", NULL, OFFSET(aspect_den), AV_OPT_TYPE_FLOAT, { .dbl = 0 }, 0, FLT_MAX, FLAGS }, | |||||
| #endif | |||||
| { "dar", "display aspect ratio", OFFSET(ratio_expr), AV_OPT_TYPE_STRING, { .str = "1" }, .flags = FLAGS }, | { "dar", "display aspect ratio", OFFSET(ratio_expr), AV_OPT_TYPE_STRING, { .str = "1" }, .flags = FLAGS }, | ||||
| { NULL }, | { NULL }, | ||||
| }; | }; | ||||
| @@ -204,10 +176,6 @@ AVFilter ff_vf_setdar = { | |||||
| .name = "setdar", | .name = "setdar", | ||||
| .description = NULL_IF_CONFIG_SMALL("Set the frame display aspect ratio."), | .description = NULL_IF_CONFIG_SMALL("Set the frame display aspect ratio."), | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| .init = init, | |||||
| #endif | |||||
| .priv_size = sizeof(AspectContext), | .priv_size = sizeof(AspectContext), | ||||
| .priv_class = &setdar_class, | .priv_class = &setdar_class, | ||||
| @@ -224,14 +192,8 @@ static int setsar_config_props(AVFilterLink *inlink) | |||||
| AspectContext *s = inlink->dst->priv; | AspectContext *s = inlink->dst->priv; | ||||
| int ret; | int ret; | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| if (!(s->aspect_num > 0 && s->aspect_den > 0)) { | |||||
| #endif | |||||
| if ((ret = get_aspect_ratio(inlink, &s->sar))) | if ((ret = get_aspect_ratio(inlink, &s->sar))) | ||||
| return ret; | return ret; | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| } | |||||
| #endif | |||||
| inlink->sample_aspect_ratio = s->sar; | inlink->sample_aspect_ratio = s->sar; | ||||
| @@ -239,10 +201,6 @@ static int setsar_config_props(AVFilterLink *inlink) | |||||
| } | } | ||||
| static const AVOption setsar_options[] = { | static const AVOption setsar_options[] = { | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| { "sar_num", NULL, OFFSET(aspect_num), AV_OPT_TYPE_FLOAT, { .dbl = 0 }, 0, FLT_MAX, FLAGS }, | |||||
| { "sar_den", NULL, OFFSET(aspect_den), AV_OPT_TYPE_FLOAT, { .dbl = 0 }, 0, FLT_MAX, FLAGS }, | |||||
| #endif | |||||
| { "sar", "sample (pixel) aspect ratio", OFFSET(ratio_expr), AV_OPT_TYPE_STRING, { .str = "1" }, .flags = FLAGS }, | { "sar", "sample (pixel) aspect ratio", OFFSET(ratio_expr), AV_OPT_TYPE_STRING, { .str = "1" }, .flags = FLAGS }, | ||||
| { NULL }, | { NULL }, | ||||
| }; | }; | ||||
| @@ -277,10 +235,6 @@ AVFilter ff_vf_setsar = { | |||||
| .name = "setsar", | .name = "setsar", | ||||
| .description = NULL_IF_CONFIG_SMALL("Set the pixel sample aspect ratio."), | .description = NULL_IF_CONFIG_SMALL("Set the pixel sample aspect ratio."), | ||||
| #if FF_API_OLD_FILTER_OPTS | |||||
| .init = init, | |||||
| #endif | |||||
| .priv_size = sizeof(AspectContext), | .priv_size = sizeof(AspectContext), | ||||
| .priv_class = &setsar_class, | .priv_class = &setsar_class, | ||||