Libav
|
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 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... | |
Enumerations | |
enum | { AVFilterLink::AVLINK_UNINIT = 0, AVFilterLink::AVLINK_STARTINIT, AVFilterLink::AVLINK_INIT } |
stage of the initialization of the link properties (dimensions, etc) 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 404 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 410 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 415 of file avfilter.h.
Referenced by avfilter_init_dict().
#define AVFILTER_THREAD_SLICE (1 << 0) |
Process multiple parts of the frame concurrently.
Definition at line 558 of file avfilter.h.
Referenced by avfilter_init_dict().
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 923 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 937 of file avfilter.h.
anonymous enum |
stage of the initialization of the link properties (dimensions, etc)
Enumerator | |
---|---|
AVLINK_UNINIT |
not started |
AVLINK_STARTINIT |
started, but incomplete |
AVLINK_INIT |
complete |
Definition at line 681 of file avfilter.h.
unsigned avfilter_version | ( | void | ) |
Return the LIBAVFILTER_VERSION_INT constant.
Definition at line 38 of file avfilter.c.
const char* avfilter_configuration | ( | void | ) |
Return the libavfilter build-time configuration.
Definition at line 43 of file avfilter.c.
const char* avfilter_license | ( | void | ) |
Return the libavfilter license.
Definition at line 48 of file avfilter.c.
int avfilter_pad_count | ( | const AVFilterPad * | pads | ) |
Get the number of elements in a NULL-terminated array of AVFilterPads (e.g.
AVFilter.inputs/outputs).
Definition at line 318 of file avfilter.c.
Referenced by ff_filter_alloc().
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 |
Definition at line 713 of file avfilter.c.
Referenced by main().
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 |
Definition at line 718 of file avfilter.c.
Referenced by configure_input_filter(), configure_output_filter(), init_input_filter(), init_output_filter(), insert_trim(), main(), and open_output_file().
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 |
Definition at line 75 of file avfilter.c.
Referenced by avfilter_graph_parse(), avfilter_insert_filter(), configure_input_audio_filter(), configure_input_video_filter(), configure_output_audio_filter(), configure_output_video_filter(), init_filter_graph(), insert_trim(), and link_filter().
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 |
Definition at line 145 of file avfilter.c.
Referenced by avfilter_config_links(), and graph_config_links().
Initialize the filter system.
Register all builtin filters.
Definition at line 39 of file allfilters.c.
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 |
Definition at line 292 of file avfilter.c.
const AVFilter* avfilter_get_by_name | ( | const char * | name | ) |
Get a filter definition matching the given name.
name | the filter name to find |
Definition at line 278 of file avfilter.c.
Referenced by configure_input_audio_filter(), configure_input_video_filter(), configure_output_audio_filter(), configure_output_video_filter(), create_filter(), graph_insert_fifos(), init_filter_graph(), insert_trim(), main(), and query_formats().
Iterate over all registered filters.
Definition at line 302 of file avfilter.c.
Referenced by avfilter_get_by_name(), filter_child_class_next(), and show_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. |
Definition at line 596 of file avfilter.c.
Referenced by avfilter_graph_create_filter(), create_filter(), init_filter_graph(), insert_trim(), and main().
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. |
Definition at line 561 of file avfilter.c.
Referenced by avfilter_init_str(), and 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 |
Definition at line 491 of file avfilter.c.
Referenced by avfilter_graph_alloc_filter(), avfilter_graph_create_filter(), avfilter_graph_free(), avfilter_graph_parse(), avfilter_graph_parse2(), create_filter(), and main().
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 |
Definition at line 108 of file avfilter.c.
Referenced by graph_insert_fifos(), and query_formats().
Definition at line 793 of file avfilter.c.
Referenced by show_help_default().
AVFilterGraph* avfilter_graph_alloc | ( | void | ) |
Allocate a filter graph.
Definition at line 71 of file avfiltergraph.c.
Referenced by configure_filtergraph(), init_filter_graph(), main(), and video_thread().
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. |
Definition at line 165 of file avfiltergraph.c.
Referenced by avfilter_graph_create_filter(), create_filter(), init_filter_graph(), insert_trim(), and main().
AVFilterContext* avfilter_graph_get_filter | ( | AVFilterGraph * | graph, |
char * | name | ||
) |
Get a filter instance with name name from graph.
Definition at line 267 of file avfiltergraph.c.
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 |
Definition at line 142 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(), and query_formats().
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 811 of file avfiltergraph.c.
Referenced by configure_filtergraph(), init_filter_graph(), main(), and transcode_init().
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 102 of file avfiltergraph.c.
Referenced by avconv_cleanup(), configure_filtergraph(), main(), and video_thread().
AVFilterInOut* avfilter_inout_alloc | ( | void | ) |
Allocate a single AVFilterInOut entry.
Must be freed with avfilter_inout_free().
Definition at line 174 of file graphparser.c.
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 179 of file graphparser.c.
Referenced by avfilter_graph_parse(), avfilter_graph_parse2(), configure_filtergraph(), and init_output_filter().
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 |
Definition at line 451 of file graphparser.c.
Referenced by main().
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(). |
Definition at line 383 of file graphparser.c.
Referenced by avfilter_graph_parse(), and configure_filtergraph().