vf_fieldorder.c File Reference

video field order filter, heavily influenced by vf_pad.c More...

#include "libavutil/imgutils.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"

Go to the source code of this file.

Data Structures

struct  FieldOrderContext

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 AVFilterBufferRefget_video_buffer (AVFilterLink *inlink, int perms, int w, int h)
static void start_frame (AVFilterLink *inlink, AVFilterBufferRef *inpicref)
static void draw_slice (AVFilterLink *inlink, int y, int h, int slice_dir)
static void end_frame (AVFilterLink *inlink)

Variables

AVFilter avfilter_vf_fieldorder

Detailed Description

video field order filter, heavily influenced by vf_pad.c

Definition in file vf_fieldorder.c.

Function Documentation

static int config_input ( AVFilterLink inlink)
static

full an array with the number of bytes that the video data occupies per line for each plane of the input video

Definition at line 90 of file vf_fieldorder.c.

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

can only currently do slices if this filter is doing nothing because this filter is moving picture content, the output slice will contain different video lines than the input slice and that complexity will be added later

Definition at line 129 of file vf_fieldorder.c.

static void end_frame ( AVFilterLink inlink)
static

Move every line up one line, working from the top to the bottom of the frame. The original top line is lost. The new last line is created as a copy of the penultimate line from that field.

Move every line down one line, working from the bottom to the top of the frame. The original bottom line is lost. The new first line is created as a copy of the second line from that field.

Definition at line 147 of file vf_fieldorder.c.

static AVFilterBufferRef* get_video_buffer ( AVFilterLink inlink,
int  perms,
int  w,
int  h 
)
static

Definition at line 108 of file vf_fieldorder.c.

Referenced by avfilter_get_video_buffer().

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

Definition at line 38 of file vf_fieldorder.c.

static int query_formats ( AVFilterContext ctx)
static

accept any input pixel format that is not hardware accelerated, not a bitstream format, and does not have vertically sub-sampled chroma

Definition at line 64 of file vf_fieldorder.c.

static void start_frame ( AVFilterLink inlink,
AVFilterBufferRef inpicref 
)
static

Definition at line 116 of file vf_fieldorder.c.

Variable Documentation

AVFilter avfilter_vf_fieldorder
Initial value:
{
.name = "fieldorder",
.description = NULL_IF_CONFIG_SMALL("Set the field order."),
.init = init,
.priv_size = sizeof(FieldOrderContext),
.inputs = (AVFilterPad[]) {{ .name = "default",
.config_props = config_input,
.start_frame = start_frame,
.get_video_buffer = get_video_buffer,
.draw_slice = draw_slice,
.end_frame = end_frame,
.min_perms = AV_PERM_READ,
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, },
{ .name = NULL}},
}

Definition at line 215 of file vf_fieldorder.c.