Add a simple filter graph structure and functions
authorVitor Sessak <vitor1001@gmail.com>
Fri, 15 Feb 2008 21:36:37 +0000 (21:36 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Fri, 15 Feb 2008 21:36:37 +0000 (21:36 +0000)
Commited in SoC by Bobby Bingham on 2007-07-14 20:12:54

Originally committed as revision 11988 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavfilter/avfilter.c

index dbb3e9d..3d7251a 100644 (file)
 static int filter_count = 0;
 static AVFilter **filters = NULL;
 
+struct AVFilterGraph {
+    unsigned filter_count;
+    AVFilterContext **filters;
+};
+
+AVFilterGraph *avfilter_create_graph(void)
+{
+    return av_mallocz(sizeof(AVFilterGraph));
+}
+
+void avfilter_destroy_graph(AVFilterGraph *graph)
+{
+    unsigned i;
+
+    for(i = 0; i < graph->filter_count; i ++)
+        avfilter_destroy(graph->filters[i]);
+    av_free(graph->filters);
+    av_free(graph);
+}
+
+void avfilter_graph_add_filter(AVFilterGraph *graph, AVFilterContext *filter)
+{
+    graph->filters = av_realloc(graph->filters,
+                                sizeof(AVFilterContext*) * ++graph->filter_count);
+    graph->filters[graph->filter_count - 1] = filter;
+}
+
 /* TODO: buffer pool.  see comment for avfilter_default_get_video_buffer() */
 void avfilter_default_free_video_buffer(AVFilterPic *pic)
 {