Modules | |
Buffer sink API | |
Buffer source API | |
Files | |
file | avfilter.h |
Main libavfilter public API header. | |
file | version.h |
Libavfilter version macros. | |
Data Structures | |
struct | AVFilter |
Filter definition. More... | |
struct | AVFilterContext |
An instance of a filter. More... | |
struct | AVFilterLink |
A link between two filters. More... | |
struct | AVFilterGraph |
struct | AVFilterInOut |
A linked-list of the inputs/outputs of the filter chain. More... | |
Macros | |
#define | AVFILTER_FLAG_DYNAMIC_INPUTS (1 << 0) |
The number of the filter inputs is not determined just by AVFilter.inputs. More... | |
#define | AVFILTER_FLAG_DYNAMIC_OUTPUTS (1 << 1) |
The number of the filter outputs is not determined just by AVFilter.outputs. More... | |
#define | AVFILTER_FLAG_SLICE_THREADS (1 << 2) |
The filter supports multithreading by splitting frames into multiple parts and processing them concurrently. More... | |
#define | AVFILTER_THREAD_SLICE (1 << 0) |
Process multiple parts of the frame concurrently. More... | |
Typedefs | |
typedef struct AVFilterPad | AVFilterPad |
typedef struct AVFilterFormats | AVFilterFormats |
typedef struct AVFilterInternal | AVFilterInternal |
typedef struct AVFilterGraphInternal | AVFilterGraphInternal |
typedef int() | avfilter_action_func(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
A function pointer passed to the AVFilterGraph::execute callback to be executed multiple times, possibly in parallel. More... | |
typedef int() | avfilter_execute_func(AVFilterContext *ctx, avfilter_action_func *func, void *arg, int *ret, int nb_jobs) |
A function executing multiple jobs, possibly in parallel. More... | |
Functions | |
unsigned | avfilter_version (void) |
Return the LIBAVFILTER_VERSION_INT constant. More... | |
const char * | avfilter_configuration (void) |
Return the libavfilter build-time configuration. More... | |
const char * | avfilter_license (void) |
Return the libavfilter license. More... | |
int | avfilter_pad_count (const AVFilterPad *pads) |
Get the number of elements in a NULL-terminated array of AVFilterPads (e.g. More... | |
const char * | avfilter_pad_get_name (const AVFilterPad *pads, int pad_idx) |
Get the name of an AVFilterPad. More... | |
enum AVMediaType | avfilter_pad_get_type (const AVFilterPad *pads, int pad_idx) |
Get the type of an AVFilterPad. More... | |
int | avfilter_link (AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad) |
Link two filters together. More... | |
int | avfilter_config_links (AVFilterContext *filter) |
Negotiate the media format, dimensions, etc of all inputs to a filter. More... | |
void | avfilter_register_all (void) |
Initialize the filter system. More... | |
int | avfilter_register (AVFilter *filter) |
Register a filter. More... | |
const AVFilter * | avfilter_get_by_name (const char *name) |
Get a filter definition matching the given name. More... | |
const AVFilter * | avfilter_next (const AVFilter *prev) |
Iterate over all registered filters. More... | |
int | avfilter_init_str (AVFilterContext *ctx, const char *args) |
Initialize a filter with the supplied parameters. More... | |
int | avfilter_init_dict (AVFilterContext *ctx, AVDictionary **options) |
Initialize a filter with the supplied dictionary of options. More... | |
void | avfilter_free (AVFilterContext *filter) |
Free a filter context. More... | |
int | avfilter_insert_filter (AVFilterLink *link, AVFilterContext *filt, unsigned filt_srcpad_idx, unsigned filt_dstpad_idx) |
Insert a filter in the middle of an existing link. More... | |
const AVClass * | avfilter_get_class (void) |
AVFilterGraph * | avfilter_graph_alloc (void) |
Allocate a filter graph. More... | |
AVFilterContext * | avfilter_graph_alloc_filter (AVFilterGraph *graph, const AVFilter *filter, const char *name) |
Create a new filter instance in a filter graph. More... | |
AVFilterContext * | avfilter_graph_get_filter (AVFilterGraph *graph, char *name) |
Get a filter instance with name name from graph. More... | |
int | avfilter_graph_create_filter (AVFilterContext **filt_ctx, const AVFilter *filt, const char *name, const char *args, void *opaque, AVFilterGraph *graph_ctx) |
Create and add a filter instance into an existing graph. More... | |
int | avfilter_graph_config (AVFilterGraph *graphctx, void *log_ctx) |
Check validity and configure all the links and formats in the graph. More... | |
void | avfilter_graph_free (AVFilterGraph **graph) |
Free a graph, destroy its links, and set *graph to NULL. More... | |
AVFilterInOut * | avfilter_inout_alloc (void) |
Allocate a single AVFilterInOut entry. More... | |
void | avfilter_inout_free (AVFilterInOut **inout) |
Free the supplied list of AVFilterInOut and set *inout to NULL. More... | |
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. More... | |
int | avfilter_graph_parse2 (AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs) |
Add a graph described by a string to a graph. More... | |
#define AVFILTER_FLAG_DYNAMIC_INPUTS (1 << 0) |
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 103 of file avfilter.h.
#define AVFILTER_FLAG_DYNAMIC_OUTPUTS (1 << 1) |
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 109 of file avfilter.h.
#define AVFILTER_FLAG_SLICE_THREADS (1 << 2) |
The filter supports multithreading by splitting frames into multiple parts and processing them concurrently.
Definition at line 114 of file avfilter.h.
#define AVFILTER_THREAD_SLICE (1 << 0) |
Process multiple parts of the frame concurrently.
Definition at line 259 of file avfilter.h.
typedef struct AVFilterPad AVFilterPad |
Definition at line 67 of file avfilter.h.
typedef struct AVFilterFormats AVFilterFormats |
Definition at line 68 of file avfilter.h.
typedef struct AVFilterInternal AVFilterInternal |
Definition at line 261 of file avfilter.h.
typedef struct AVFilterGraphInternal AVFilterGraphInternal |
Definition at line 538 of file avfilter.h.
typedef int() avfilter_action_func(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
A function pointer passed to the AVFilterGraph::execute callback to be executed multiple times, possibly in parallel.
ctx | the filter context the job belongs to |
arg | an opaque parameter passed through from AVFilterGraph::execute |
jobnr | the index of the job being executed |
nb_jobs | the total number of jobs |
Definition at line 552 of file avfilter.h.
typedef int() avfilter_execute_func(AVFilterContext *ctx, avfilter_action_func *func, void *arg, int *ret, int nb_jobs) |
A function executing multiple jobs, possibly in parallel.
ctx | the filter context to which the jobs belong |
func | the function to be called multiple times |
arg | the argument to be passed to func |
ret | a nb_jobs-sized array to be filled with return values from each invocation of func |
nb_jobs | the number of jobs to execute |
Definition at line 566 of file avfilter.h.
unsigned avfilter_version | ( | void | ) |
Return the LIBAVFILTER_VERSION_INT constant.
const char* avfilter_configuration | ( | void | ) |
Return the libavfilter build-time configuration.
const char* avfilter_license | ( | void | ) |
Return the libavfilter license.
int avfilter_pad_count | ( | const AVFilterPad * | pads | ) |
Get the number of elements in a NULL-terminated array of AVFilterPads (e.g.
AVFilter.inputs/outputs).
const char* avfilter_pad_get_name | ( | const AVFilterPad * | pads, |
int | pad_idx | ||
) |
Get the name of an AVFilterPad.
pads | an array of AVFilterPads |
pad_idx | index of the pad in the array it; is the caller's responsibility to ensure the index is valid |
enum AVMediaType avfilter_pad_get_type | ( | const AVFilterPad * | pads, |
int | pad_idx | ||
) |
Get the type of an AVFilterPad.
pads | an array of AVFilterPads |
pad_idx | index of the pad in the array; it is the caller's responsibility to ensure the index is valid |
int avfilter_link | ( | AVFilterContext * | src, |
unsigned | srcpad, | ||
AVFilterContext * | dst, | ||
unsigned | dstpad | ||
) |
Link two filters together.
src | the source filter |
srcpad | index of the output pad on the source filter |
dst | the destination filter |
dstpad | index of the input pad on the destination filter |
Referenced by init_filter_graph().
int avfilter_config_links | ( | AVFilterContext * | filter | ) |
Negotiate the media format, dimensions, etc of all inputs to a filter.
filter | the filter to negotiate the properties for its inputs |
void avfilter_register_all | ( | void | ) |
Initialize the filter system.
Register all builtin filters.
Referenced by main().
int avfilter_register | ( | AVFilter * | filter | ) |
Register a filter.
This is only needed if you plan to use avfilter_get_by_name later to lookup the AVFilter structure by name. A filter can still by instantiated with avfilter_graph_alloc_filter even if it is not registered.
filter | the filter to register |
const AVFilter* avfilter_get_by_name | ( | const char * | name | ) |
Get a filter definition matching the given name.
name | the filter name to find |
Referenced by init_filter_graph().
Iterate over all registered filters.
int avfilter_init_str | ( | AVFilterContext * | ctx, |
const char * | args | ||
) |
Initialize a filter with the supplied parameters.
ctx | uninitialized filter context to initialize |
args | Options to initialize the filter with. This must be a ':'-separated list of options in the 'key=value' form. May be NULL if the options have been set directly using the AVOptions API or there are no options that need to be set. |
Referenced by init_filter_graph().
int avfilter_init_dict | ( | AVFilterContext * | ctx, |
AVDictionary ** | options | ||
) |
Initialize a filter with the supplied dictionary of options.
ctx | uninitialized filter context to initialize |
options | An AVDictionary filled with options for this filter. On return this parameter will be destroyed and replaced with a dict containing options that were not found. This dictionary must be freed by the caller. May be NULL, then this function is equivalent to avfilter_init_str() with the second parameter set to NULL. |
Referenced by init_filter_graph().
void avfilter_free | ( | AVFilterContext * | filter | ) |
Free a filter context.
This will also remove the filter from its filtergraph's list of filters.
filter | the filter to free |
int avfilter_insert_filter | ( | AVFilterLink * | link, |
AVFilterContext * | filt, | ||
unsigned | filt_srcpad_idx, | ||
unsigned | filt_dstpad_idx | ||
) |
Insert a filter in the middle of an existing link.
link | the link into which the filter should be inserted |
filt | the filter to be inserted |
filt_srcpad_idx | the input pad on the filter to connect |
filt_dstpad_idx | the output pad on the filter to connect |
const AVClass* avfilter_get_class | ( | void | ) |
AVFilterGraph* avfilter_graph_alloc | ( | void | ) |
Allocate a filter graph.
Referenced by init_filter_graph().
AVFilterContext* avfilter_graph_alloc_filter | ( | AVFilterGraph * | graph, |
const AVFilter * | filter, | ||
const char * | name | ||
) |
Create a new filter instance in a filter graph.
graph | graph in which the new filter will be used |
filter | the filter to create an instance of |
name | Name to give to the new instance (will be copied to AVFilterContext.name). This may be used by the caller to identify different filters, libavfilter itself assigns no semantics to this parameter. May be NULL. |
Referenced by init_filter_graph().
AVFilterContext* avfilter_graph_get_filter | ( | AVFilterGraph * | graph, |
char * | name | ||
) |
Get a filter instance with name name from graph.
int avfilter_graph_create_filter | ( | AVFilterContext ** | filt_ctx, |
const 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 |
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 |
Referenced by init_filter_graph().
void avfilter_graph_free | ( | AVFilterGraph ** | graph | ) |
Free a graph, destroy its links, and set *graph to NULL.
If *graph is NULL, do nothing.
Referenced by main().
AVFilterInOut* avfilter_inout_alloc | ( | void | ) |
Allocate a single AVFilterInOut entry.
Must be freed with avfilter_inout_free().
void avfilter_inout_free | ( | AVFilterInOut ** | inout | ) |
Free the supplied list of AVFilterInOut and set *inout to NULL.
If *inout is NULL, do nothing.
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.
graph | the filter graph where to link the parsed graph context |
filters | string to be parsed |
inputs | linked list to the inputs of the graph |
outputs | linked list to the outputs of the graph |
int avfilter_graph_parse2 | ( | AVFilterGraph * | graph, |
const char * | filters, | ||
AVFilterInOut ** | inputs, | ||
AVFilterInOut ** | outputs | ||
) |
Add a graph described by a string to a graph.
[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(). |