avfiltergraph.h
Go to the documentation of this file.
1 /*
2  * Filter graphs
3  * copyright (c) 2007 Bobby Bingham
4  *
5  * This file is part of Libav.
6  *
7  * Libav is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * Libav is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with Libav; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 #ifndef AVFILTER_AVFILTERGRAPH_H
23 #define AVFILTER_AVFILTERGRAPH_H
24 
25 #include "avfilter.h"
26 #include "libavutil/log.h"
27 
28 typedef struct AVFilterGraph {
29  const AVClass *av_class;
30  unsigned filter_count;
32 
35 
40 
48 
56 
71  const char *name, const char *args, void *opaque,
72  AVFilterGraph *graph_ctx);
73 
81 int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx);
82 
88 
98 typedef struct AVFilterInOut {
100  char *name;
101 
104 
106  int pad_idx;
107 
110 } AVFilterInOut;
111 
118 
123 void avfilter_inout_free(AVFilterInOut **inout);
124 
134 int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,
136  void *log_ctx);
137 
168 int avfilter_graph_parse2(AVFilterGraph *graph, const char *filters,
171 
172 #endif /* AVFILTER_AVFILTERGRAPH_H */
AVFilterContext ** filters
Definition: avfiltergraph.h:31
static const AVFilterPad outputs[]
Definition: af_ashowinfo.c:122
struct AVFilterInOut * next
next input/input in the list, NULL if this is the last
AVFilterGraph * avfilter_graph_alloc(void)
Allocate a filter graph.
Definition: avfiltergraph.c:42
int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx)
Check validity and configure all the links and formats in the graph.
char * scale_sws_opts
sws options to use for the auto-inserted scale filters
Definition: avfiltergraph.h:33
AVFilterContext * avfilter_graph_get_filter(AVFilterGraph *graph, char *name)
Get a filter instance with name name from graph.
unsigned filter_count
Definition: avfiltergraph.h:30
const char * name
const AVClass * av_class
Definition: avfiltergraph.h:29
struct AVFilterGraph AVFilterGraph
static void filter(MpegAudioContext *s, int ch, const short *samples, int incr)
Definition: mpegaudioenc.c:318
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.
Definition: avfiltergraph.c:75
int avfilter_graph_parse2(AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs)
Add a graph described by a string to a graph.
Definition: graphparser.c:385
AVFilterContext * filter_ctx
filter context associated to this input/output
A linked-list of the inputs/outputs of the filter chain.
Definition: avfiltergraph.h:98
void avfilter_inout_free(AVFilterInOut **inout)
Free the supplied list of AVFilterInOut and set *inout to NULL.
Definition: graphparser.c:181
AVFilterInOut * avfilter_inout_alloc(void)
Allocate a single AVFilterInOut entry.
Definition: graphparser.c:176
struct AVFilterInOut AVFilterInOut
A linked-list of the inputs/outputs of the filter chain.
Describe the class of an AVClass context structure.
Definition: log.h:33
Filter definition.
Definition: avfilter.h:371
static const AVFilterPad inputs[]
Definition: af_ashowinfo.c:110
int pad_idx
index of the filt_ctx pad to use for linking
char * name
unique name for this input/output in the list
void avfilter_graph_free(AVFilterGraph **graph)
Free a graph, destroy its links, and set *graph to NULL.
Definition: avfiltergraph.c:51
An instance of a filter.
Definition: avfilter.h:418
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.
Definition: graphparser.c:453
int avfilter_graph_add_filter(AVFilterGraph *graphctx, AVFilterContext *filter)
Add an existing filter instance to a filter graph.
Definition: avfiltergraph.c:62