#include <ctype.h>#include <string.h>#include "libavutil/audioconvert.h"#include "libavutil/avassert.h"#include "libavutil/pixdesc.h"#include "avfilter.h"#include "avfiltergraph.h"#include "formats.h"#include "internal.h"#include "libavutil/log.h"Go to the source code of this file.
Defines | |
| #define | REDUCE_FORMATS(fmt_type, list_type, list, var, nb, add_format) |
Functions | |
| AVFilterGraph * | avfilter_graph_alloc (void) |
| Allocate a filter graph. | |
| void | avfilter_graph_free (AVFilterGraph **graph) |
| Free a graph, destroy its links, and set *graph to NULL. | |
| int | avfilter_graph_add_filter (AVFilterGraph *graph, AVFilterContext *filter) |
| Add an existing filter instance to a filter graph. | |
| int | avfilter_graph_create_filter (AVFilterContext **filt_ctx, AVFilter *filt, const char *name, const char *args, void *opaque, AVFilterGraph *graph_ctx) |
| Create and add a filter instance into an existing graph. | |
| void | avfilter_graph_set_auto_convert (AVFilterGraph *graph, unsigned flags) |
| Enable or disable automatic format conversion inside the graph. | |
| int | ff_avfilter_graph_check_validity (AVFilterGraph *graph, AVClass *log_ctx) |
| Check for the validity of graph. | |
| int | ff_avfilter_graph_config_links (AVFilterGraph *graph, AVClass *log_ctx) |
| Configure all the links of graphctx. | |
| AVFilterContext * | avfilter_graph_get_filter (AVFilterGraph *graph, char *name) |
| Get a filter instance with name name from graph. | |
| static int | insert_conv_filter (AVFilterGraph *graph, AVFilterLink *link, const char *filt_name, const char *filt_args) |
| static int | query_formats (AVFilterGraph *graph, AVClass *log_ctx) |
| static int | pick_format (AVFilterLink *link, AVFilterLink *ref) |
| static int | reduce_formats_on_filter (AVFilterContext *filter) |
| static void | reduce_formats (AVFilterGraph *graph) |
| static void | swap_samplerates_on_filter (AVFilterContext *filter) |
| static void | swap_samplerates (AVFilterGraph *graph) |
| static void | swap_channel_layouts_on_filter (AVFilterContext *filter) |
| static void | swap_channel_layouts (AVFilterGraph *graph) |
| static void | swap_sample_fmts_on_filter (AVFilterContext *filter) |
| static void | swap_sample_fmts (AVFilterGraph *graph) |
| static int | pick_formats (AVFilterGraph *graph) |
| int | ff_avfilter_graph_config_formats (AVFilterGraph *graph, AVClass *log_ctx) |
| Configure the formats of all the links in the graph. | |
| static int | ff_avfilter_graph_config_pointers (AVFilterGraph *graph, AVClass *log_ctx) |
| int | avfilter_graph_config (AVFilterGraph *graphctx, void *log_ctx) |
| Check validity and configure all the links and formats in the graph. | |
| int | avfilter_graph_send_command (AVFilterGraph *graph, const char *target, const char *cmd, const char *arg, char *res, int res_len, int flags) |
| Send a command to one or more filter instances. | |
| int | avfilter_graph_queue_command (AVFilterGraph *graph, const char *target, const char *command, const char *arg, int flags, double ts) |
| Queue a command for one or more filter instances. | |
| static void | heap_bubble_up (AVFilterGraph *graph, AVFilterLink *link, int index) |
| static void | heap_bubble_down (AVFilterGraph *graph, AVFilterLink *link, int index) |
| void | ff_avfilter_graph_update_heap (AVFilterGraph *graph, AVFilterLink *link) |
| Update the position of a link in the age heap. | |
| int | avfilter_graph_request_oldest (AVFilterGraph *graph) |
| Request a frame on the oldest sink link. | |
Variables | |
| static const AVClass | filtergraph_class |
| #define REDUCE_FORMATS | ( | fmt_type, | |||
| list_type, | |||||
| list, | |||||
| var, | |||||
| nb, | |||||
| add_format | ) |
| int avfilter_graph_add_filter | ( | AVFilterGraph * | graphctx, | |
| AVFilterContext * | filter | |||
| ) |
Add an existing filter instance to a filter graph.
| graphctx | the filter graph | |
| filter | the filter to be added |
Definition at line 66 of file avfiltergraph.c.
Referenced by avfilter_graph_create_filter(), and create_filter().
| AVFilterGraph* avfilter_graph_alloc | ( | void | ) |
Allocate a filter graph.
Definition at line 43 of file avfiltergraph.c.
Referenced by configure_complex_filter(), configure_simple_filtergraph(), DEF_CHOOSE_FORMAT(), init_filters(), lavfi_read_header(), and video_thread().
| int avfilter_graph_config | ( | AVFilterGraph * | graphctx, | |
| void * | log_ctx | |||
| ) |
Check validity and configure all the links and formats in the graph.
| graphctx | the filter graph | |
| log_ctx | context used for logging |
Definition at line 758 of file avfiltergraph.c.
Referenced by configure_complex_filter(), configure_simple_filtergraph(), init_filters(), lavfi_read_header(), main(), and transcode_init().
| int avfilter_graph_create_filter | ( | AVFilterContext ** | filt_ctx, | |
| AVFilter * | filt, | |||
| const char * | name, | |||
| const char * | args, | |||
| void * | opaque, | |||
| AVFilterGraph * | graph_ctx | |||
| ) |
Create and add a filter instance into an existing graph.
The filter instance is created from the filter filt and inited with the parameters args and opaque.
In case of success put in *filt_ctx the pointer to the created filter instance, otherwise set *filt_ctx to NULL.
| name | the instance name to give to the created filter instance | |
| graph_ctx | the filter graph |
Definition at line 79 of file avfiltergraph.c.
Referenced by configure_complex_filter(), configure_output_audio_filter(), configure_output_video_filter(), configure_video_filters(), DEF_CHOOSE_FORMAT(), init_filters(), insert_conv_filter(), lavfi_read_header(), and query_formats().
| void avfilter_graph_free | ( | AVFilterGraph ** | graph | ) |
Free a graph, destroy its links, and set *graph to NULL.
If *graph is NULL, do nothing.
Definition at line 54 of file avfiltergraph.c.
Referenced by configure_complex_filter(), configure_simple_filtergraph(), DEF_CHOOSE_FORMAT(), exit_program(), lavfi_read_close(), main(), and video_thread().
| AVFilterContext* avfilter_graph_get_filter | ( | AVFilterGraph * | graph, | |
| char * | name | |||
| ) |
Get a filter instance with name name from graph.
Definition at line 152 of file avfiltergraph.c.
| int avfilter_graph_queue_command | ( | AVFilterGraph * | graph, | |
| const char * | target, | |||
| const char * | cmd, | |||
| const char * | arg, | |||
| int | flags, | |||
| double | ts | |||
| ) |
Queue a command for one or more filter instances.
| graph | the filter graph | |
| target | the filter(s) to which the command should be sent "all" sends to all filters otherwise it can be a filter or filter instance name which will send the command to all matching filters. | |
| cmd | the command to sent, for handling simplicity all commands must be alphanummeric only | |
| arg | the argument for the command | |
| ts | time at which the command should be sent to the filter |
Definition at line 804 of file avfiltergraph.c.
Referenced by transcode().
| int avfilter_graph_request_oldest | ( | AVFilterGraph * | graph | ) |
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.
Definition at line 878 of file avfiltergraph.c.
Referenced by poll_filters().
| int avfilter_graph_send_command | ( | AVFilterGraph * | graph, | |
| const char * | target, | |||
| const char * | cmd, | |||
| const char * | arg, | |||
| char * | res, | |||
| int | res_len, | |||
| int | flags | |||
| ) |
Send a command to one or more filter instances.
| graph | the filter graph | |
| target | the filter(s) to which the command should be sent "all" sends to all filters otherwise it can be a filter or filter instance name which will send the command to all matching filters. | |
| cmd | the command to sent, for handling simplicity all commands must be alphanumeric only | |
| arg | the argument for the command | |
| res | a buffer with size res_size where the filter(s) can return a response. |
Definition at line 774 of file avfiltergraph.c.
Referenced by avfilter_graph_send_command(), and transcode().
| void avfilter_graph_set_auto_convert | ( | AVFilterGraph * | graph, | |
| unsigned | flags | |||
| ) |
Enable or disable automatic format conversion inside the graph.
Note that format conversion can still happen inside explicitly inserted scale and aconvert filters.
| flags | any of the AVFILTER_AUTO_CONVERT_* constants |
Definition at line 100 of file avfiltergraph.c.
Referenced by choose_pix_fmts(), and configure_simple_filtergraph().
| int ff_avfilter_graph_check_validity | ( | AVFilterGraph * | graphctx, | |
| AVClass * | log_ctx | |||
| ) |
Check for the validity of graph.
A graph is considered valid if all its input and output pads are connected.
Definition at line 105 of file avfiltergraph.c.
Referenced by avfilter_graph_config().
| int ff_avfilter_graph_config_formats | ( | AVFilterGraph * | graph, | |
| AVClass * | log_ctx | |||
| ) |
Configure the formats of all the links in the graph.
Definition at line 691 of file avfiltergraph.c.
Referenced by avfilter_graph_config().
| int ff_avfilter_graph_config_links | ( | AVFilterGraph * | graphctx, | |
| AVClass * | log_ctx | |||
| ) |
Configure all the links of graphctx.
Definition at line 135 of file avfiltergraph.c.
Referenced by avfilter_graph_config().
| static int ff_avfilter_graph_config_pointers | ( | AVFilterGraph * | graph, | |
| AVClass * | log_ctx | |||
| ) | [static] |
| void ff_avfilter_graph_update_heap | ( | AVFilterGraph * | graph, | |
| AVFilterLink * | link | |||
| ) |
Update the position of a link in the age heap.
Definition at line 871 of file avfiltergraph.c.
Referenced by ff_update_link_current_pts().
| static void heap_bubble_down | ( | AVFilterGraph * | graph, | |
| AVFilterLink * | link, | |||
| int | index | |||
| ) | [static] |
Definition at line 849 of file avfiltergraph.c.
Referenced by avfilter_graph_request_oldest(), and ff_avfilter_graph_update_heap().
| static void heap_bubble_up | ( | AVFilterGraph * | graph, | |
| AVFilterLink * | link, | |||
| int | index | |||
| ) | [static] |
| static int insert_conv_filter | ( | AVFilterGraph * | graph, | |
| AVFilterLink * | link, | |||
| const char * | filt_name, | |||
| const char * | filt_args | |||
| ) | [static] |
| static int pick_format | ( | AVFilterLink * | link, | |
| AVFilterLink * | ref | |||
| ) | [static] |
| static int pick_formats | ( | AVFilterGraph * | graph | ) | [static] |
| static int query_formats | ( | AVFilterGraph * | graph, | |
| AVClass * | log_ctx | |||
| ) | [static] |
Definition at line 216 of file avfiltergraph.c.
| static void reduce_formats | ( | AVFilterGraph * | graph | ) | [static] |
| static int reduce_formats_on_filter | ( | AVFilterContext * | filter | ) | [static] |
| static void swap_channel_layouts | ( | AVFilterGraph * | graph | ) | [static] |
| static void swap_channel_layouts_on_filter | ( | AVFilterContext * | filter | ) | [static] |
| static void swap_sample_fmts | ( | AVFilterGraph * | graph | ) | [static] |
| static void swap_sample_fmts_on_filter | ( | AVFilterContext * | filter | ) | [static] |
| static void swap_samplerates | ( | AVFilterGraph * | graph | ) | [static] |
| static void swap_samplerates_on_filter | ( | AVFilterContext * | filter | ) | [static] |
const AVClass filtergraph_class [static] |
Initial value:
{
.class_name = "AVFilterGraph",
.item_name = av_default_item_name,
.version = LIBAVUTIL_VERSION_INT,
}
Definition at line 37 of file avfiltergraph.c.
1.5.8