#include <avfilter.h>
Data Fields | |
| const char * | name |
| enum CodecType | type |
| int | min_perms |
| int | rej_perms |
| void(* | start_frame )(AVFilterLink *link, AVFilterPicRef *picref) |
| AVFilterPicRef *(* | get_video_buffer )(AVFilterLink *link, int perms) |
| void(* | end_frame )(AVFilterLink *link) |
| void(* | draw_slice )(AVFilterLink *link, int y, int height) |
| int(* | poll_frame )(AVFilterLink *link) |
| int(* | request_frame )(AVFilterLink *link) |
| int(* | config_props )(AVFilterLink *link) |
Definition at line 239 of file avfilter.h.
| const char* AVFilterPad::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.
Definition at line 246 of file avfilter.h.
Referenced by pad_count().
AVFilterPad type. Only video supported now, hopefully someone will add audio in the future.
Definition at line 252 of file avfilter.h.
Minimum required permissions on incoming buffers. Any buffers with insufficient permissions will be automatically copied by the filter system to a new buffer which provides the needed access permissions.
Input pads only.
Definition at line 261 of file avfilter.h.
Referenced by avfilter_start_frame().
Permissions which are not accepted on incoming buffers. Any buffer which has any of these permissions set 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.
Input pads only.
Definition at line 271 of file avfilter.h.
Referenced by avfilter_start_frame().
| void(* AVFilterPad::start_frame)(AVFilterLink *link, AVFilterPicRef *picref) |
Callback called before passing the first slice of a new frame. If NULL, the filter layer will default to storing a reference to the picture inside the link structure.
Input video pads only.
Referenced by avfilter_start_frame().
| AVFilterPicRef*(* AVFilterPad::get_video_buffer)(AVFilterLink *link, int perms) |
Callback function to get a buffer. If NULL, the filter system will handle buffer requests.
Input video pads only.
| void(* AVFilterPad::end_frame)(AVFilterLink *link) |
Callback called after the slices of a frame are completely sent. If NULL, the filter layer will default to releasing the reference stored in the link structure during start_frame().
Input video pads only.
| void(* AVFilterPad::draw_slice)(AVFilterLink *link, int y, int height) |
Slice drawing callback. This is where a filter receives video data and should do its processing.
Input video pads only.
| int(* AVFilterPad::poll_frame)(AVFilterLink *link) |
Frame poll callback. This returns the number of immediately available frames. It should return a positive value if the next request_frame() is guaranteed to return one frame (with no delay).
Defaults to just calling the source poll_frame() method.
Output video pads only.
| int(* AVFilterPad::request_frame)(AVFilterLink *link) |
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.
Output video pads only.
| int(* AVFilterPad::config_props)(AVFilterLink *link) |
Link configuration callback.
For output pads, this should set the link properties such as width/height. This should NOT set the format property - that is negotiated between filters by the filter system using the query_formats() callback before this function is called.
For input pads, this should check the properties of the link, and update the filter's internal state as necessary.
For both input and output filters, this should return zero on success, and another value on error.
1.5.1