#include <ctype.h>
#include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "libavutil/log.h"
#include "avfilter.h"
#include "avfiltergraph.h"
#include "formats.h"
#include "internal.h"
Go to the source code of this file.
Macros | |
#define | REDUCE_FORMATS(fmt_type, list_type, list, var, nb, add_format) |
#define | CH_CENTER_PAIR (AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER) |
#define | CH_FRONT_PAIR (AV_CH_FRONT_LEFT | AV_CH_FRONT_RIGHT) |
#define | CH_STEREO_PAIR (AV_CH_STEREO_LEFT | AV_CH_STEREO_RIGHT) |
#define | CH_WIDE_PAIR (AV_CH_WIDE_LEFT | AV_CH_WIDE_RIGHT) |
#define | CH_SIDE_PAIR (AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT) |
#define | CH_DIRECT_PAIR (AV_CH_SURROUND_DIRECT_LEFT | AV_CH_SURROUND_DIRECT_RIGHT) |
#define | CH_BACK_PAIR (AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT) |
Functions | |
AVFilterGraph * | avfilter_graph_alloc (void) |
Allocate a filter graph. | |
void | avfilter_graph_free (AVFilterGraph **graph) |
Free a graph, destroy its links, and set *graph to NULL. | |
int | avfilter_graph_add_filter (AVFilterGraph *graph, 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. | |
static int | graph_check_validity (AVFilterGraph *graph, AVClass *log_ctx) |
Check for the validity of graph. | |
static int | graph_config_links (AVFilterGraph *graph, AVClass *log_ctx) |
Configure all the links of graphctx. | |
AVFilterContext * | avfilter_graph_get_filter (AVFilterGraph *graph, char *name) |
Get a filter instance with name name from graph. | |
static int | query_formats (AVFilterGraph *graph, AVClass *log_ctx) |
static int | pick_format (AVFilterLink *link) |
static int | reduce_formats_on_filter (AVFilterContext *filter) |
static void | reduce_formats (AVFilterGraph *graph) |
static void | swap_samplerates_on_filter (AVFilterContext *filter) |
static void | swap_samplerates (AVFilterGraph *graph) |
static void | swap_channel_layouts_on_filter (AVFilterContext *filter) |
static void | swap_channel_layouts (AVFilterGraph *graph) |
static void | swap_sample_fmts_on_filter (AVFilterContext *filter) |
static void | swap_sample_fmts (AVFilterGraph *graph) |
static int | pick_formats (AVFilterGraph *graph) |
static int | graph_config_formats (AVFilterGraph *graph, AVClass *log_ctx) |
Configure the formats of all the links in the graph. | |
static int | graph_insert_fifos (AVFilterGraph *graph, AVClass *log_ctx) |
int | avfilter_graph_config (AVFilterGraph *graphctx, void *log_ctx) |
Check validity and configure all the links and formats in the graph. |
Variables | |
static const AVClass | filtergraph_class |
static const uint64_t | ch_subst [][2] |
#define CH_BACK_PAIR (AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT) |
Definition at line 438 of file avfiltergraph.c.
#define CH_CENTER_PAIR (AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER) |
Definition at line 432 of file avfiltergraph.c.
#define CH_DIRECT_PAIR (AV_CH_SURROUND_DIRECT_LEFT | AV_CH_SURROUND_DIRECT_RIGHT) |
Definition at line 437 of file avfiltergraph.c.
#define CH_FRONT_PAIR (AV_CH_FRONT_LEFT | AV_CH_FRONT_RIGHT) |
Definition at line 433 of file avfiltergraph.c.
#define CH_SIDE_PAIR (AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT) |
Definition at line 436 of file avfiltergraph.c.
#define CH_STEREO_PAIR (AV_CH_STEREO_LEFT | AV_CH_STEREO_RIGHT) |
Definition at line 434 of file avfiltergraph.c.
#define CH_WIDE_PAIR (AV_CH_WIDE_LEFT | AV_CH_WIDE_RIGHT) |
Definition at line 435 of file avfiltergraph.c.
#define REDUCE_FORMATS | ( | fmt_type, | |
list_type, | |||
list, | |||
var, | |||
nb, | |||
add_format | |||
) |
Definition at line 324 of file avfiltergraph.c.
Referenced by reduce_formats_on_filter().
int avfilter_graph_add_filter | ( | AVFilterGraph * | graphctx, |
AVFilterContext * | filter | ||
) |
Add an existing filter instance to a filter graph.
graphctx | the filter graph |
filter | the filter to be added |
Definition at line 62 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 42 of file avfiltergraph.c.
Referenced by configure_filtergraph(), and video_thread().
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 699 of file avfiltergraph.c.
Referenced by configure_filtergraph(), 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.
name | the instance name to give to the created filter instance |
graph_ctx | the filter graph |
Definition at line 75 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().
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 51 of file avfiltergraph.c.
Referenced by configure_filtergraph(), exit_program(), and video_thread().
AVFilterContext* avfilter_graph_get_filter | ( | AVFilterGraph * | graph, |
char * | name | ||
) |
Get a filter instance with name name from graph.
Definition at line 156 of file avfiltergraph.c.
|
static |
Check for the validity of graph.
A graph is considered valid if all its input and output pads are connected.
Definition at line 104 of file avfiltergraph.c.
Referenced by avfilter_graph_config().
|
static |
Configure the formats of all the links in the graph.
Definition at line 636 of file avfiltergraph.c.
Referenced by avfilter_graph_config().
|
static |
Configure all the links of graphctx.
Definition at line 139 of file avfiltergraph.c.
Referenced by avfilter_graph_config().
|
static |
Definition at line 661 of file avfiltergraph.c.
Referenced by avfilter_graph_config().
|
static |
Definition at line 286 of file avfiltergraph.c.
Referenced by pick_formats().
|
static |
Definition at line 616 of file avfiltergraph.c.
Referenced by graph_config_formats().
|
static |
Definition at line 167 of file avfiltergraph.c.
Referenced by graph_config_formats().
|
static |
Definition at line 373 of file avfiltergraph.c.
Referenced by graph_config_formats().
|
static |
Definition at line 359 of file avfiltergraph.c.
Referenced by reduce_formats().
|
static |
Definition at line 539 of file avfiltergraph.c.
Referenced by graph_config_formats().
|
static |
Definition at line 466 of file avfiltergraph.c.
Referenced by swap_channel_layouts().
|
static |
Definition at line 607 of file avfiltergraph.c.
Referenced by graph_config_formats().
|
static |
Definition at line 547 of file avfiltergraph.c.
Referenced by swap_sample_fmts().
|
static |
Definition at line 424 of file avfiltergraph.c.
Referenced by graph_config_formats().
|
static |
Definition at line 385 of file avfiltergraph.c.
Referenced by swap_samplerates().
|
static |
Definition at line 442 of file avfiltergraph.c.
Referenced by swap_channel_layouts_on_filter().
|
static |
Definition at line 36 of file avfiltergraph.c.
Referenced by avfilter_graph_alloc().