Graph-based frame editing library. More...
Graph-based frame editing library.
The number of the filter inputs is not determined just by AVFilter.inputs.
The filter might add additional inputs during initialization depending on the options supplied to it.
Definition at line 156 of file avfilter.h.
The number of the filter outputs is not determined just by AVFilter.outputs.
The filter might add additional outputs during initialization depending on the options supplied to it.
Definition at line 162 of file avfilter.h.
The filter supports multithreading by splitting frames into multiple parts and processing them concurrently.
Definition at line 167 of file avfilter.h.
The filter is a "metadata" filter - it does not modify the frame data in any way.
It may only affect the metadata (i.e. those fields copied by av_frame_copy_props()).
More precisely, this means:
Definition at line 183 of file avfilter.h.
The filter can create hardware frames using AVFilterContext.hw_device_ctx.
Definition at line 188 of file avfilter.h.
Some filters support a generic "enable" expression option that can be used to enable or disable a filter in the timeline.
Filters supporting this option have this flag set. When the enable expression is false, the default no-op filter_frame() function is called in place of the filter_frame() callback defined on each input pad, thus the frame is passed unchanged to the next filters.
Definition at line 197 of file avfilter.h.
Same as AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, except that the filter will have its filter_frame() callback(s) called as usual even when the enable expression is false.
The filter will disable filtering within the filter_frame() callback(s) itself, for example executing code depending on the AVFilterContext->is_disabled value.
Definition at line 205 of file avfilter.h.
Handy mask to test whether the filter supports or no the timeline feature (internally or generically).
Definition at line 210 of file avfilter.h.
Process multiple parts of the frame concurrently.
Definition at line 271 of file avfilter.h.
Stop once a filter understood the command (for target=all for example), fast filters are favored automatically.
Definition at line 469 of file avfilter.h.
Only execute command when its fast (like a video out that supports contrast adjustment in hw)
Definition at line 470 of file avfilter.h.
A function pointer passed to the AVFilterGraph::execute callback to be executed multiple times, possibly in parallel.
Definition at line 572 of file avfilter.h.
A function executing multiple jobs, possibly in parallel.
Definition at line 586 of file avfilter.h.
Enumerator | |
---|---|
AVFILTER_AUTO_CONVERT_ALL | all automatic conversions enabled |
AVFILTER_AUTO_CONVERT_NONE | all automatic conversions disabled |
Definition at line 717 of file avfilter.h.
Get the name of an AVFilterPad.
Definition at line 987 of file avfilter.c.
Referenced by describe_filter_link(), get_filterpad_name(), print_digraph(), and print_formats_internal().
Get the type of an AVFilterPad.
Definition at line 992 of file avfilter.c.
Referenced by create_sink(), fg_create(), insert_trim(), lavfi_read_header(), main(), and show_filters().
Get the hardware frames context of a filter link.
Definition at line 997 of file avfilter.c.
Referenced by print_link().
Get the number of elements in an AVFilter's inputs or outputs array.
Definition at line 631 of file avfilter.c.
Referenced by fg_create(), and show_filters().
Link two filters together.
Definition at line 149 of file avfilter.c.
Referenced by avfilter_graph_parse(), avfilter_graph_parse_ptr(), avfilter_insert_filter(), configure_filtergraph(), configure_input_audio_filter(), configure_input_video_filter(), configure_output_audio_filter(), configure_output_video_filter(), create_sink(), init_filter_graph(), insert_filter(), insert_trim(), lavfi_read_header(), link_inputs(), and link_outputs().
Make the filter instance process a command.
It is recommended to use avfilter_graph_send_command().
Definition at line 610 of file avfilter.c.
Referenced by avfilter_graph_send_command(), and ff_inlink_process_commands().
Iterate over all registered filters.
Definition at line 634 of file allfilters.c.
Referenced by avfilter_get_by_name(), filter_child_class_iterate(), and show_filters().
Get a filter definition matching the given name.
Definition at line 647 of file allfilters.c.
Referenced by avfilter_graph_segment_create_filters(), configure_audio_filters(), configure_input_audio_filter(), configure_input_video_filter(), configure_output_audio_filter(), configure_output_video_filter(), configure_video_filters(), create_sink(), filter_parse(), init_filter(), init_filter_graph(), init_filters(), insert_filter(), insert_trim(), lavfi_read_header(), main(), and query_formats().
Initialize a filter with the supplied parameters.
Definition at line 959 of file avfilter.c.
Referenced by avfilter_graph_create_filter(), init_filter_graph(), insert_trim(), and main().
Initialize a filter with the supplied dictionary of options.
Definition at line 918 of file avfilter.c.
Referenced by avfilter_graph_segment_init(), avfilter_init_str(), configure_audio_filters(), configure_input_video_filter(), configure_video_filters(), init_filter(), init_filter_graph(), init_filters(), and lavfi_read_header().
Free a filter context.
This will also remove the filter from its filtergraph's list of filters.
Definition at line 799 of file avfilter.c.
Referenced by avfilter_graph_create_filter(), avfilter_graph_free(), avfilter_graph_parse(), avfilter_graph_parse2(), avfilter_graph_parse_ptr(), avfilter_graph_segment_create_filters(), and main().
Insert a filter in the middle of an existing link.
Definition at line 282 of file avfilter.c.
Referenced by query_formats().
Definition at line 1660 of file avfilter.c.
Referenced by show_help_default().
Allocate a filter graph.
Definition at line 85 of file avfiltergraph.c.
Referenced by configure_audio_filters(), configure_filtergraph(), fg_create(), init_filter(), init_filter_graph(), init_filters(), lavfi_read_header(), main(), and video_thread().
Create a new filter instance in a filter graph.
Definition at line 167 of file avfiltergraph.c.
Referenced by avfilter_graph_create_filter(), avfilter_graph_segment_create_filters(), configure_audio_filters(), configure_input_video_filter(), configure_video_filters(), init_filter(), init_filter_graph(), init_filters(), insert_trim(), lavfi_read_header(), and main().
Get a filter instance identified by instance name from graph.
Definition at line 286 of file avfiltergraph.c.
A convenience wrapper that allocates and initializes a filter in a single step.
The filter instance is created from the filter filt and inited with the parameter args. opaque is currently ignored.
In case of success put in *filt_ctx the pointer to the created filter instance, otherwise set *filt_ctx to NULL.
Definition at line 140 of file avfiltergraph.c.
Referenced by configure_audio_filters(), configure_input_audio_filter(), configure_output_audio_filter(), configure_output_video_filter(), create_sink(), init_filter(), init_filters(), insert_filter(), lavfi_read_header(), and query_formats().
Enable or disable automatic format conversion inside the graph.
Note that format conversion can still happen inside explicitly inserted scale and aresample filters.
Definition at line 162 of file avfiltergraph.c.
Referenced by configure_filtergraph(), and init().
Check validity and configure all the links and formats in the graph.
Definition at line 1414 of file avfiltergraph.c.
Referenced by configure_filtergraph(), init_filter(), init_filter_graph(), init_filters(), lavfi_read_header(), and main().
Free a graph, destroy its links, and set *graph to NULL.
If *graph is NULL, do nothing.
Definition at line 119 of file avfiltergraph.c.
Referenced by audio_thread(), cleanup_filtergraph(), configure_audio_filters(), fg_create(), fg_thread_uninit(), lavfi_read_close(), main(), and video_thread().
Allocate a single AVFilterInOut entry.
Must be freed with avfilter_inout_free().
Definition at line 71 of file graphparser.c.
Referenced by configure_filtergraph(), init_filter(), and init_filters().
Free the supplied list of AVFilterInOut and set *inout to NULL.
If *inout is NULL, do nothing.
Definition at line 76 of file graphparser.c.
Referenced by avfilter_graph_parse(), avfilter_graph_parse_ptr(), avfilter_graph_segment_link(), configure_filtergraph(), fg_create(), init_filter(), init_filters(), inout_add(), and lavfi_read_header().
Add a graph described by a string to a graph.
Definition at line 164 of file graphparser.c.
Referenced by main().
Add a graph described by a string to a graph.
In the graph filters description, if the input label of the first filter is not specified, "in" is assumed; if the output label of the last filter is not specified, "out" is assumed.
Definition at line 920 of file graphparser.c.
Referenced by configure_filtergraph(), init_filter(), init_filters(), lavfi_read_header(), and main().
Add a graph described by a string to a graph.
Definition at line 138 of file graphparser.c.
Referenced by avfilter_graph_parse().
Parse a textual filtergraph description into an intermediate form.
This intermediate representation is intended to be modified by the caller as described in the documentation of AVFilterGraphSegment and its children, and then applied to the graph either manually or with other avfilter_graph_segment_*() functions. See the documentation for avfilter_graph_segment_apply() for the canonical way to apply AVFilterGraphSegment.
Definition at line 460 of file graphparser.c.
Referenced by avfilter_graph_parse2(), avfilter_graph_parse_ptr(), and graph_parse().
Create filters specified in a graph segment.
Walk through the creation-pending AVFilterParams in the segment and create new filter instances for them. Creation-pending params are those where AVFilterParams.filter_name is non-NULL (and hence AVFilterParams.filter is NULL). All other AVFilterParams instances are ignored.
For any filter created by this function, the corresponding AVFilterParams.filter is set to the newly-created filter context, AVFilterParams.filter_name and AVFilterParams.instance_name are freed and set to NULL.
Definition at line 516 of file graphparser.c.
Referenced by avfilter_graph_parse_ptr(), avfilter_graph_segment_apply(), and graph_parse().
Apply parsed options to filter instances in a graph segment.
Walk through all filter instances in the graph segment that have option dictionaries associated with them and apply those options with av_opt_set_dict2(..., AV_OPT_SEARCH_CHILDREN). AVFilterParams.opts is replaced by the dictionary output by av_opt_set_dict2(), which should be empty (NULL) if all options were successfully applied.
If any options could not be found, this function will continue processing all other filters and finally return AVERROR_OPTION_NOT_FOUND (unless another error happens). The calling program may then deal with unapplied options as it wishes.
Any creation-pending filters (see avfilter_graph_segment_create_filters()) present in the segment will cause this function to fail. AVFilterParams with no associated filter context are simply skipped.
Definition at line 586 of file graphparser.c.
Referenced by avfilter_graph_parse_ptr(), and avfilter_graph_segment_apply().
Initialize all filter instances in a graph segment.
Walk through all filter instances in the graph segment and call avfilter_init_dict(..., NULL) on those that have not been initialized yet.
Any creation-pending filters (see avfilter_graph_segment_create_filters()) present in the segment will cause this function to fail. AVFilterParams with no associated filter context or whose filter context is already initialized, are simply skipped.
Definition at line 616 of file graphparser.c.
Referenced by avfilter_graph_parse_ptr(), and avfilter_graph_segment_apply().
Link filters in a graph segment.
Walk through all filter instances in the graph segment and try to link all unlinked input and output pads. Any creation-pending filters (see avfilter_graph_segment_create_filters()) present in the segment will cause this function to fail. Disabled filters and already linked pads are skipped.
Every filter output pad that has a corresponding AVFilterPadParams with a non-NULL label is
Similarly, unlinked input pads are exported in the inputs linked list.
Definition at line 814 of file graphparser.c.
Referenced by avfilter_graph_segment_apply().
Apply all filter/link descriptions from a graph segment to the associated filtergraph.
This functions is currently equivalent to calling the following in sequence:
Since the above functions are idempotent, the caller may call some of them manually, then do some custom processing on the filtergraph, then call this function to do the rest.
Definition at line 882 of file graphparser.c.
Referenced by avfilter_graph_parse2(), avfilter_graph_parse_ptr(), and graph_parse().
Free the provided AVFilterGraphSegment and everything associated with it.
Definition at line 276 of file graphparser.c.
Referenced by avfilter_graph_parse2(), avfilter_graph_parse_ptr(), avfilter_graph_segment_parse(), and graph_parse().
Send a command to one or more filter instances.
Definition at line 1434 of file avfiltergraph.c.
Referenced by filter_frame(), and send_command().
Queue a command for one or more filter instances.
Definition at line 1464 of file avfiltergraph.c.
Referenced by send_command().
Dump a graph into a human-readable string representation.
Definition at line 156 of file graphdump.c.
Referenced by lavfi_read_header().
Request a frame on the oldest sink link.
If the request returns AVERROR_EOF, try the next.
Note that this function is not meant to be the sole scheduling mechanism of a filtergraph, only a convenience function to help drain a filtergraph in a balanced way under normal circumstances.
Also note that AVERROR_EOF does not mean that frames did not arrive on some of the sinks during the process. When there are multiple sink links, in case the requested link returns an EOF, this may cause a filter to flush pending frames which are sent to another sink link, although unrequested.
Definition at line 1547 of file avfiltergraph.c.
Referenced by configure_filtergraph(), main(), and read_frames().