FFmpeg  3.2.10
Public Types | Data Fields
AVFilterLink Struct Reference

A link between two filters. More...

#include <libavfilter/avfilter.h>

Public Types

enum  { AVLINK_UNINIT = 0, AVLINK_STARTINIT, AVLINK_INIT }
 stage of the initialization of the link properties (dimensions, etc) More...
 

Data Fields

AVFilterContextsrc
 source filter More...
 
AVFilterPadsrcpad
 output pad on the source filter More...
 
AVFilterContextdst
 dest filter More...
 
AVFilterPaddstpad
 input pad on the dest filter More...
 
enum AVMediaType type
 filter media type More...
 
int w
 agreed upon image width More...
 
int h
 agreed upon image height More...
 
AVRational sample_aspect_ratio
 agreed upon sample aspect ratio More...
 
uint64_t channel_layout
 channel layout of current buffer (see libavutil/channel_layout.h) More...
 
int sample_rate
 samples per second More...
 
int format
 agreed upon media format More...
 
AVRational time_base
 Define the time base used by the PTS of the frames/samples which will pass through this link. More...
 
AVFilterFormatsin_formats
 Lists of formats and channel layouts supported by the input and output filters respectively. More...
 
AVFilterFormatsout_formats
 
AVFilterFormatsin_samplerates
 Lists of channel layouts and sample rates used for automatic negotiation. More...
 
AVFilterFormatsout_samplerates
 
struct AVFilterChannelLayouts * in_channel_layouts
 
struct AVFilterChannelLayouts * out_channel_layouts
 
int request_samples
 Audio only, the destination filter sets this to a non-zero value to request that buffers with the given number of samples should be sent to it. More...
 
enum AVFilterLink:: { ... }  init_state
 stage of the initialization of the link properties (dimensions, etc) More...
 
struct AVFilterGraphgraph
 Graph the filter belongs to. More...
 
int64_t current_pts
 Current timestamp of the link, as defined by the most recent frame(s), in link time_base units. More...
 
int64_t current_pts_us
 Current timestamp of the link, as defined by the most recent frame(s), in AV_TIME_BASE units. More...
 
int age_index
 Index in the age array. More...
 
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. More...
 
AVFramepartial_buf
 Buffer partially filled with samples to achieve a fixed/minimum size. More...
 
int partial_buf_size
 Size of the partial buffer to allocate. More...
 
int min_samples
 Minimum number of samples to filter at once. More...
 
int max_samples
 Maximum number of samples to filter at once. More...
 
int status
 Link status. More...
 
int channels
 Number of channels. More...
 
unsigned flags
 Link processing flags. More...
 
int64_t frame_count
 Number of past frames sent through the link. More...
 
void * video_frame_pool
 A pointer to a FFVideoFramePool struct. More...
 
int frame_wanted_in
 True if a frame is currently wanted on the input of this filter. More...
 
int frame_wanted_out
 True if a frame is currently wanted on the output of this filter. More...
 
AVBufferRefhw_frames_ctx
 For hwaccel pixel formats, this should be a reference to the AVHWFramesContext describing the frames. More...
 

Detailed Description

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.

Examples:
filtering_audio.c.

Definition at line 380 of file avfilter.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

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

Enumerator
AVLINK_UNINIT 

not started

AVLINK_STARTINIT 

started, but incomplete

AVLINK_INIT 

complete

Definition at line 444 of file avfilter.h.

Field Documentation

◆ src

AVFilterContext* AVFilterLink::src

source filter

Definition at line 381 of file avfilter.h.

◆ srcpad

AVFilterPad* AVFilterLink::srcpad

output pad on the source filter

Definition at line 382 of file avfilter.h.

◆ dst

AVFilterContext* AVFilterLink::dst

dest filter

Definition at line 384 of file avfilter.h.

◆ dstpad

AVFilterPad* AVFilterLink::dstpad

input pad on the dest filter

Definition at line 385 of file avfilter.h.

◆ type

enum AVMediaType AVFilterLink::type

filter media type

Definition at line 387 of file avfilter.h.

◆ w

int AVFilterLink::w

agreed upon image width

Definition at line 390 of file avfilter.h.

◆ h

int AVFilterLink::h

agreed upon image height

Definition at line 391 of file avfilter.h.

◆ sample_aspect_ratio

AVRational AVFilterLink::sample_aspect_ratio

agreed upon sample aspect ratio

Definition at line 392 of file avfilter.h.

◆ channel_layout

uint64_t AVFilterLink::channel_layout

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

Examples:
filtering_audio.c.

Definition at line 394 of file avfilter.h.

Referenced by init_filters().

◆ sample_rate

int AVFilterLink::sample_rate

samples per second

Examples:
filtering_audio.c.

Definition at line 395 of file avfilter.h.

Referenced by init_filters().

◆ format

int AVFilterLink::format

agreed upon media format

Examples:
filtering_audio.c.

Definition at line 397 of file avfilter.h.

Referenced by init_filters().

◆ time_base

AVRational AVFilterLink::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.

Examples:
filtering_video.c.

Definition at line 406 of file avfilter.h.

Referenced by main().

◆ in_formats

AVFilterFormats* AVFilterLink::in_formats

Lists of formats and channel layouts supported by the input and output filters respectively.

These lists are used for negotiating the format to actually be used, which will be loaded into the format and channel_layout members, above, when chosen.

Definition at line 422 of file avfilter.h.

◆ out_formats

AVFilterFormats* AVFilterLink::out_formats

Definition at line 423 of file avfilter.h.

◆ in_samplerates

AVFilterFormats* AVFilterLink::in_samplerates

Lists of channel layouts and sample rates used for automatic negotiation.

Definition at line 429 of file avfilter.h.

◆ out_samplerates

AVFilterFormats* AVFilterLink::out_samplerates

Definition at line 430 of file avfilter.h.

◆ in_channel_layouts

struct AVFilterChannelLayouts* AVFilterLink::in_channel_layouts

Definition at line 431 of file avfilter.h.

◆ out_channel_layouts

struct AVFilterChannelLayouts* AVFilterLink::out_channel_layouts

Definition at line 432 of file avfilter.h.

◆ request_samples

int AVFilterLink::request_samples

Audio only, the destination filter sets this to a non-zero value to request that buffers with the given number of samples should be sent to it.

AVFilterPad.needs_fifo must also be set on the corresponding input pad. Last buffer before EOF will be padded with silence.

Definition at line 441 of file avfilter.h.

◆ init_state

enum { ... } AVFilterLink::init_state

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

◆ graph

struct AVFilterGraph* AVFilterLink::graph

Graph the filter belongs to.

Definition at line 453 of file avfilter.h.

◆ current_pts

int64_t AVFilterLink::current_pts

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

Definition at line 459 of file avfilter.h.

◆ current_pts_us

int64_t AVFilterLink::current_pts_us

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

Definition at line 465 of file avfilter.h.

◆ age_index

int AVFilterLink::age_index

Index in the age array.

Definition at line 470 of file avfilter.h.

◆ frame_rate

AVRational AVFilterLink::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.

Sources should set it to the best estimation of the real frame rate. If the source frame rate is unknown or variable, set this to 1/0. Filters should update it if necessary depending on their function. Sinks can use it to set a default output frame rate. It is similar to the r_frame_rate field in AVStream.

Definition at line 483 of file avfilter.h.

◆ partial_buf

AVFrame* AVFilterLink::partial_buf

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

Definition at line 488 of file avfilter.h.

◆ partial_buf_size

int AVFilterLink::partial_buf_size

Size of the partial buffer to allocate.

Must be between min_samples and max_samples.

Definition at line 494 of file avfilter.h.

◆ min_samples

int AVFilterLink::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.

Definition at line 503 of file avfilter.h.

◆ max_samples

int AVFilterLink::max_samples

Maximum number of samples to filter at once.

If filter_frame() is called with more samples, it will split them.

Definition at line 509 of file avfilter.h.

◆ status

int AVFilterLink::status

Link status.

If not zero, all attempts of filter_frame or request_frame will fail with the corresponding code, and if necessary the reference will be destroyed. If request_frame returns an error, the status is set on the corresponding link. It can be set also be set by either the source or the destination filter.

Definition at line 521 of file avfilter.h.

◆ channels

int AVFilterLink::channels

Number of channels.

Definition at line 526 of file avfilter.h.

◆ flags

unsigned AVFilterLink::flags

Link processing flags.

Definition at line 531 of file avfilter.h.

◆ frame_count

int64_t AVFilterLink::frame_count

Number of past frames sent through the link.

Definition at line 536 of file avfilter.h.

◆ video_frame_pool

void* AVFilterLink::video_frame_pool

A pointer to a FFVideoFramePool struct.

Definition at line 541 of file avfilter.h.

◆ frame_wanted_in

int AVFilterLink::frame_wanted_in

True if a frame is currently wanted on the input of this filter.

Set when ff_request_frame() is called by the output, cleared when the request is handled or forwarded.

Definition at line 548 of file avfilter.h.

◆ frame_wanted_out

int AVFilterLink::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.

Definition at line 555 of file avfilter.h.

◆ hw_frames_ctx

AVBufferRef* AVFilterLink::hw_frames_ctx

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

Definition at line 561 of file avfilter.h.


The documentation for this struct was generated from the following file: