aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/vf_hflip.c11
-rw-r--r--libavfilter/vf_swapuv.c14
-rw-r--r--libavfilter/vf_vflip.c10
3 files changed, 34 insertions, 1 deletions
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 <string.h>
+#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,
};