FFmpeg
3.0.1
|
A link between two filters. More...
#include <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 | |
AVFilterContext * | src |
source filter More... | |
AVFilterPad * | srcpad |
output pad on the source filter More... | |
AVFilterContext * | dst |
dest filter More... | |
AVFilterPad * | dstpad |
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... | |
AVFilterFormats * | in_formats |
Lists of formats and channel layouts supported by the input and output filters respectively. More... | |
AVFilterFormats * | out_formats |
AVFilterFormats * | in_samplerates |
Lists of channel layouts and sample rates used for automatic negotiation. More... | |
AVFilterFormats * | out_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 AVFilterGraph * | graph |
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... | |
AVFrame * | partial_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... | |
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.
Definition at line 361 of file avfilter.h.
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 425 of file avfilter.h.
AVFilterContext* AVFilterLink::src |
source filter
Definition at line 362 of file avfilter.h.
AVFilterPad* AVFilterLink::srcpad |
output pad on the source filter
Definition at line 363 of file avfilter.h.
AVFilterContext* AVFilterLink::dst |
dest filter
Definition at line 365 of file avfilter.h.
AVFilterPad* AVFilterLink::dstpad |
input pad on the dest filter
Definition at line 366 of file avfilter.h.
enum AVMediaType AVFilterLink::type |
filter media type
Definition at line 368 of file avfilter.h.
int AVFilterLink::w |
agreed upon image width
Definition at line 371 of file avfilter.h.
int AVFilterLink::h |
agreed upon image height
Definition at line 372 of file avfilter.h.
AVRational AVFilterLink::sample_aspect_ratio |
agreed upon sample aspect ratio
Definition at line 373 of file avfilter.h.
uint64_t AVFilterLink::channel_layout |
channel layout of current buffer (see libavutil/channel_layout.h)
Definition at line 375 of file avfilter.h.
Referenced by init_filters().
int AVFilterLink::sample_rate |
samples per second
Definition at line 376 of file avfilter.h.
Referenced by init_filters().
int AVFilterLink::format |
agreed upon media format
Definition at line 378 of file avfilter.h.
Referenced by init_filters().
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.
Definition at line 387 of file avfilter.h.
Referenced by main().
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 403 of file avfilter.h.
AVFilterFormats* AVFilterLink::out_formats |
Definition at line 404 of file avfilter.h.
AVFilterFormats* AVFilterLink::in_samplerates |
Lists of channel layouts and sample rates used for automatic negotiation.
Definition at line 410 of file avfilter.h.
AVFilterFormats* AVFilterLink::out_samplerates |
Definition at line 411 of file avfilter.h.
struct AVFilterChannelLayouts* AVFilterLink::in_channel_layouts |
Definition at line 412 of file avfilter.h.
struct AVFilterChannelLayouts* AVFilterLink::out_channel_layouts |
Definition at line 413 of file avfilter.h.
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 422 of file avfilter.h.
enum { ... } AVFilterLink::init_state |
stage of the initialization of the link properties (dimensions, etc)
struct AVFilterGraph* AVFilterLink::graph |
Graph the filter belongs to.
Definition at line 434 of file avfilter.h.
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 440 of file avfilter.h.
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 446 of file avfilter.h.
int AVFilterLink::age_index |
Index in the age array.
Definition at line 451 of file avfilter.h.
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 464 of file avfilter.h.
AVFrame* AVFilterLink::partial_buf |
Buffer partially filled with samples to achieve a fixed/minimum size.
Definition at line 469 of file avfilter.h.
int AVFilterLink::partial_buf_size |
Size of the partial buffer to allocate.
Must be between min_samples and max_samples.
Definition at line 475 of file avfilter.h.
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 484 of file avfilter.h.
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 490 of file avfilter.h.
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 502 of file avfilter.h.
int AVFilterLink::channels |
Number of channels.
Definition at line 507 of file avfilter.h.
unsigned AVFilterLink::flags |
Link processing flags.
Definition at line 512 of file avfilter.h.
int64_t AVFilterLink::frame_count |
Number of past frames sent through the link.
Definition at line 517 of file avfilter.h.
void* AVFilterLink::video_frame_pool |
A pointer to a FFVideoFramePool struct.
Definition at line 522 of file avfilter.h.
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 529 of file avfilter.h.
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 536 of file avfilter.h.