Libav
Macros | Functions | Variables
avfiltergraph.c File Reference
#include "config.h"
#include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "thread.h"

Go to the source code of this file.

Macros

#define OFFSET(x)   offsetof(AVFilterGraph, x)
#define FLAGS   AV_OPT_FLAG_VIDEO_PARAM
#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

void ff_graph_thread_free (AVFilterGraph *graph)
int ff_graph_thread_init (AVFilterGraph *graph)
AVFilterGraphavfilter_graph_alloc (void)
 Allocate a filter graph.
void ff_filter_graph_remove_filter (AVFilterGraph *graph, AVFilterContext *filter)
 Remove a filter from a graph;.
void avfilter_graph_free (AVFilterGraph **graph)
 Free a graph, destroy its links, and set *graph to NULL.
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.
AVFilterContextavfilter_graph_alloc_filter (AVFilterGraph *graph, const AVFilter *filter, const char *name)
 Create a new filter instance in a filter 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.
AVFilterContextavfilter_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 AVOption filtergraph_options []
static const AVClass filtergraph_class
static const uint64_t ch_subst [][2]

Macro Definition Documentation

#define OFFSET (   x)    offsetof(AVFilterGraph, x)

Definition at line 40 of file avfiltergraph.c.

#define FLAGS   AV_OPT_FLAG_VIDEO_PARAM

Definition at line 41 of file avfiltergraph.c.

#define REDUCE_FORMATS (   fmt_type,
  list_type,
  list,
  var,
  nb,
  add_format 
)

Definition at line 436 of file avfiltergraph.c.

Referenced by reduce_formats_on_filter().

Definition at line 544 of file avfiltergraph.c.

#define CH_FRONT_PAIR   (AV_CH_FRONT_LEFT | AV_CH_FRONT_RIGHT)

Definition at line 545 of file avfiltergraph.c.

#define CH_STEREO_PAIR   (AV_CH_STEREO_LEFT | AV_CH_STEREO_RIGHT)

Definition at line 546 of file avfiltergraph.c.

#define CH_WIDE_PAIR   (AV_CH_WIDE_LEFT | AV_CH_WIDE_RIGHT)

Definition at line 547 of file avfiltergraph.c.

#define CH_SIDE_PAIR   (AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT)

Definition at line 548 of file avfiltergraph.c.

Definition at line 549 of file avfiltergraph.c.

#define CH_BACK_PAIR   (AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT)

Definition at line 550 of file avfiltergraph.c.

Function Documentation

void ff_graph_thread_free ( AVFilterGraph graph)

Definition at line 59 of file avfiltergraph.c.

Referenced by avfilter_graph_free().

int ff_graph_thread_init ( AVFilterGraph graph)

Definition at line 63 of file avfiltergraph.c.

Referenced by avfilter_graph_alloc_filter().

void ff_filter_graph_remove_filter ( AVFilterGraph graph,
AVFilterContext filter 
)

Remove a filter from a graph;.

Definition at line 89 of file avfiltergraph.c.

Referenced by avfilter_free().

static int graph_check_validity ( AVFilterGraph graph,
AVClass log_ctx 
)
static

Check for the validity of graph.

A graph is considered valid if all its input and output pads are connected.

Returns
0 in case of success, a negative value otherwise

Definition at line 215 of file avfiltergraph.c.

Referenced by avfilter_graph_config().

static int graph_config_links ( AVFilterGraph graph,
AVClass log_ctx 
)
static

Configure all the links of graphctx.

Returns
0 in case of success, a negative value otherwise

Definition at line 250 of file avfiltergraph.c.

Referenced by avfilter_graph_config().

static int query_formats ( AVFilterGraph graph,
AVClass log_ctx 
)
static

Definition at line 278 of file avfiltergraph.c.

Referenced by graph_config_formats().

static int pick_format ( AVFilterLink link)
static

Definition at line 398 of file avfiltergraph.c.

Referenced by pick_formats().

static int reduce_formats_on_filter ( AVFilterContext filter)
static

Definition at line 471 of file avfiltergraph.c.

Referenced by reduce_formats().

static void reduce_formats ( AVFilterGraph graph)
static

Definition at line 485 of file avfiltergraph.c.

Referenced by graph_config_formats().

static void swap_samplerates_on_filter ( AVFilterContext filter)
static

Definition at line 497 of file avfiltergraph.c.

Referenced by swap_samplerates().

static void swap_samplerates ( AVFilterGraph graph)
static

Definition at line 536 of file avfiltergraph.c.

Referenced by graph_config_formats().

static void swap_channel_layouts_on_filter ( AVFilterContext filter)
static

Definition at line 578 of file avfiltergraph.c.

Referenced by swap_channel_layouts().

static void swap_channel_layouts ( AVFilterGraph graph)
static

Definition at line 651 of file avfiltergraph.c.

Referenced by graph_config_formats().

static void swap_sample_fmts_on_filter ( AVFilterContext filter)
static

Definition at line 659 of file avfiltergraph.c.

Referenced by swap_sample_fmts().

static void swap_sample_fmts ( AVFilterGraph graph)
static

Definition at line 719 of file avfiltergraph.c.

Referenced by graph_config_formats().

static int pick_formats ( AVFilterGraph graph)
static

Definition at line 728 of file avfiltergraph.c.

Referenced by graph_config_formats().

static int graph_config_formats ( AVFilterGraph graph,
AVClass log_ctx 
)
static

Configure the formats of all the links in the graph.

Definition at line 748 of file avfiltergraph.c.

Referenced by avfilter_graph_config().

static int graph_insert_fifos ( AVFilterGraph graph,
AVClass log_ctx 
)
static

Definition at line 773 of file avfiltergraph.c.

Referenced by avfilter_graph_config().

Variable Documentation

const AVOption filtergraph_options[]
static
Initial value:
{
{ "thread_type", "Allowed thread types", OFFSET(thread_type), AV_OPT_TYPE_FLAGS,
{ .i64 = AVFILTER_THREAD_SLICE }, 0, INT_MAX, FLAGS, "thread_type" },
{ "slice", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AVFILTER_THREAD_SLICE }, .flags = FLAGS, .unit = "thread_type" },
{ "threads", "Maximum number of threads", OFFSET(nb_threads),
AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, FLAGS },
{ NULL },
}

Definition at line 42 of file avfiltergraph.c.

const AVClass filtergraph_class
static
Initial value:
{
.class_name = "AVFilterGraph",
.item_name = av_default_item_name,
}

Definition at line 51 of file avfiltergraph.c.

Referenced by avfilter_graph_alloc().

const uint64_t ch_subst[][2]
static