00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AVFILTER_AVFILTERGRAPH_H
00023 #define AVFILTER_AVFILTERGRAPH_H
00024
00025 #include "avfilter.h"
00026
00027 typedef struct AVFilterGraph {
00028 unsigned filter_count;
00029 AVFilterContext **filters;
00030
00031 char *scale_sws_opts;
00032 } AVFilterGraph;
00033
00037 AVFilterGraph *avfilter_graph_alloc(void);
00038
00045 AVFilterContext *avfilter_graph_get_filter(AVFilterGraph *graph, char *name);
00046
00053 int avfilter_graph_add_filter(AVFilterGraph *graphctx, AVFilterContext *filter);
00054
00068 int avfilter_graph_create_filter(AVFilterContext **filt_ctx, AVFilter *filt,
00069 const char *name, const char *args, void *opaque,
00070 AVFilterGraph *graph_ctx);
00071
00079 int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx);
00080
00085 void avfilter_graph_free(AVFilterGraph **graph);
00086
00096 typedef struct AVFilterInOut {
00098 char *name;
00099
00101 AVFilterContext *filter_ctx;
00102
00104 int pad_idx;
00105
00107 struct AVFilterInOut *next;
00108 } AVFilterInOut;
00109
00114 AVFilterInOut *avfilter_inout_alloc(void);
00115
00120 void avfilter_inout_free(AVFilterInOut **inout);
00121
00135 int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,
00136 AVFilterInOut **inputs, AVFilterInOut **outputs,
00137 void *log_ctx);
00138
00154 int avfilter_graph_send_command(AVFilterGraph *graph, const char *target, const char *cmd, const char *arg, char *res, int res_len, int flags);
00155
00171 int avfilter_graph_queue_command(AVFilterGraph *graph, const char *target, const char *cmd, const char *arg, int flags, double ts);
00172
00173
00182 char *avfilter_graph_dump(AVFilterGraph *graph, const char *options);
00183
00184 #endif