FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
vf_convolution.c File Reference
#include "libavutil/avstring.h"
#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  ConvolutionContext
 

Macros

#define OFFSET(x)   offsetof(ConvolutionContext, x)
 
#define FLAGS   AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
 

Functions

 AVFILTER_DEFINE_CLASS (convolution)
 
static int query_formats (AVFilterContext *ctx)
 
static int config_input (AVFilterLink *inlink)
 
static void line_copy8 (uint8_t *line, const uint8_t *srcp, int width, int mergin)
 
static void filter_3x3 (ConvolutionContext *s, AVFrame *in, AVFrame *out, int plane)
 
static void filter_5x5 (ConvolutionContext *s, AVFrame *in, AVFrame *out, int plane)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *in)
 
static av_cold int init (AVFilterContext *ctx)
 
static av_cold void uninit (AVFilterContext *ctx)
 

Variables

static const AVOption convolution_options []
 
static const int same3x3 [9]
 
static const int same5x5 [25]
 
static const AVFilterPad convolution_inputs []
 
static const AVFilterPad convolution_outputs []
 
AVFilter ff_vf_convolution
 

Macro Definition Documentation

#define OFFSET (   x)    offsetof(ConvolutionContext, x)

Definition at line 50 of file vf_convolution.c.

Definition at line 51 of file vf_convolution.c.

Function Documentation

AVFILTER_DEFINE_CLASS ( convolution  )
static int query_formats ( AVFilterContext ctx)
static

Definition at line 81 of file vf_convolution.c.

static int config_input ( AVFilterLink inlink)
static

Definition at line 97 of file vf_convolution.c.

static void line_copy8 ( uint8_t line,
const uint8_t srcp,
int  width,
int  mergin 
)
inlinestatic

Definition at line 119 of file vf_convolution.c.

Referenced by filter_3x3(), and filter_5x5().

static void filter_3x3 ( ConvolutionContext s,
AVFrame in,
AVFrame out,
int  plane 
)
static

Definition at line 131 of file vf_convolution.c.

Referenced by init().

static void filter_5x5 ( ConvolutionContext s,
AVFrame in,
AVFrame out,
int  plane 
)
static

Definition at line 176 of file vf_convolution.c.

Referenced by init().

static int filter_frame ( AVFilterLink inlink,
AVFrame in 
)
static

Definition at line 233 of file vf_convolution.c.

static av_cold int init ( AVFilterContext ctx)
static

Definition at line 263 of file vf_convolution.c.

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 300 of file vf_convolution.c.

Variable Documentation

const AVOption convolution_options[]
static
Initial value:
= {
{ "0m", "set matrix for 1st plane", OFFSET(matrix_str[0]), AV_OPT_TYPE_STRING, {.str="0 0 0 0 1 0 0 0 0"}, 0, 0, FLAGS },
{ "1m", "set matrix for 2nd plane", OFFSET(matrix_str[1]), AV_OPT_TYPE_STRING, {.str="0 0 0 0 1 0 0 0 0"}, 0, 0, FLAGS },
{ "2m", "set matrix for 3rd plane", OFFSET(matrix_str[2]), AV_OPT_TYPE_STRING, {.str="0 0 0 0 1 0 0 0 0"}, 0, 0, FLAGS },
{ "3m", "set matrix for 4th plane", OFFSET(matrix_str[3]), AV_OPT_TYPE_STRING, {.str="0 0 0 0 1 0 0 0 0"}, 0, 0, FLAGS },
{ "0rdiv", "set rdiv for 1st plane", OFFSET(rdiv[0]), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, INT_MAX, FLAGS},
{ "1rdiv", "set rdiv for 2nd plane", OFFSET(rdiv[1]), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, INT_MAX, FLAGS},
{ "2rdiv", "set rdiv for 3rd plane", OFFSET(rdiv[2]), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, INT_MAX, FLAGS},
{ "3rdiv", "set rdiv for 4th plane", OFFSET(rdiv[3]), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, INT_MAX, FLAGS},
{ "0bias", "set bias for 1st plane", OFFSET(bias[0]), AV_OPT_TYPE_FLOAT, {.dbl=0.0}, 0.0, INT_MAX, FLAGS},
{ "1bias", "set bias for 2nd plane", OFFSET(bias[1]), AV_OPT_TYPE_FLOAT, {.dbl=0.0}, 0.0, INT_MAX, FLAGS},
{ "2bias", "set bias for 3rd plane", OFFSET(bias[2]), AV_OPT_TYPE_FLOAT, {.dbl=0.0}, 0.0, INT_MAX, FLAGS},
{ "3bias", "set bias for 4th plane", OFFSET(bias[3]), AV_OPT_TYPE_FLOAT, {.dbl=0.0}, 0.0, INT_MAX, FLAGS},
{ NULL }
}
#define NULL
Definition: coverity.c:32
#define FLAGS
#define OFFSET(x)

Definition at line 53 of file vf_convolution.c.

const int same3x3[9]
static
Initial value:
= {0, 0, 0,
0, 1, 0,
0, 0, 0}

Definition at line 71 of file vf_convolution.c.

Referenced by init().

const int same5x5[25]
static
Initial value:
= {0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0}

Definition at line 75 of file vf_convolution.c.

Referenced by init().

const AVFilterPad convolution_inputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_input,
.filter_frame = filter_frame,
},
{ NULL }
}
#define NULL
Definition: coverity.c:32
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
static int config_input(AVFilterLink *inlink)

Definition at line 307 of file vf_convolution.c.

const AVFilterPad convolution_outputs[]
static
Initial value:
= {
{
.name = "default",
},
{ NULL }
}
#define NULL
Definition: coverity.c:32

Definition at line 317 of file vf_convolution.c.

AVFilter ff_vf_convolution
Initial value:
= {
.name = "convolution",
.description = NULL_IF_CONFIG_SMALL("Apply convolution filter."),
.priv_size = sizeof(ConvolutionContext),
.priv_class = &convolution_class,
.init = init,
}
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
Definition: avfilter.h:122
static av_cold void uninit(AVFilterContext *ctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:176
static const AVFilterPad convolution_inputs[]
static const AVFilterPad convolution_outputs[]
static int query_formats(AVFilterContext *ctx)
static av_cold int init(AVFilterContext *ctx)
static const AVFilterPad outputs[]
Definition: af_afftfilt.c:385
static const AVFilterPad inputs[]
Definition: af_afftfilt.c:375
static int flags
Definition: cpu.c:47

Definition at line 325 of file vf_convolution.c.