diff --git a/libavfilter/vf_hflip.c b/libavfilter/vf_hflip.c index 6f922847e7..3e502e3261 100644 --- a/libavfilter/vf_hflip.c +++ b/libavfilter/vf_hflip.c @@ -26,6 +26,7 @@ #include +#include "libavutil/opt.h" #include "avfilter.h" #include "formats.h" #include "internal.h" @@ -36,11 +37,18 @@ #include "libavutil/imgutils.h" typedef struct FlipContext { + const AVClass *class; int max_step[4]; ///< max pixel step for each plane, expressed as a number of bytes int planewidth[4]; ///< width of each plane int planeheight[4]; ///< height of each plane } FlipContext; +static const AVOption hflip_options[] = { + { NULL } +}; + +AVFILTER_DEFINE_CLASS(hflip); + static int query_formats(AVFilterContext *ctx) { AVFilterFormats *pix_fmts = NULL; @@ -194,8 +202,9 @@ AVFilter ff_vf_hflip = { .name = "hflip", .description = NULL_IF_CONFIG_SMALL("Horizontally flip the input video."), .priv_size = sizeof(FlipContext), + .priv_class = &hflip_class, .query_formats = query_formats, .inputs = avfilter_vf_hflip_inputs, .outputs = avfilter_vf_hflip_outputs, - .flags = AVFILTER_FLAG_SLICE_THREADS, + .flags = AVFILTER_FLAG_SLICE_THREADS | AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, }; diff --git a/libavfilter/vf_swapuv.c b/libavfilter/vf_swapuv.c index 1a82ef3cc9..8d62c48c4f 100644 --- a/libavfilter/vf_swapuv.c +++ b/libavfilter/vf_swapuv.c @@ -23,6 +23,7 @@ * swap UV filter */ +#include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "libavutil/version.h" #include "avfilter.h" @@ -30,6 +31,16 @@ #include "internal.h" #include "video.h" +typedef struct SwapUVContext { + const AVClass *class; +} SwapUVContext; + +static const AVOption swapuv_options[] = { + { NULL } +}; + +AVFILTER_DEFINE_CLASS(swapuv); + static void do_swap(AVFrame *frame) { FFSWAP(uint8_t*, frame->data[1], frame->data[2]); @@ -110,6 +121,9 @@ AVFilter ff_vf_swapuv = { .name = "swapuv", .description = NULL_IF_CONFIG_SMALL("Swap U and V components."), .query_formats = query_formats, + .priv_size = sizeof(SwapUVContext), + .priv_class = &swapuv_class, .inputs = swapuv_inputs, .outputs = swapuv_outputs, + .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, }; diff --git a/libavfilter/vf_vflip.c b/libavfilter/vf_vflip.c index cb085e8317..c7c39d3341 100644 --- a/libavfilter/vf_vflip.c +++ b/libavfilter/vf_vflip.c @@ -24,15 +24,23 @@ */ #include "libavutil/internal.h" +#include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "avfilter.h" #include "internal.h" #include "video.h" typedef struct FlipContext { + const AVClass *class; int vsub; ///< vertical chroma subsampling } FlipContext; +static const AVOption vflip_options[] = { + { NULL } +}; + +AVFILTER_DEFINE_CLASS(vflip); + static int config_input(AVFilterLink *link) { FlipContext *flip = link->dst->priv; @@ -106,6 +114,8 @@ AVFilter ff_vf_vflip = { .name = "vflip", .description = NULL_IF_CONFIG_SMALL("Flip the input video vertically."), .priv_size = sizeof(FlipContext), + .priv_class = &vflip_class, .inputs = avfilter_vf_vflip_inputs, .outputs = avfilter_vf_vflip_outputs, + .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, };