AVFilterLink

A link between two filters. This contains pointers to the source and destination filters between which this link exists, and the indexes of the pads involved. In addition, this link also contains the parameters which have been negotiated and agreed upon between the filter, such as image dimensions, format, etc.

Applications must not normally access the link structure directly. Use the buffersrc and buffersink API instead. In the future, access to the header may be reserved for filters implementation.

Members

Enums

_Anonymous_0
enum _Anonymous_0

stage of the initialization of the link properties (dimensions, etc)

Variables

age_index
int age_index;

Index in the age array.

channel_layout
ulong channel_layout;

< channel layout of current buffer (see libavutil/channel_layout.h)

channels
int channels;

Number of channels.

current_pts
long current_pts;

Current timestamp of the link, as defined by the most recent frame(s), in link time_base units.

current_pts_us
long current_pts_us;

Current timestamp of the link, as defined by the most recent frame(s), in AV_TIME_BASE units.

dst
AVFilterContext* dst;

< dest filter

dstpad
AVFilterPad* dstpad;

< input pad on the dest filter

format
int format;

< agreed upon media format

frame_count_in
long frame_count_in;

Number of past frames sent through the link.

frame_count_out
long frame_count_out;
Undocumented in source.
frame_pool
void* frame_pool;

A pointer to a FFFramePool struct.

frame_rate
AVRational frame_rate;

Frame rate of the stream on the link, or 1/0 if unknown or variable; if left to 0/0, will be automatically copied from the first input of the source filter if it exists.

frame_wanted_out
int frame_wanted_out;

True if a frame is currently wanted on the output of this filter. Set when ff_request_frame() is called by the output, cleared when a frame is filtered.

graph
AVFilterGraph* graph;

Graph the filter belongs to.

h
int h;

< agreed upon image height

hw_frames_ctx
AVBufferRef* hw_frames_ctx;

For hwaccel pixel formats, this should be a reference to the AVHWFramesContext describing the frames.

incfg
AVFilterFormatsConfig incfg;

Lists of supported formats / etc. supported by the input filter.

init_state
_Anonymous_0 init_state;
Undocumented in source.
max_samples
int max_samples;

Maximum number of samples to filter at once. If filter_frame() is called with more samples, it will split them.

min_samples
int min_samples;

Minimum number of samples to filter at once. If filter_frame() is called with fewer samples, it will accumulate them in partial_buf. This field and the related ones must not be changed after filtering has started. If 0, all related fields are ignored.

outcfg
AVFilterFormatsConfig outcfg;

Lists of supported formats / etc. supported by the output filter.

partial_buf
AVFrame* partial_buf;

Buffer partially filled with samples to achieve a fixed/minimum size.

partial_buf_size
int partial_buf_size;

Size of the partial buffer to allocate. Must be between min_samples and max_samples.

reserved
char[0xF000] reserved;

Internal structure members. The fields below this limit are internal for libavfilter's use and must in no way be accessed by applications.

sample_aspect_ratio
AVRational sample_aspect_ratio;

< agreed upon sample aspect ratio

sample_rate
int sample_rate;

< samples per second

src
AVFilterContext* src;

< source filter

srcpad
AVFilterPad* srcpad;

< output pad on the source filter

time_base
AVRational time_base;

Define the time base used by the PTS of the frames/samples which will pass through this link. During the configuration stage, each filter is supposed to change only the output timebase, while the timebase of the input link is assumed to be an unchangeable property.

type
AVMediaType type;

< filter media type

w
int w;

< agreed upon image width

Meta