AVFilterPad

A filter pad used for either input or output.

See doc/filter_design.txt for details on how to implement the methods.

@warning this struct might be removed from public API. users should call avfilter_pad_get_name() and avfilter_pad_get_type() to access the name and type fields; there should be no need to access any other fields from outside of libavfilter.

Members

Variables

config_props
int function(AVFilterLink* link) config_props;

Link configuration callback.

draw_slice
deprecated void function(AVFilterLink* link, int y, int height, int slice_dir) draw_slice;

@deprecated unused

end_frame
deprecated void function(AVFilterLink* link) end_frame;

@deprecated unused

filter_frame
int function(AVFilterLink* link, AVFrame* frame) filter_frame;

Filtering callback. This is where a filter receives a frame with audio/video data and should do its processing.

get_audio_buffer
AVFrame* function(AVFilterLink* link, int perms, int nb_samples) get_audio_buffer;

Callback function to get an audio buffer. If NULL, the filter system will use ff_default_get_audio_buffer().

get_video_buffer
AVFrame* function(AVFilterLink* link, int perms, int w, int h) get_video_buffer;

Callback function to get a video buffer. If NULL, the filter system will use ff_default_get_video_buffer().

min_perms
deprecated int min_perms;

Input pads: Minimum required permissions on incoming buffers. Any buffer with insufficient permissions will be automatically copied by the filter system to a new buffer which provides the needed access permissions.

name
char* name;

Pad name. The name is unique among inputs and among outputs, but an input may have the same name as an output. This may be NULL if this pad has no need to ever be referenced by name.

needs_fifo
int needs_fifo;

The filter expects a fifo to be inserted on its input link, typically because it has a delay.

needs_writable
int needs_writable;

The filter expects writable frames from its input link, duplicating data buffers if needed.

poll_frame
int function(AVFilterLink* link) poll_frame;

Frame poll callback. This returns the number of immediately available samples. It should return a positive value if the next request_frame() is guaranteed to return one frame (with no delay).

rej_perms
deprecated int rej_perms;

Input pads: Permissions which are not accepted on incoming buffers. Any buffer which has any of these permissions set will be automatically copied by the filter system to a new buffer which does not have those permissions. This can be used to easily disallow buffers with AV_PERM_REUSE.

request_frame
int function(AVFilterLink* link) request_frame;

Frame request callback. A call to this should result in at least one frame being output over the given link. This should return zero on success, and another value on error. See ff_request_frame() for the error codes with a specific meaning.

start_frame
deprecated void function(AVFilterLink* link, AVFilterBufferRef* picref) start_frame;

@deprecated unused

type
AVMediaType type;

AVFilterPad type.

Meta