lavfi: add negate filter
This filter is a simple wrapper around the LUT filter. Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
8fe0c527f3
commit
171868e25a
@ -813,7 +813,12 @@ format=rgba,lutrgb=a="maxval-minval/2"
|
||||
lutyuv=y=gammaval(0.5)
|
||||
@end example
|
||||
|
||||
@section noformat
|
||||
@section negate
|
||||
|
||||
Negate input video.
|
||||
|
||||
This filter accepts an integer in input, if non-zero it negates the
|
||||
alpha component (if available). The default value in input is 0.
|
||||
|
||||
Force libavfilter not to use any of the specified pixel formats for the
|
||||
input to the next filter.
|
||||
|
@ -36,6 +36,7 @@ OBJS-$(CONFIG_HQDN3D_FILTER) += vf_hqdn3d.o
|
||||
OBJS-$(CONFIG_LUT_FILTER) += vf_lut.o
|
||||
OBJS-$(CONFIG_LUTRGB_FILTER) += vf_lut.o
|
||||
OBJS-$(CONFIG_LUTYUV_FILTER) += vf_lut.o
|
||||
OBJS-$(CONFIG_NEGATE_FILTER) += vf_lut.o
|
||||
OBJS-$(CONFIG_NOFORMAT_FILTER) += vf_format.o
|
||||
OBJS-$(CONFIG_NULL_FILTER) += vf_null.o
|
||||
OBJS-$(CONFIG_OCV_FILTER) += vf_libopencv.o
|
||||
|
@ -57,6 +57,7 @@ void avfilter_register_all(void)
|
||||
REGISTER_FILTER (LUT, lut, vf);
|
||||
REGISTER_FILTER (LUTRGB, lutrgb, vf);
|
||||
REGISTER_FILTER (LUTYUV, lutyuv, vf);
|
||||
REGISTER_FILTER (NEGATE, negate, vf);
|
||||
REGISTER_FILTER (NOFORMAT, noformat, vf);
|
||||
REGISTER_FILTER (NULL, null, vf);
|
||||
REGISTER_FILTER (OCV, ocv, vf);
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include "libavutil/rational.h"
|
||||
|
||||
#define LIBAVFILTER_VERSION_MAJOR 2
|
||||
#define LIBAVFILTER_VERSION_MINOR 8
|
||||
#define LIBAVFILTER_VERSION_MINOR 9
|
||||
#define LIBAVFILTER_VERSION_MICRO 0
|
||||
|
||||
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
||||
|
@ -69,6 +69,7 @@ typedef struct {
|
||||
int is_rgb, is_yuv;
|
||||
int rgba_map[4];
|
||||
int step;
|
||||
int negate_alpha; /* only used by negate */
|
||||
} LutContext;
|
||||
|
||||
#define Y 0
|
||||
@ -369,3 +370,25 @@ DEFINE_LUT_FILTER(lutyuv, "Compute and apply a lookup table to the YUV input vid
|
||||
#if CONFIG_LUTRGB_FILTER
|
||||
DEFINE_LUT_FILTER(lutrgb, "Compute and apply a lookup table to the RGB input video.", init);
|
||||
#endif
|
||||
|
||||
#if CONFIG_NEGATE_FILTER
|
||||
|
||||
static int negate_init(AVFilterContext *ctx, const char *args, void *opaque)
|
||||
{
|
||||
LutContext *lut = ctx->priv;
|
||||
char lut_params[64];
|
||||
|
||||
if (args)
|
||||
sscanf(args, "%d", &lut->negate_alpha);
|
||||
|
||||
av_log(ctx, AV_LOG_DEBUG, "negate_alpha:%d\n", lut->negate_alpha);
|
||||
|
||||
snprintf(lut_params, sizeof(lut_params), "c0=negval:c1=negval:c2=negval:a=%s",
|
||||
lut->negate_alpha ? "negval" : "val");
|
||||
|
||||
return init(ctx, lut_params, opaque);
|
||||
}
|
||||
|
||||
DEFINE_LUT_FILTER(negate, "Negate input video.", negate_init);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user