vf_drawbox.c File Reference

Box drawing filter. More...

Go to the source code of this file.

Data Structures

struct  DrawBoxContext
 

Enumerations

enum  { Y, U, V, A }
 

Functions

static av_cold int init (AVFilterContext *ctx, const char *args, void *opaque)
 
static int query_formats (AVFilterContext *ctx)
 
static int config_input (AVFilterLink *inlink)
 
static void draw_slice (AVFilterLink *inlink, int y0, int h, int slice_dir)
 

Variables

AVFilter avfilter_vf_drawbox
 

Detailed Description

Box drawing filter.

Also a nice template for a filter that needs to write in the input frame.

Definition in file vf_drawbox.c.

Enumeration Type Documentation

anonymous enum
Enumerator

Definition at line 32 of file vf_drawbox.c.

Function Documentation

static int config_input ( AVFilterLink inlink)
static

Definition at line 77 of file vf_drawbox.c.

static void draw_slice ( AVFilterLink inlink,
int  y0,
int  h,
int  slice_dir 
)
static

Definition at line 94 of file vf_drawbox.c.

static av_cold int init ( AVFilterContext ctx,
const char *  args,
void opaque 
)
static

Definition at line 40 of file vf_drawbox.c.

static int query_formats ( AVFilterContext ctx)
static

Definition at line 63 of file vf_drawbox.c.

Variable Documentation

AVFilter avfilter_vf_drawbox
Initial value:
= {
.name = "drawbox",
.description = NULL_IF_CONFIG_SMALL("Draw a colored box on the input video."),
.priv_size = sizeof(DrawBoxContext),
.init = init,
.inputs = (AVFilterPad[]) {{ .name = "default",
.config_props = config_input,
.get_video_buffer = avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.draw_slice = draw_slice,
.min_perms = AV_PERM_WRITE | AV_PERM_READ,
.rej_perms = AV_PERM_PRESERVE },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, },
{ .name = NULL}},
}
#define AV_PERM_READ
can read from the buffer
Definition: avfilter.h:81
void avfilter_null_end_frame(AVFilterLink *link)
end_frame() handler for filters which simply pass video along
Definition: defaults.c:278
static int query_formats(AVFilterContext *ctx)
Definition: vf_drawbox.c:63
A filter pad used for either input or output.
Definition: avfilter.h:312
static int config_input(AVFilterLink *inlink)
Definition: vf_drawbox.c:77
static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
Definition: vf_drawbox.c:40
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:191
NULL
Definition: eval.c:50
static void draw_slice(AVFilterLink *inlink, int y0, int h, int slice_dir)
Definition: vf_drawbox.c:94
void avfilter_null_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
start_frame() handler for filters which simply pass video along
Definition: defaults.c:268
AVFilterBufferRef * avfilter_null_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
get_video_buffer() handler for filters which simply pass video along
Definition: defaults.c:288
#define AV_PERM_PRESERVE
nobody else can overwrite the buffer
Definition: avfilter.h:83
#define AV_PERM_WRITE
can write to the buffer
Definition: avfilter.h:82

Definition at line 123 of file vf_drawbox.c.