[FFmpeg-cvslog] r13338 - in trunk/libavfilter: graphparser.c graphparser.h

vitor subversion
Sat May 24 22:41:28 CEST 2008


Author: vitor
Date: Sat May 24 22:41:27 2008
New Revision: 13338

Log:
Pass the inputs and outputs of avfilter_parse_graph() with a AVFilterInOut linked list
Commited in SoC by Vitor Sessak on 2008-04-23 20:40:49


Modified:
   trunk/libavfilter/graphparser.c
   trunk/libavfilter/graphparser.h

Modified: trunk/libavfilter/graphparser.c
==============================================================================
--- trunk/libavfilter/graphparser.c	(original)
+++ trunk/libavfilter/graphparser.c	Sat May 24 22:41:27 2008
@@ -23,6 +23,7 @@
 #include <ctype.h>
 #include <string.h>
 
+#include "graphparser.h"
 #include "avfilter.h"
 #include "avfiltergraph.h"
 
@@ -149,24 +150,6 @@ static void parse_link_name(const char *
     }
 }
 
-
-enum LinkType {
-    LinkTypeIn,
-    LinkTypeOut,
-};
-
-/**
- * A linked-list of the inputs/outputs of the filter chain.
- */
-typedef struct AVFilterInOut {
-    enum LinkType type;
-    const char *name;
-    AVFilterContext *filter;
-    int pad_idx;
-
-    struct AVFilterInOut *next;
-} AVFilterInOut;
-
 static void free_inout(AVFilterInOut *head)
 {
     while(head) {
@@ -363,28 +346,14 @@ static int parse_outputs(const char **bu
  * Parse a string describing a filter graph.
  */
 int avfilter_parse_graph(AVFilterGraph *graph, const char *filters,
-                         AVFilterContext *in, int inpad,
-                         AVFilterContext *out, int outpad,
-                         AVClass *log_ctx)
+                         AVFilterInOut *inouts, AVClass *log_ctx)
 {
     int index = 0;
     char chr = 0;
     int pad = 0;
 
     AVFilterInOut *currInputs = NULL;
-    AVFilterInOut *openLinks  = av_malloc(sizeof(AVFilterInOut));
-
-    openLinks->name    = "in";
-    openLinks->filter  = in;
-    openLinks->type    = LinkTypeOut;
-    openLinks->pad_idx = inpad;
-    openLinks->next    = av_malloc(sizeof(AVFilterInOut));
-
-    openLinks->next->name    = "out";
-    openLinks->next->filter  = out;
-    openLinks->next->type    = LinkTypeIn;
-    openLinks->next->pad_idx = outpad;
-    openLinks->next->next    = NULL;
+    AVFilterInOut *openLinks  = inouts;
 
     do {
         AVFilterContext *filter;

Modified: trunk/libavfilter/graphparser.h
==============================================================================
--- trunk/libavfilter/graphparser.h	(original)
+++ trunk/libavfilter/graphparser.h	Sat May 24 22:41:27 2008
@@ -25,6 +25,23 @@
 #include "avfilter.h"
 #include "avfiltergraph.h"
 
+enum LinkType {
+    LinkTypeIn,
+    LinkTypeOut,
+};
+
+/**
+ * A linked-list of the inputs/outputs of the filter chain.
+ */
+typedef struct AVFilterInOut {
+    enum LinkType type;
+    const char *name;
+    AVFilterContext *filter;
+    int pad_idx;
+
+    struct AVFilterInOut *next;
+} AVFilterInOut;
+
 /**
  * Add to a graph a graph described by a string.
  * @param graph   the filter graph where to link the parsed graph context
@@ -36,8 +53,6 @@
  * @return        zero on success, -1 on error
  */
 int avfilter_parse_graph(AVFilterGraph *graph, const char *filters,
-                         AVFilterContext *in, int inpad,
-                         AVFilterContext *out, int outpad,
-                         AVClass *log_ctx);
+                         AVFilterInOut *inouts, AVClass *log_ctx);
 
 #endif  /* FFMPEG_GRAPHPARSER_H */




More information about the ffmpeg-cvslog mailing list