libavfilter/avfiltergraph.h File Reference

#include "avfilter.h"
#include "libavutil/log.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...

Enumerations

enum  { AVFILTER_AUTO_CONVERT_ALL = 0, AVFILTER_AUTO_CONVERT_NONE = -1 }

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.
void avfilter_graph_set_auto_convert (AVFilterGraph *graph, unsigned flags)
 Enable or disable automatic format conversion inside the 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)
 Allocate a single AVFilterInOut entry.
void avfilter_inout_free (AVFilterInOut **inout)
 Free the supplied list of AVFilterInOut and set *inout 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_parse2 (AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs)
 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.
int avfilter_graph_request_oldest (AVFilterGraph *graph)
 Request a frame on the oldest sink link.


Enumeration Type Documentation

anonymous enum

Enumerator:
AVFILTER_AUTO_CONVERT_ALL  all automatic conversions enabled
AVFILTER_AUTO_CONVERT_NONE  all automatic conversions disabled

Definition at line 96 of file avfiltergraph.h.


Function Documentation

int avfilter_graph_add_filter ( AVFilterGraph graphctx,
AVFilterContext filter 
)

Add an existing filter instance to a filter graph.

Parameters:
graphctx the filter graph
filter the filter to be added

Definition at line 68 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 47 of file avfiltergraph.c.

Referenced by configure_filtergraph(), 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.

Parameters:
graphctx the filter graph
log_ctx context used for logging
Returns:
0 in case of success, a negative AVERROR code otherwise

Definition at line 923 of file avfiltergraph.c.

Referenced by configure_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.

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

Definition at line 81 of file avfiltergraph.c.

Referenced by configure_input_audio_filter(), configure_input_video_filter(), configure_output_audio_filter(), configure_output_video_filter(), graph_insert_fifos(), init_filters(), insert_conv_filter(), lavfi_read_header(), and query_formats().

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

Dump a graph into a human-readable string representation.

Parameters:
graph the graph to dump
options formatting 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 153 of file graphdump.c.

Referenced by lavfi_read_header().

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 56 of file avfiltergraph.c.

Referenced by configure_filtergraph(), 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.

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

Definition at line 167 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:
graph the filter graph where to link the parsed graph context
filters string to be parsed
inputs pointer 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().
outputs pointer 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 446 of file graphparser.c.

Referenced by init_filters(), lavfi_read_header(), and main().

int avfilter_graph_parse2 ( AVFilterGraph graph,
const char *  filters,
AVFilterInOut **  inputs,
AVFilterInOut **  outputs 
)

Add a graph described by a string to a graph.

Parameters:
[in] graph the filter graph where to link the parsed graph context
[in] filters string to be parsed
[out] inputs a linked list of all free (unlinked) inputs of the parsed graph will be returned here. It is to be freed by the caller using avfilter_inout_free().
[out] outputs a linked list of all free (unlinked) outputs of the parsed graph will be returned here. It is to be freed by the caller using avfilter_inout_free().
Returns:
zero on success, a negative AVERROR code on error
Note:
the difference between avfilter_graph_parse2() and avfilter_graph_parse() is that in avfilter_graph_parse(), the caller provides the lists of inputs and outputs, which therefore must be known before calling the function. On the other hand, avfilter_graph_parse2() returns the inputs and outputs that are left unlinked after parsing the graph and the caller then deals with them. Another difference is that in avfilter_graph_parse(), the inputs parameter describes inputs of the already existing part of the graph; i.e. from the point of view of the newly created part, they are outputs. Similarly the outputs parameter describes outputs of the already existing filters, which are provided as inputs to the parsed filters. avfilter_graph_parse2() takes the opposite approach -- it makes no reference whatsoever to already existing parts of the graph and the inputs parameter will on return contain inputs of the newly parsed part of the graph. Analogously the outputs parameter will contain outputs of the newly created filters.

Definition at line 378 of file graphparser.c.

Referenced by avfilter_graph_parse(), and configure_filtergraph().

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:
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
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 971 of file avfiltergraph.c.

Referenced by check_keyboard_interaction().

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.

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.

Returns:
the return value of ff_request_frame(), or AVERROR_EOF if all links returned AVERROR_EOF

Definition at line 1045 of file avfiltergraph.c.

Referenced by transcode_from_filter().

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:
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.
Returns:
>=0 on success otherwise an error code. AVERROR(ENOSYS) on unsupported commands

Definition at line 941 of file avfiltergraph.c.

Referenced by avfilter_graph_send_command(), check_keyboard_interaction(), and process_frame().

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.

Parameters:
flags any of the AVFILTER_AUTO_CONVERT_* constants

Definition at line 102 of file avfiltergraph.c.

Referenced by choose_pix_fmts().

AVFilterInOut* avfilter_inout_alloc ( void   ) 

Allocate a single AVFilterInOut entry.

Must be freed with avfilter_inout_free().

Returns:
allocated AVFilterInOut on success, NULL on failure.

Definition at line 175 of file graphparser.c.

Referenced by init_filters().

void avfilter_inout_free ( AVFilterInOut **  inout  ) 

Free the supplied list of AVFilterInOut and set *inout to NULL.

If *inout is NULL, do nothing.

Definition at line 180 of file graphparser.c.

Referenced by avfilter_graph_parse(), avfilter_graph_parse2(), configure_filtergraph(), init_output_filter(), and lavfi_read_header().


Generated on Fri Oct 26 02:50:09 2012 for FFmpeg by  doxygen 1.5.8