|
FFmpeg
|
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... | |
Public Attributes | |
| AVFilterContext * | src |
| source filter | |
| AVFilterPad * | srcpad |
| output pad on the source filter | |
| AVFilterContext * | dst |
| dest filter | |
| AVFilterPad * | dstpad |
| input pad on the dest filter | |
| enum AVMediaType | type |
| filter media type | |
| int | w |
| agreed upon image width | |
| int | h |
| agreed upon image height | |
| AVRational | sample_aspect_ratio |
| agreed upon sample aspect ratio | |
| uint64_t | channel_layout |
| channel layout of current buffer (see libavutil/channel_layout.h) | |
| int | sample_rate |
| samples per second | |
| int | format |
| agreed upon media format | |
| 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. | |
| 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) | |
| struct AVFilterGraph * | graph |
| Graph the filter belongs to. | |
| int64_t | current_pts |
| Current timestamp of the link, as defined by the most recent frame(s), in link time_base units. | |
| int64_t | current_pts_us |
| Current timestamp of the link, as defined by the most recent frame(s), in AV_TIME_BASE units. | |
| int | age_index |
| Index in the age array. | |
| 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. | |
| 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 | channels |
| Number of channels. | |
| unsigned | flags |
| Link processing flags. | |
| int64_t | frame_count_in |
| Number of past frames sent through the link. | |
| int64_t | frame_count_out |
| void * | frame_pool |
| A pointer to a FFFramePool struct. | |
| int | frame_wanted_out |
| True if a frame is currently wanted on the output of this filter. More... | |
| AVBufferRef * | hw_frames_ctx |
| For hwaccel pixel formats, this should be a reference to the AVHWFramesContext describing the frames. | |
| char | reserved [0xF000] |
| Internal structure members. 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.
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.
| anonymous enum |
| 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.
| 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.
| 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.
| int AVFilterLink::max_samples |
Maximum number of samples to filter at once.
If filter_frame() is called with more samples, it will split them.
| 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.
| int AVFilterLink::partial_buf_size |
Size of the partial buffer to allocate.
Must be between min_samples and max_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.
| char AVFilterLink::reserved[0xF000] |
Internal structure members.
The fields below this limit are internal for libavfilter's use and must in no way be accessed by applications.
| 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.
1.8.12