summaryrefslogtreecommitdiff
path: root/libavfilter/avfiltergraph.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/avfiltergraph.c')
-rw-r--r--libavfilter/avfiltergraph.c43
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
*/