summaryrefslogtreecommitdiff
path: root/libavfilter/vf_format.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/vf_format.c')
-rw-r--r--libavfilter/vf_format.c71
1 files changed, 26 insertions, 45 deletions
diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c
index e1fcc238dc..1813a2c5e9 100644
--- a/libavfilter/vf_format.c
+++ b/libavfilter/vf_format.c
@@ -1,20 +1,20 @@
/*
* Copyright (c) 2007 Bobby Bingham
*
- * This file is part of Libav.
+ * This file is part of FFmpeg.
*
- * Libav is free software; you can redistribute it and/or
+ * FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
- * Libav is distributed in the hope that it will be useful,
+ * FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with Libav; if not, write to the Free Software
+ * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
@@ -52,7 +52,7 @@ static av_cold int init(AVFilterContext *ctx)
FormatContext *s = ctx->priv;
const char *cur, *sep;
char pix_fmt_name[AV_PIX_FMT_NAME_MAXSIZE];
- int pix_fmt_name_len;
+ int pix_fmt_name_len, ret;
enum AVPixelFormat pix_fmt;
/* parse the list of formats */
@@ -68,12 +68,9 @@ static av_cold int init(AVFilterContext *ctx)
memcpy(pix_fmt_name, cur, pix_fmt_name_len);
pix_fmt_name[pix_fmt_name_len] = 0;
- pix_fmt = av_get_pix_fmt(pix_fmt_name);
- if (pix_fmt == AV_PIX_FMT_NONE) {
- av_log(ctx, AV_LOG_ERROR, "Unknown pixel format: %s\n", pix_fmt_name);
- return -1;
- }
+ if ((ret = ff_parse_pixel_format(&pix_fmt, pix_fmt_name, ctx)) < 0)
+ return ret;
s->listed_pix_fmt_flags[pix_fmt] = 1;
}
@@ -101,7 +98,7 @@ static AVFilterFormats *make_format_list(FormatContext *s, int flag)
#define OFFSET(x) offsetof(FormatContext, x)
static const AVOption options[] = {
{ "pix_fmts", "A '|'-separated list of pixel formats", OFFSET(pix_fmts), AV_OPT_TYPE_STRING, .flags = AV_OPT_FLAG_VIDEO_PARAM },
- { NULL },
+ { NULL }
};
#if CONFIG_FORMAT_FILTER
@@ -111,12 +108,8 @@ static int query_formats_format(AVFilterContext *ctx)
return 0;
}
-static const AVClass format_class = {
- .class_name = "format",
- .item_name = av_default_item_name,
- .option = options,
- .version = LIBAVUTIL_VERSION_INT,
-};
+#define format_options options
+AVFILTER_DEFINE_CLASS(format);
static const AVFilterPad avfilter_vf_format_inputs[] = {
{
@@ -136,18 +129,14 @@ static const AVFilterPad avfilter_vf_format_outputs[] = {
};
AVFilter avfilter_vf_format = {
- .name = "format",
- .description = NULL_IF_CONFIG_SMALL("Convert the input video to one of the specified pixel formats."),
-
- .init = init,
-
+ .name = "format",
+ .description = NULL_IF_CONFIG_SMALL("Convert the input video to one of the specified pixel formats."),
+ .init = init,
.query_formats = query_formats_format,
-
- .priv_size = sizeof(FormatContext),
- .priv_class = &format_class,
-
- .inputs = avfilter_vf_format_inputs,
- .outputs = avfilter_vf_format_outputs,
+ .priv_size = sizeof(FormatContext),
+ .priv_class = &format_class,
+ .inputs = avfilter_vf_format_inputs,
+ .outputs = avfilter_vf_format_outputs,
};
#endif /* CONFIG_FORMAT_FILTER */
@@ -158,12 +147,8 @@ static int query_formats_noformat(AVFilterContext *ctx)
return 0;
}
-static const AVClass noformat_class = {
- .class_name = "noformat",
- .item_name = av_default_item_name,
- .option = options,
- .version = LIBAVUTIL_VERSION_INT,
-};
+#define noformat_options options
+AVFILTER_DEFINE_CLASS(noformat);
static const AVFilterPad avfilter_vf_noformat_inputs[] = {
{
@@ -183,17 +168,13 @@ static const AVFilterPad avfilter_vf_noformat_outputs[] = {
};
AVFilter avfilter_vf_noformat = {
- .name = "noformat",
- .description = NULL_IF_CONFIG_SMALL("Force libavfilter not to use any of the specified pixel formats for the input to the next filter."),
-
- .init = init,
-
+ .name = "noformat",
+ .description = NULL_IF_CONFIG_SMALL("Force libavfilter not to use any of the specified pixel formats for the input to the next filter."),
+ .init = init,
.query_formats = query_formats_noformat,
-
- .priv_size = sizeof(FormatContext),
- .priv_class = &noformat_class,
-
- .inputs = avfilter_vf_noformat_inputs,
- .outputs = avfilter_vf_noformat_outputs,
+ .priv_size = sizeof(FormatContext),
+ .priv_class = &noformat_class,
+ .inputs = avfilter_vf_noformat_inputs,
+ .outputs = avfilter_vf_noformat_outputs,
};
#endif /* CONFIG_NOFORMAT_FILTER */