diff options
Diffstat (limited to 'libavfilter/avfiltergraph.c')
-rw-r--r-- | libavfilter/avfiltergraph.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 62da23f7ca..7acafe7b57 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -26,6 +26,49 @@ #include "avfilter.h" #include "avfiltergraph.h" + +/** Linked-list of filters to create for an AVFilterGraphDesc */ +typedef struct AVFilterGraphDescFilter +{ + int index; ///< filter instance index + char *filter; ///< name of filter type + char *args; ///< filter parameters + struct AVFilterGraphDescFilter *next; +} AVFilterGraphDescFilter; + +/** Linked-list of links between filters */ +typedef struct AVFilterGraphDescLink +{ + /* TODO: allow referencing pads by name, not just by index */ + int src; ///< index of the source filter + unsigned srcpad; ///< index of the output pad on the source filter + + int dst; ///< index of the dest filter + unsigned dstpad; ///< index of the input pad on the dest filter + + struct AVFilterGraphDescLink *next; +} AVFilterGraphDescLink; + +/** Linked-list of filter pads to be exported from the graph */ +typedef struct AVFilterGraphDescExport +{ + /* TODO: allow referencing pads by name, not just by index */ + char *name; ///< name of the exported pad + int filter; ///< index of the filter + unsigned pad; ///< index of the pad to be exported + + struct AVFilterGraphDescExport *next; +} AVFilterGraphDescExport; + +/** Description of a graph to be loaded from a file, etc */ +typedef struct +{ + AVFilterGraphDescFilter *filters; ///< filters in the graph + AVFilterGraphDescLink *links; ///< links between the filters + AVFilterGraphDescExport *inputs; ///< inputs to export + AVFilterGraphDescExport *outputs; ///< outputs to export +} AVFilterGraphDesc; + /** * For use in av_log */ |