FFmpeg
Public Types | Data Fields
AVFilterLink Struct Reference

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

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...
 
AVFilterFormatsConfig incfg
 Lists of supported formats / etc. More...
 
AVFilterFormatsConfig outcfg
 Lists of supported formats / etc. 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...
 
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. More...
 
int64_t frame_count_in
 Number of past frames sent through the link. More...
 
int64_t frame_count_out
 
int64_t sample_count_in
 Number of past samples sent through the link. More...
 
int64_t sample_count_out
 
void * frame_pool
 A pointer to a FFFramePool struct. 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...
 
char reserved [0xF000]
 Internal structure members. 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.

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.

Examples
filtering_audio.c.

Definition at line 532 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 579 of file avfilter.h.

Field Documentation

◆ src

AVFilterContext* AVFilterLink::src

source filter

Definition at line 533 of file avfilter.h.

Referenced by activate(), aeval_config_output(), avfilter_graph_dump_to_buf(), compand_drain(), compressor_config_output(), config_audio_output(), config_filter(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_output(), config_props_ref(), config_video(), config_video_output(), create_frame(), cudascale_config_props(), cudaupload_config_output(), deint_vaapi_config_output(), dnn_classify_flush_frame(), dnn_detect_flush_frame(), ff_opencl_filter_config_output(), ff_vaapi_vpp_config_output(), ff_vk_filter_config_output(), ff_vk_filter_config_output_inplace(), filter_callback(), fir_frame(), flush(), flush_frame(), headphone_frame(), horizontal_frame_pack(), hwdownload_config_output(), hwmap_config_output(), hwupload_config_output(), join_config_output(), libplacebo_config_output(), lut2_config_output(), movie_config_output_props(), movie_request_frame(), nppsharpen_config_props(), npptranspose_config_props(), output_frame(), overlay_cuda_config_output(), overlay_opencl_config_output(), overlay_vulkan_config_output(), pad_opencl_config_output(), prepare_uv_scale(), program_opencl_config_output(), program_opencl_request_frame(), push_frame(), push_single_pic(), qsvdeint_config_props(), qsvdeint_request_frame(), qsvscale_config_props(), query_frame(), request_frame(), request_frame_ref(), scale_vaapi_config_output(), scale_vulkan_config_output(), source_config_props(), source_request_frame(), spatial_frame_pack(), tonemap_opencl_config_output(), transpose_opencl_config_output(), transpose_vaapi_vpp_config_output(), vertical_frame_pack(), and xfade_opencl_config_output().

◆ srcpad

AVFilterPad* AVFilterLink::srcpad

output pad on the source filter

Definition at line 534 of file avfilter.h.

Referenced by avfilter_graph_dump_to_buf(), and config_output().

◆ dst

AVFilterContext* AVFilterLink::dst

dest filter

Definition at line 536 of file avfilter.h.

Referenced by avfilter_graph_dump_to_buf(), avfilter_graph_request_oldest(), config_props(), and create_frame().

◆ dstpad

AVFilterPad* AVFilterLink::dstpad

input pad on the dest filter

Definition at line 537 of file avfilter.h.

Referenced by avfilter_graph_dump_to_buf(), and avfilter_graph_request_oldest().

◆ type

enum AVMediaType AVFilterLink::type

◆ w

int AVFilterLink::w

agreed upon image width

Definition at line 542 of file avfilter.h.

Referenced by activate(), alloc_out_frame(), apply_lut(), apply_palette(), avgblur_opencl_filter_frame(), avgblur_vulkan_filter_frame(), blend_frame(), blend_frames(), blur_frame(), chromaber_vulkan_filter_frame(), clear_picture(), color_balance16(), color_balance8(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_output(), config_props_ref(), config_video(), config_video_output(), convert_frame(), convolution_opencl_filter_frame(), correct_frame(), create_frame(), create_weave_frame(), cudascale_config_props(), cudascale_filter_frame(), cudascale_scale(), cudaupload_filter_frame(), deshake_opencl_init(), do_morpho(), draw_background(), draw_items(), draw_legend(), draw_spatial(), ff_opencl_filter_config_output(), ff_vaapi_vpp_config_output(), ff_vk_filter_config_output(), ff_vk_filter_config_output_inplace(), filter(), filter_color(), filter_color2(), filter_frame(), filter_mono(), flip_bayer(), gblur_vulkan_filter_frame(), geq_filter_frame(), get_frame(), get_palette_frame(), graph_check_links(), hwdownload_config_output(), hwdownload_filter_frame(), hwmap_config_output(), hwupload_filter_frame(), init_vpp_session(), lut2_config_output(), movie_config_output_props(), neighbor_opencl_filter_frame(), nlmeans_opencl_filter_frame(), nppscale_eval_dimensions(), nppscale_filter_frame(), nppscale_scale(), nppsharpen_config_props(), npptranspose_config_props(), output_single_frame(), overlay_opencl_blend(), overlay_vulkan_blend(), pad_opencl_config_output(), plot_cqt(), plot_freqs(), plot_spectrum_column(), pp_filter_frame(), prepare_uv_scale(), process_frame(), program_opencl_run(), push_single_pic(), qsvscale_config_props(), qsvscale_filter_frame(), query_frame(), scale_eval_dimensions(), scale_frame(), scale_vaapi_config_output(), scale_vulkan_filter_frame(), source_config_props(), source_request_frame(), tonemap_opencl_filter_frame(), transpose_opencl_config_output(), transpose_opencl_filter_frame(), transpose_vaapi_vpp_config_output(), try_push_frame(), unsharp_opencl_filter_frame(), xfade_frame(), and xfade_opencl_config_output().

◆ h

int AVFilterLink::h

agreed upon image height

Definition at line 543 of file avfilter.h.

Referenced by activate(), alloc_out_frame(), apply_lut(), apply_palette(), avgblur_opencl_filter_frame(), avgblur_vulkan_filter_frame(), blend_frame(), blend_frames(), blur_frame(), calc_max_draw(), chromaber_vulkan_filter_frame(), clear_picture(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_output(), config_props_ref(), config_video(), config_video_output(), convert_frame(), convolution_opencl_filter_frame(), correct_frame(), create_frame(), create_weave_frame(), cudascale_config_props(), cudascale_filter_frame(), cudascale_scale(), cudaupload_filter_frame(), deshake_opencl_init(), do_morpho(), draw_background(), draw_items(), draw_legend(), draw_sierpinski(), draw_spatial(), ff_opencl_filter_config_output(), ff_vaapi_vpp_config_output(), ff_vk_filter_config_output(), ff_vk_filter_config_output_inplace(), filter(), filter_color(), filter_color2(), filter_frame(), filter_mono(), flip_bayer(), gblur_vulkan_filter_frame(), geq_filter_frame(), get_frame(), get_palette_frame(), graph_check_links(), hwdownload_config_output(), hwdownload_filter_frame(), hwmap_config_output(), hwupload_filter_frame(), init_vpp_session(), libplacebo_config_output(), lut2_config_output(), movie_config_output_props(), neighbor_opencl_filter_frame(), nlmeans_opencl_filter_frame(), nppscale_eval_dimensions(), nppscale_filter_frame(), nppscale_scale(), nppsharpen_config_props(), npptranspose_config_props(), oscilloscope_filter_frame(), output_single_frame(), overlay_opencl_blend(), overlay_vulkan_blend(), pad_opencl_config_output(), plot_cqt(), plot_freq(), plot_freqs(), plot_spectrum_column(), pp_filter_frame(), prepare_uv_scale(), process_frame(), program_opencl_run(), push_single_pic(), qsvscale_config_props(), qsvscale_filter_frame(), query_frame(), request_frame(), scale_eval_dimensions(), scale_frame(), scale_vaapi_config_output(), scale_vulkan_filter_frame(), source_config_props(), source_request_frame(), tonemap_opencl_filter_frame(), transpose_opencl_config_output(), transpose_opencl_filter_frame(), transpose_vaapi_vpp_config_output(), try_push_frame(), unsharp_opencl_filter_frame(), xfade_frame(), xfade_opencl_config_output(), and xfade_slice().

◆ sample_aspect_ratio

AVRational AVFilterLink::sample_aspect_ratio

◆ channel_layout

uint64_t AVFilterLink::channel_layout

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

Examples
filtering_audio.c.

Definition at line 546 of file avfilter.h.

Referenced by channelmap_filter_frame(), config_audio_output(), config_output(), filter_frame(), init_filters(), and try_push_frame().

◆ sample_rate

int AVFilterLink::sample_rate

◆ format

int AVFilterLink::format

◆ time_base

AVRational AVFilterLink::time_base

◆ incfg

AVFilterFormatsConfig AVFilterLink::incfg

◆ outcfg

AVFilterFormatsConfig AVFilterLink::outcfg

Lists of supported formats / etc.

supported by the output filter.

Definition at line 576 of file avfilter.h.

Referenced by ff_vaapi_vpp_query_formats(), hwdownload_query_formats(), hwmap_query_formats(), hwupload_query_formats(), and query_formats().

◆ 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 588 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 594 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 600 of file avfilter.h.

Referenced by draw_items().

◆ age_index

int AVFilterLink::age_index

Index in the age array.

Definition at line 605 of file avfilter.h.

Referenced by avfilter_graph_request_oldest().

◆ 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 618 of file avfilter.h.

Referenced by activate(), config_out_props(), config_output(), config_output_props(), config_props(), config_props_output(), config_props_ref(), config_video(), config_video_output(), deint_vaapi_config_output(), deshake_opencl_init(), draw_items(), filter_frame(), lut2_config_output(), movie_config_output_props(), qsvdeint_config_props(), source_config_props(), try_push_frame(), and xfade_opencl_config_output().

◆ 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 fifo. This field and the related ones must not be changed after filtering has started. If 0, all related fields are ignored.

Definition at line 627 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 633 of file avfilter.h.

◆ channels

int AVFilterLink::channels

◆ frame_count_in

int64_t AVFilterLink::frame_count_in

Number of past frames sent through the link.

Definition at line 643 of file avfilter.h.

Referenced by activate(), calc_persp_luts(), draw_items(), filter_frame(), output_single_frame(), plot_freq(), and request_frame().

◆ frame_count_out

int64_t AVFilterLink::frame_count_out

Definition at line 643 of file avfilter.h.

Referenced by avfilter_graph_request_oldest(), and draw_items().

◆ sample_count_in

int64_t AVFilterLink::sample_count_in

Number of past samples sent through the link.

Definition at line 648 of file avfilter.h.

Referenced by activate(), and draw_items().

◆ sample_count_out

int64_t AVFilterLink::sample_count_out

Definition at line 648 of file avfilter.h.

Referenced by draw_items().

◆ frame_pool

void* AVFilterLink::frame_pool

A pointer to a FFFramePool struct.

Definition at line 653 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 660 of file avfilter.h.

Referenced by avfilter_graph_request_oldest().

◆ hw_frames_ctx

AVBufferRef* AVFilterLink::hw_frames_ctx

◆ reserved

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.

Definition at line 675 of file avfilter.h.


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