#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 AVFilterBufferRef * | get_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 |
Definition in file vf_fieldorder.c.
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] |
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.
Initial value:
{ .name = "fieldorder", .description = NULL_IF_CONFIG_SMALL("Set the field order."), .init = init, .priv_size = sizeof(FieldOrderContext), .query_formats = query_formats, .inputs = (const AVFilterPad[]) {{ .name = "default", .type = AVMEDIA_TYPE_VIDEO, .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, .rej_perms = AV_PERM_REUSE2|AV_PERM_PRESERVE,}, { .name = NULL}}, .outputs = (const AVFilterPad[]) {{ .name = "default", .type = AVMEDIA_TYPE_VIDEO, }, { .name = NULL}}, }
Definition at line 215 of file vf_fieldorder.c.