*/
/**
- * @file libavfilter/vf_format.c
+ * @file
* format and noformat video filters
*/
+#include "libavutil/pixdesc.h"
#include "avfilter.h"
typedef struct {
memcpy(pix_fmt_name, cur, pix_fmt_name_len);
pix_fmt_name[pix_fmt_name_len] = 0;
- pix_fmt = avcodec_get_pix_fmt(pix_fmt_name);
+ pix_fmt = av_get_pix_fmt(pix_fmt_name);
if (pix_fmt == PIX_FMT_NONE) {
av_log(ctx, AV_LOG_ERROR, "Unknown pixel format: %s\n", pix_fmt_name);
return formats;
}
+#if CONFIG_FORMAT_FILTER
static int query_formats_format(AVFilterContext *ctx)
{
avfilter_set_common_formats(ctx, make_format_list(ctx->priv, 1));
return 0;
}
-static int query_formats_noformat(AVFilterContext *ctx)
-{
- avfilter_set_common_formats(ctx, make_format_list(ctx->priv, 0));
- return 0;
-}
-
-static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms,
- int w, int h)
-{
- return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
-}
-
-static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
-{
- avfilter_start_frame(link->dst->outputs[0], picref);
-}
-
-static void end_frame(AVFilterLink *link)
-{
- avfilter_end_frame(link->dst->outputs[0]);
-}
-
-static void draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
-{
- avfilter_draw_slice(link->dst->outputs[0], y, h, slice_dir);
-}
-
AVFilter avfilter_vf_format = {
.name = "format",
- .description = "Convert the input video to one of the specified pixel formats.",
+ .description = NULL_IF_CONFIG_SMALL("Convert the input video to one of the specified pixel formats."),
.init = init,
.priv_size = sizeof(FormatContext),
.inputs = (AVFilterPad[]) {{ .name = "default",
- .type = CODEC_TYPE_VIDEO,
- .get_video_buffer= get_video_buffer,
- .start_frame = start_frame,
- .draw_slice = draw_slice,
- .end_frame = end_frame, },
+ .type = AVMEDIA_TYPE_VIDEO,
+ .get_video_buffer= avfilter_null_get_video_buffer,
+ .start_frame = avfilter_null_start_frame,
+ .draw_slice = avfilter_null_draw_slice,
+ .end_frame = avfilter_null_end_frame, },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
- .type = CODEC_TYPE_VIDEO },
+ .type = AVMEDIA_TYPE_VIDEO },
{ .name = NULL}},
};
+#endif /* CONFIG_FORMAT_FILTER */
+
+#if CONFIG_NOFORMAT_FILTER
+static int query_formats_noformat(AVFilterContext *ctx)
+{
+ avfilter_set_common_formats(ctx, make_format_list(ctx->priv, 0));
+ return 0;
+}
AVFilter avfilter_vf_noformat = {
.name = "noformat",
- .description = "Force libavfilter not to use any of the specified pixel formats for the input to the next filter.",
+ .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,
.priv_size = sizeof(FormatContext),
.inputs = (AVFilterPad[]) {{ .name = "default",
- .type = CODEC_TYPE_VIDEO,
- .get_video_buffer= get_video_buffer,
- .start_frame = start_frame,
- .draw_slice = draw_slice,
- .end_frame = end_frame, },
+ .type = AVMEDIA_TYPE_VIDEO,
+ .get_video_buffer= avfilter_null_get_video_buffer,
+ .start_frame = avfilter_null_start_frame,
+ .draw_slice = avfilter_null_draw_slice,
+ .end_frame = avfilter_null_end_frame, },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
- .type = CODEC_TYPE_VIDEO },
+ .type = AVMEDIA_TYPE_VIDEO },
{ .name = NULL}},
};
+#endif /* CONFIG_NOFORMAT_FILTER */
+