#include <ctype.h>
#include <string.h>
#include "libavutil/avstring.h"
#include "avfilter.h"
#include "avfiltergraph.h"
Go to the source code of this file.
Defines | |
#define | WHITESPACES " \n\t" |
#define | log_ctx NULL |
Functions | |
static int | link_filter (AVFilterContext *src, int srcpad, AVFilterContext *dst, int dstpad, void *log_ctx) |
Link two filters together. | |
static char * | parse_link_name (const char **buf, void *log_ctx) |
Parse the name of a link, which has the format "[linkname]". | |
static int | create_filter (AVFilterContext **filt_ctx, AVFilterGraph *ctx, int index, const char *filt_name, const char *args, void *log_ctx) |
Create an instance of a filter, initialize and insert it in the filtergraph in *ctx. | |
static int | parse_filter (AVFilterContext **filt_ctx, const char **buf, AVFilterGraph *graph, int index, void *log_ctx) |
Parse a string of the form FILTER_NAME[=PARAMS], and create a corresponding filter instance which is added to graph with create_filter(). | |
AVFilterInOut * | avfilter_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. | |
static AVFilterInOut * | extract_inout (const char *label, AVFilterInOut **links) |
static void | insert_inout (AVFilterInOut **inouts, AVFilterInOut *element) |
static void | append_inout (AVFilterInOut **inouts, AVFilterInOut **element) |
static int | link_filter_inouts (AVFilterContext *filt_ctx, AVFilterInOut **curr_inputs, AVFilterInOut **open_inputs, void *log_ctx) |
static int | parse_inputs (const char **buf, AVFilterInOut **curr_inputs, AVFilterInOut **open_outputs, void *log_ctx) |
static int | parse_outputs (const char **buf, AVFilterInOut **curr_inputs, AVFilterInOut **open_inputs, AVFilterInOut **open_outputs, void *log_ctx) |
static int | parse_sws_flags (const char **buf, AVFilterGraph *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_parse (AVFilterGraph *graph, const char *filters, AVFilterInOut **open_inputs_ptr, AVFilterInOut **open_outputs_ptr, void *log_ctx) |
Add a graph described by a string to a graph. |
#define log_ctx NULL |
Definition at line 356 of file graphparser.c.
Referenced by avfilter_graph_parse2(), and parse_sws_flags().
#define WHITESPACES " \n\t" |
Definition at line 30 of file graphparser.c.
Referenced by av_get_token(), avfilter_graph_parse2(), parse_inputs(), and parse_outputs().
static void append_inout | ( | AVFilterInOut ** | inouts, | |
AVFilterInOut ** | element | |||
) | [static] |
Definition at line 211 of file graphparser.c.
Referenced by avfilter_graph_parse2(), link_filter_inouts(), and parse_inputs().
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 | 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(). |
Definition at line 451 of file graphparser.c.
Referenced by configure_simple_filtergraph(), 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.
[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 382 of file graphparser.c.
Referenced by avfilter_graph_parse(), and configure_complex_filter().
AVFilterInOut* avfilter_inout_alloc | ( | void | ) |
Allocate a single AVFilterInOut entry.
Must be freed with avfilter_inout_free().
Definition at line 173 of file graphparser.c.
Referenced by configure_simple_filtergraph(), and 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 178 of file graphparser.c.
Referenced by avfilter_graph_parse(), avfilter_graph_parse2(), configure_complex_filter(), init_output_filter(), and lavfi_read_header().
static int create_filter | ( | AVFilterContext ** | filt_ctx, | |
AVFilterGraph * | ctx, | |||
int | index, | |||
const char * | filt_name, | |||
const char * | args, | |||
void * | log_ctx | |||
) | [static] |
Create an instance of a filter, initialize and insert it in the filtergraph in *ctx.
filt_ctx | put here a filter context in case of successful creation and configuration, NULL otherwise. | |
ctx | the filtergraph context | |
index | an index which is supposed to be unique for each filter instance added to the filtergraph | |
filt_name | the name of the filter to create | |
args | the arguments provided to the filter during its initialization | |
log_ctx | the log context to use |
Definition at line 94 of file graphparser.c.
Referenced by parse_filter().
static AVFilterInOut* extract_inout | ( | const char * | label, | |
AVFilterInOut ** | links | |||
) | [static] |
Definition at line 188 of file graphparser.c.
Referenced by avfilter_graph_parse(), parse_inputs(), and parse_outputs().
static void insert_inout | ( | AVFilterInOut ** | inouts, | |
AVFilterInOut * | element | |||
) | [static] |
Definition at line 205 of file graphparser.c.
Referenced by link_filter_inouts(), and parse_outputs().
static int link_filter | ( | AVFilterContext * | src, | |
int | srcpad, | |||
AVFilterContext * | dst, | |||
int | dstpad, | |||
void * | log_ctx | |||
) | [static] |
Link two filters together.
Definition at line 37 of file graphparser.c.
Referenced by link_filter_inouts(), and parse_outputs().
static int link_filter_inouts | ( | AVFilterContext * | filt_ctx, | |
AVFilterInOut ** | curr_inputs, | |||
AVFilterInOut ** | open_inputs, | |||
void * | log_ctx | |||
) | [static] |
static int parse_filter | ( | AVFilterContext ** | filt_ctx, | |
const char ** | buf, | |||
AVFilterGraph * | graph, | |||
int | index, | |||
void * | log_ctx | |||
) | [static] |
Parse a string of the form FILTER_NAME[=PARAMS], and create a corresponding filter instance which is added to graph with create_filter().
filt_ctx | Pointer that is set to the created and configured filter context on success, set to NULL on failure. | |
filt_ctx | put here a pointer to the created filter context on success, NULL otherwise | |
buf | pointer to the buffer to parse, *buf will be updated to point to the char next after the parsed string | |
index | an index which is assigned to the created filter instance, and which is supposed to be unique for each filter instance added to the filtergraph |
Definition at line 155 of file graphparser.c.
Referenced by avfilter_graph_parse2().
static int parse_inputs | ( | const char ** | buf, | |
AVFilterInOut ** | curr_inputs, | |||
AVFilterInOut ** | open_outputs, | |||
void * | log_ctx | |||
) | [static] |
static char* parse_link_name | ( | const char ** | buf, | |
void * | log_ctx | |||
) | [static] |
Parse the name of a link, which has the format "[linkname]".
Definition at line 58 of file graphparser.c.
Referenced by parse_inputs(), and parse_outputs().
static int parse_outputs | ( | const char ** | buf, | |
AVFilterInOut ** | curr_inputs, | |||
AVFilterInOut ** | open_inputs, | |||
AVFilterInOut ** | open_outputs, | |||
void * | log_ctx | |||
) | [static] |
static int parse_sws_flags | ( | const char ** | buf, | |
AVFilterGraph * | graph | |||
) | [static] |