40 #define OFFSET(x) offsetof(FieldContext, x) 41 #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM 60 outlink->
w = inlink->
w;
65 outlink->
w, outlink->
h);
110 .priv_class = &field_class,
static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref)
This structure describes decoded (raw) audio or video data.
static const AVFilterPad field_inputs[]
int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt)
Main libavfilter public API header.
int h
agreed upon image height
const char * name
Pad name.
static const AVOption field_options[]
AVFilterLink ** inputs
array of pointers to input links
int ff_filter_frame(AVFilterLink *link, AVFrame *frame)
Send a frame of data to the next filter.
#define AV_LOG_VERBOSE
Detailed information.
int interlaced_frame
The content of the picture is interlaced.
A filter pad used for either input or output.
A link between two filters.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this field
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
void * priv
private data for use by the filter
int w
agreed upon image width
AVFilterContext * src
source filter
static const AVFilterPad outputs[]
int format
agreed upon media format
AVFILTER_DEFINE_CLASS(field)
static int config_props_output(AVFilterLink *outlink)
int linesize[AV_NUM_DATA_POINTERS]
For video, size in bytes of each picture line.
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several inputs
Describe the class of an AVClass context structure.
int nb_planes
number of planes of the current format
const char * name
Filter name.
AVFilterLink ** outputs
array of pointers to output links
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
The exact code depends on how similar the blocks are and how related they are to the and needs to apply these operations to the correct inlink or outlink if there are several Macros are available to factor that when no extra processing is inlink
AVFilterContext * dst
dest filter
static const AVFilterPad field_outputs[]