|
|
|
@ -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, |
|
|
|
|
}; |
|
|
|
|