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... | |
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 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; if left to 0/0, will be automatically be 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 | closed |
True if the link is closed. More... | |
int | channels |
Number of channels. More... | |
unsigned | frame_requested |
True if a frame is being requested on the link. More... | |
unsigned | flags |
Link processing flags. More... | |
int64_t | frame_count |
Number of past frames sent through the link. 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 696 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 760 of file avfilter.h.
AVFilterContext* AVFilterLink::src |
source filter
Definition at line 697 of file avfilter.h.
Referenced by aeval_config_output(), avfilter_config_links(), avfilter_graph_dump_to_buf(), avfilter_insert_filter(), avfilter_link(), compand_drain(), config_audio_output(), config_input(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_out(), config_props_output(), config_props_ref(), config_video_output(), ff_framesync_request_frame(), ff_poll_frame(), ff_request_frame(), ff_tlog_link(), flush_frame(), free_link(), graph_check_validity(), join_config_output(), join_request_frame(), movie_config_output_props(), movie_request_frame(), output_frame(), pick_format(), poll_frame(), push_frame(), push_samples(), push_single_pic(), query_formats(), request_frame(), request_frame_ref(), source_config_props(), and source_request_frame().
AVFilterPad* AVFilterLink::srcpad |
output pad on the source filter
Definition at line 698 of file avfilter.h.
Referenced by avfilter_config_links(), avfilter_graph_dump_to_buf(), avfilter_link(), config_output(), ff_poll_frame(), ff_request_frame(), free_link(), and print_digraph().
AVFilterContext* AVFilterLink::dst |
dest filter
Definition at line 700 of file avfilter.h.
Referenced by add_to_queue(), apply_lut(), apply_palette(), avfilter_config_links(), avfilter_graph_dump_to_buf(), avfilter_graph_request_oldest(), avfilter_insert_filter(), avfilter_link(), channelmap_config_input(), channelmap_filter_frame(), config_audio_input(), config_input(), config_input_main(), config_input_overlay(), config_input_palette(), config_input_props(), config_input_ref(), config_output(), config_props(), config_props_in(), config_props_input(), default_filter_frame(), ff_filter_frame(), ff_filter_frame_framed(), ff_filter_frame_needs_framing(), ff_null_get_audio_buffer(), ff_null_get_video_buffer(), ff_tlog_link(), filter_frame(), filter_frame_left(), filter_frame_ref(), filter_frame_right(), free_link(), geq_config_props(), geq_filter_frame(), get_aspect_ratio(), get_audio_buffer(), get_video_buffer(), graph_check_validity(), pick_format(), plot_cqt(), plot_freqs(), plot_spectrum_column(), pp_config_props(), pp_filter_frame(), print_digraph(), process_frame(), query_formats(), scale_slice(), select_frame(), shuffleplanes_config_input(), and shuffleplanes_filter_frame().
AVFilterPad* AVFilterLink::dstpad |
input pad on the dest filter
Definition at line 701 of file avfilter.h.
Referenced by avfilter_config_links(), avfilter_graph_dump_to_buf(), avfilter_graph_request_oldest(), avfilter_insert_filter(), avfilter_link(), ff_filter_frame_framed(), ff_get_audio_buffer(), ff_get_video_buffer(), free_link(), graph_insert_fifos(), and print_digraph().
enum AVMediaType AVFilterLink::type |
filter media type
Definition at line 703 of file avfilter.h.
Referenced by av_buffersrc_add_frame_internal(), avfilter_config_links(), avfilter_link(), config_input(), config_output(), config_props(), default_query_formats_common(), ff_filter_frame(), ff_filter_frame_framed(), ff_tlog_link(), filter_frame(), filter_query_formats(), formats_declared(), graph_insert_fifos(), lavfi_read_header(), main(), pick_format(), print_digraph(), print_link_prop(), query_formats(), reap_filters(), reduce_formats_on_filter(), select_frame(), swap_channel_layouts_on_filter(), swap_sample_fmts_on_filter(), and swap_samplerates_on_filter().
int AVFilterLink::w |
agreed upon image width
Definition at line 706 of file avfilter.h.
Referenced by alloc_out_frame(), apply_lut(), apply_palette(), apply_unsharp_c(), avfilter_config_links(), blend_frame(), config_input(), config_input_overlay(), config_input_palette(), config_input_props(), config_input_ref(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_input(), config_props_output(), config_props_ref(), config_video_output(), copy_picture_field(), create_weave_frame(), draw_blank_frame(), ff_filter_frame(), ff_filter_frame_framed(), ff_opencl_apply_unsharp(), ff_tlog_link(), filter(), filter_frame(), geq_filter_frame(), get_aspect_ratio(), get_current_tile_pos(), get_palette_frame(), lavfi_read_header(), movie_config_output_props(), plot_freqs(), plot_spectrum_column(), pp_config_props(), pp_filter_frame(), print_digraph(), print_link_prop(), process_frame(), process_work_frame(), push_single_pic(), request_frame(), return_frame(), source_config_props(), source_request_frame(), transcode_init(), and update_context().
int AVFilterLink::h |
agreed upon image height
Definition at line 707 of file avfilter.h.
Referenced by alloc_out_frame(), apply_lut(), apply_palette(), apply_unsharp_c(), avfilter_config_links(), blend_frame(), config_input(), config_input_overlay(), config_input_palette(), config_input_props(), config_input_ref(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_input(), config_props_output(), config_props_ref(), config_video_output(), copy_picture_field(), create_weave_frame(), draw_blank_frame(), ff_filter_frame(), ff_filter_frame_framed(), ff_opencl_apply_unsharp(), ff_opencl_deshake_process_inout_buf(), ff_opencl_unsharp_process_inout_buf(), ff_tlog_link(), filter(), filter_frame(), geq_filter_frame(), get_aspect_ratio(), get_current_tile_pos(), get_palette_frame(), lavfi_read_header(), movie_config_output_props(), plot_freq(), plot_freqs(), plot_spectrum_column(), pp_config_props(), pp_filter_frame(), print_digraph(), print_link_prop(), process_frame(), process_work_frame(), push_single_pic(), request_frame(), return_frame(), source_config_props(), source_request_frame(), transcode_init(), and update_context().
AVRational AVFilterLink::sample_aspect_ratio |
agreed upon sample aspect ratio
Definition at line 708 of file avfilter.h.
Referenced by avfilter_config_links(), config_input(), config_out_props(), config_output(), config_props(), config_props_output(), config_props_ref(), config_video_output(), filter_frame(), get_aspect_ratio(), lavfi_read_header(), print_link_prop(), source_config_props(), and transcode_init().
uint64_t AVFilterLink::channel_layout |
channel layout of current buffer (see libavutil/channel_layout.h)
Definition at line 710 of file avfilter.h.
Referenced by aeval_config_output(), buffer_offset(), channelmap_config_input(), channelmap_filter_frame(), config_audio_output(), config_output(), config_props(), ff_default_get_audio_buffer(), ff_filter_frame(), ff_tlog_link(), filter_frame(), guess_map_any(), guess_map_matching(), init_filters(), join_config_output(), join_request_frame(), lavfi_read_header(), pick_format(), print_digraph(), print_link_prop(), push_samples(), return_audio_frame(), send_silence(), stream_component_open(), and transcode_init().
int AVFilterLink::sample_rate |
samples per second
Definition at line 711 of file avfilter.h.
Referenced by aeval_config_output(), alloc_out_frame(), av_buffersink_get_samples(), avfilter_config_links(), buffer_offset(), compand_delay(), compand_drain(), config_audio_input(), config_audio_output(), config_input(), config_output(), config_output_props(), config_props(), connect_ports(), ff_default_get_audio_buffer(), ff_filter_frame(), ff_filter_frame_needs_framing(), ff_tlog_link(), filter_frame(), flush_frame(), init_filters(), join_request_frame(), lavfi_read_header(), pick_format(), print_digraph(), print_link_prop(), push_frame(), push_samples(), read_from_fifo(), request_frame(), send_out(), send_silence(), stream_component_open(), and transcode_init().
int AVFilterLink::format |
agreed upon media format
Definition at line 713 of file avfilter.h.
Referenced by av_buffersink_get_samples(), avfilter_link(), buffer_offset(), config_audio_output(), config_input(), config_input_main(), config_input_overlay(), config_input_ref(), config_out_props(), config_output(), config_props(), config_props_output(), copy_picture_field(), ff_default_get_audio_buffer(), ff_default_get_video_buffer(), ff_filter_frame(), ff_filter_frame_needs_framing(), ff_opencl_deshake_process_inout_buf(), ff_tlog_link(), filter_frame(), geq_config_props(), get_aspect_ratio(), init_filters(), join_request_frame(), lavfi_read_header(), movie_push_frame(), pick_format(), pick_formats(), pp_config_props(), print_digraph(), print_link_prop(), process_frame(), push_samples(), return_audio_frame(), send_silence(), shuffleplanes_config_input(), and transcode_init().
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 722 of file avfilter.h.
Referenced by alloc_out_frame(), av_buffersink_get_samples(), avfilter_config_links(), buffer_offset(), check_black_end(), compand_delay(), config_input(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_output(), config_props_ref(), DEFINE_BLEND8(), describe_frame_to_str(), do_blend(), draw_text(), ff_dualinput_init(), ff_filter_frame_framed(), ff_filter_frame_needs_framing(), ff_update_link_current_pts(), filter_frame(), geq_filter_frame(), lavfi_read_header(), lavfi_read_packet(), main(), movie_config_output_props(), print_digraph(), process_frame(), push_frame(), push_samples(), read_from_fifo(), reap_filters(), request_frame(), select_frame(), send_out(), send_silence(), set_work_frame_pts(), source_config_props(), transcode_init(), update_context(), and video_thread().
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 738 of file avfilter.h.
Referenced by formats_declared(), free_link(), movie_query_formats(), pick_format(), pick_formats(), query_formats(), and swap_sample_fmts_on_filter().
AVFilterFormats* AVFilterLink::out_formats |
Definition at line 739 of file avfilter.h.
Referenced by avfilter_insert_filter(), formats_declared(), free_link(), pick_format(), query_formats(), and swap_sample_fmts_on_filter().
AVFilterFormats* AVFilterLink::in_samplerates |
Lists of channel layouts and sample rates used for automatic negotiation.
Definition at line 745 of file avfilter.h.
Referenced by formats_declared(), free_link(), movie_query_formats(), pick_format(), query_formats(), and swap_samplerates_on_filter().
AVFilterFormats* AVFilterLink::out_samplerates |
Definition at line 746 of file avfilter.h.
Referenced by avfilter_insert_filter(), formats_declared(), free_link(), pick_format(), query_formats(), and swap_samplerates_on_filter().
struct AVFilterChannelLayouts* AVFilterLink::in_channel_layouts |
Definition at line 747 of file avfilter.h.
Referenced by aeval_query_formats(), channelmap_query_formats(), filter_query_formats(), formats_declared(), free_link(), join_query_formats(), movie_query_formats(), pick_format(), query_formats(), reduce_formats_on_filter(), and swap_channel_layouts_on_filter().
struct AVFilterChannelLayouts* AVFilterLink::out_channel_layouts |
Definition at line 748 of file avfilter.h.
Referenced by aeval_query_formats(), avfilter_insert_filter(), channelmap_query_formats(), filter_query_formats(), formats_declared(), free_link(), join_query_formats(), pick_format(), query_formats(), reduce_formats_on_filter(), and swap_channel_layouts_on_filter().
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 757 of file avfilter.h.
Referenced by join_request_frame(), request_frame(), and return_audio_frame().
enum { ... } AVFilterLink::init_state |
stage of the initialization of the link properties (dimensions, etc)
Referenced by avfilter_config_links().
struct AVFilterGraph* AVFilterLink::graph |
Graph the filter belongs to.
Definition at line 773 of file avfilter.h.
Referenced by ff_update_link_current_pts(), filter_frame(), and graph_config_pointers().
int64_t AVFilterLink::current_pts |
Current timestamp of the link, as defined by the most recent frame(s), in AV_TIME_BASE units.
Definition at line 779 of file avfilter.h.
Referenced by avfilter_config_links(), ff_update_link_current_pts(), heap_bubble_down(), and heap_bubble_up().
int AVFilterLink::age_index |
Index in the age array.
Definition at line 784 of file avfilter.h.
Referenced by avfilter_graph_request_oldest(), ff_avfilter_graph_update_heap(), ff_update_link_current_pts(), graph_config_pointers(), heap_bubble_down(), and heap_bubble_up().
AVRational AVFilterLink::frame_rate |
Frame rate of the stream on the link, or 1/0 if unknown; if left to 0/0, will be automatically be 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. 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 796 of file avfilter.h.
Referenced by av_buffersink_get_frame_rate(), avfilter_config_links(), config_input(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_output(), do_video_out(), movie_config_output_props(), source_config_props(), update_pts(), and video_thread().
AVFrame* AVFilterLink::partial_buf |
Buffer partially filled with samples to achieve a fixed/minimum size.
Definition at line 801 of file avfilter.h.
Referenced by ff_filter_frame(), ff_filter_frame_needs_framing(), and ff_request_frame().
int AVFilterLink::partial_buf_size |
Size of the partial buffer to allocate.
Must be between min_samples and max_samples.
Definition at line 807 of file avfilter.h.
Referenced by av_buffersink_set_frame_size(), config_audio_input(), config_input(), config_output(), and ff_filter_frame_needs_framing().
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 816 of file avfilter.h.
Referenced by av_buffersink_set_frame_size(), config_audio_input(), config_input(), config_output(), ff_filter_frame(), and ff_filter_frame_needs_framing().
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 822 of file avfilter.h.
Referenced by av_buffersink_set_frame_size(), config_audio_input(), config_input(), config_output(), and ff_filter_frame().
int AVFilterLink::closed |
True if the link is closed.
If set, all attempts of start_frame, filter_frame or request_frame will fail with AVERROR_EOF, and if necessary the reference will be destroyed. If request_frame returns AVERROR_EOF, this flag is set on the corresponding link. It can be set also be set by either the source or the destination filter.
Definition at line 845 of file avfilter.h.
Referenced by av_buffersink_get_frame_flags(), avfilter_link_set_closed(), ff_filter_frame_framed(), ff_request_frame(), filter_frame(), push_frame(), and request_frame().
int AVFilterLink::channels |
Number of channels.
Definition at line 850 of file avfilter.h.
Referenced by aeval_config_output(), alloc_out_frame(), av_buffersink_get_samples(), avfilter_link_get_channels(), channelmap_filter_frame(), compand_delay(), compand_drain(), compand_nodelay(), config_input(), config_output(), config_props(), config_props_output(), connect_ports(), ff_default_get_audio_buffer(), ff_filter_frame(), filter_frame(), flush(), join_request_frame(), pick_format(), print_link_prop(), push_frame(), push_samples(), push_single_pic(), request_frame(), and stream_component_open().
unsigned AVFilterLink::frame_requested |
True if a frame is being requested on the link.
Used internally by the framework.
Definition at line 856 of file avfilter.h.
Referenced by ff_filter_frame_framed(), ff_request_frame(), and request_frame().
unsigned AVFilterLink::flags |
Link processing flags.
Definition at line 861 of file avfilter.h.
Referenced by config_audio_output(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_output(), config_video_output(), ff_filter_frame_needs_framing(), ff_framesync_request_frame(), and ff_request_frame().
int64_t AVFilterLink::frame_count |
Number of past frames sent through the link.
Definition at line 866 of file avfilter.h.
Referenced by apply_palette(), DEFINE_BLEND8(), do_blend(), draw_text(), ff_filter_frame_framed(), filter_frame(), geq_filter_frame(), plot_freq(), request_frame(), select_frame(), and update_context().