libavfilter/avfiltergraph.h File Reference
#include "avfilter.h"

Go to the source code of this file.

Data Structures

struct  AVFilterGraph
struct  AVFilterInOut
 A linked-list of the inputs/outputs of the filter chain. More...

Typedefs

typedef struct AVFilterGraph AVFilterGraph
typedef struct AVFilterInOut AVFilterInOut
 A linked-list of the inputs/outputs of the filter chain.

Functions

AVFilterGraphavfilter_graph_alloc (void)
 Allocate a filter graph.
AVFilterContextavfilter_graph_get_filter (AVFilterGraph *graph, char *name)
 Get a filter instance with name name from graph.
int avfilter_graph_add_filter (AVFilterGraph *graphctx, 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.
int avfilter_graph_config (AVFilterGraph *graphctx, void *log_ctx)
 Check validity and configure all the links and formats in the graph.
void avfilter_graph_free (AVFilterGraph **graph)
 Free a graph, destroy its links, and set *graph to NULL.
AVFilterInOutavfilter_inout_alloc (void)
 Create an AVFilterInOut.
void avfilter_inout_free (AVFilterInOut **inout)
 Free the AVFilterInOut in *inout, and set its pointer to NULL.
int avfilter_graph_parse (AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx)
 Add a graph described by a string to a 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 *cmd, const char *arg, int flags, double ts)
 Queue a command for one or more filter instances.
char * avfilter_graph_dump (AVFilterGraph *graph, const char *options)
 Dump a graph into a human-readable string representation.

Typedef Documentation

typedef struct AVFilterGraph AVFilterGraph
typedef struct AVFilterInOut AVFilterInOut

A linked-list of the inputs/outputs of the filter chain.

This is mainly useful for avfilter_graph_parse(), since this function may accept a description of a graph with not connected input/output pads. This struct specifies, per each not connected pad contained in the graph, the filter context and the pad index required for establishing a link.


Function Documentation

int avfilter_graph_add_filter ( AVFilterGraph graphctx,
AVFilterContext filter 
)

Add an existing filter instance to a filter graph.

Parameters:
graphctxthe filter graph
filterthe filter to be added

Definition at line 47 of file avfiltergraph.c.

Allocate a filter graph.

Definition at line 31 of file avfiltergraph.c.

int avfilter_graph_config ( AVFilterGraph graphctx,
void log_ctx 
)

Check validity and configure all the links and formats in the graph.

Parameters:
graphctxthe filter graph
log_ctxcontext used for logging
Returns:
0 in case of success, a negative AVERROR code otherwise

Definition at line 288 of file avfiltergraph.c.

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.

Parameters:
namethe instance name to give to the created filter instance
graph_ctxthe filter graph
Returns:
a negative AVERROR error code in case of failure, a non negative value otherwise

Definition at line 60 of file avfiltergraph.c.

char* avfilter_graph_dump ( AVFilterGraph graph,
const char *  options 
)

Dump a graph into a human-readable string representation.

Parameters:
graphthe graph to dump
optionsformatting options; currently ignored
Returns:
a string, or NULL in case of memory allocation failure; the string must be freed using av_free

Definition at line 163 of file graphdump.c.

Free a graph, destroy its links, and set *graph to NULL.

If *graph is NULL, do nothing.

Definition at line 36 of file avfiltergraph.c.

AVFilterContext* avfilter_graph_get_filter ( AVFilterGraph graph,
char *  name 
)

Get a filter instance with name name from graph.

Returns:
the pointer to the found filter instance or NULL if it cannot be found.

Definition at line 128 of file avfiltergraph.c.

int avfilter_graph_parse ( AVFilterGraph graph,
const char *  filters,
AVFilterInOut **  inputs,
AVFilterInOut **  outputs,
void log_ctx 
)

Add a graph described by a string to a graph.

Parameters:
graphthe filter graph where to link the parsed graph context
filtersstring to be parsed
inputspointer to a linked list to the inputs of the graph, may be NULL. If non-NULL, *inputs is updated to contain the list of open inputs after the parsing, should be freed with avfilter_inout_free().
outputspointer to a linked list to the outputs of the graph, may be NULL. If non-NULL, *outputs is updated to contain the list of open outputs after the parsing, should be freed with avfilter_inout_free().
Returns:
non negative on success, a negative AVERROR code on error

Definition at line 337 of file graphparser.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.

Parameters:
graphthe filter graph
targetthe 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.
cmdthe command to sent, for handling simplicity all commands must be alphanummeric only
argthe argument for the command
tstime at which the command should be sent to the filter
Note:
As this executes commands after this function returns, no return code from the filter is provided, also AVFILTER_CMD_FLAG_ONE is not supported.

Definition at line 332 of file avfiltergraph.c.

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.

Parameters:
graphthe filter graph
targetthe 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.
cmdthe command to sent, for handling simplicity all commands must be alphanumeric only
argthe argument for the command
resa buffer with size res_size where the filter(s) can return a response.
Returns:
>=0 on success otherwise an error code. AVERROR(ENOSYS) on unsupported commands

Definition at line 302 of file avfiltergraph.c.

Create an AVFilterInOut.

Must be free with avfilter_inout_free().

Definition at line 173 of file graphparser.c.

Free the AVFilterInOut in *inout, and set its pointer to NULL.

If *inout is NULL, do nothing.

Definition at line 178 of file graphparser.c.