@settitle Libavfilter Documentation
@titlepage
-@sp 7
@center @titlefont{Libavfilter Documentation}
-@sp 3
@end titlepage
+@top
+
+@contents
@chapter Introduction
-Libavfilter is the filtering API of FFmpeg. It is the substitute of the
+Libavfilter is the filtering API of Libav. It is the substitute of the
now deprecated 'vhooks' and started as a Google Summer of Code project.
-Integrating libavfilter into the main FFmpeg repository is a work in
+Integrating libavfilter into the main Libav repository is a work in
progress. If you wish to try the unfinished development code of
libavfilter then check it out from the libavfilter repository into
some directory of your choice by:
@example
- svn checkout svn://svn.ffmpeg.org/soc/libavfilter
+ svn checkout svn://svn.libav.org/soc/libavfilter
@end example
And then read the README file in the top directory to learn how to
overlaying it on top. You can use the following command to achieve this:
@example
-./ffmpeg -i in.avi -s 240x320 -vfilters "[in] split [T1], fifo, [T2] overlay= 0:240 [out]; [T1] fifo, crop=0:0:-1:240, vflip [T2]
+./ffmpeg -i in.avi -s 240x320 -vf "[in] split [T1], fifo, [T2] overlay= 0:240 [out]; [T1] fifo, crop=0:0:-1:240, vflip [T2]
@end example
where input_video.avi has a vertical resolution of 480 pixels. The
result will be that in output the top half of the video is mirrored
onto the bottom half.
-Video filters are loaded using the @var{-vfilters} option passed to
+Video filters are loaded using the @var{-vf} option passed to
ffmpeg or to ffplay. Filters in the same linear chain are separated by
commas. In our example, @var{split, fifo, overlay} are in one linear
chain, and @var{fifo, crop, vflip} are in another. The points where
input, and we expect in the future some @var{sink filters} that will
not have video output.
-@chapter Available video filters
+@chapter graph2dot
+
+The @file{graph2dot} program included in the Libav @file{tools}
+directory can be used to parse a filter graph description and issue a
+corresponding textual representation in the dot language.
+
+Invoke the command:
+@example
+graph2dot -h
+@end example
+
+to see how to use @file{graph2dot}.
-When you configure your FFmpeg build, you can disable any of the
-existing video filters.
-The configure output will show the video filters included in your
-build.
+You can then pass the dot description to the @file{dot} program (from
+the graphviz suite of programs) and obtain a graphical representation
+of the filter graph.
-Below is a description of the currently available video filters.
+For example the sequence of commands:
+@example
+echo @var{GRAPH_DESCRIPTION} | \
+tools/graph2dot -o graph.tmp && \
+dot -Tpng graph.tmp -o graph.png && \
+display graph.png
+@end example
-@section null
+can be used to create and display an image representing the graph
+described by the @var{GRAPH_DESCRIPTION} string.
-Pass the source unchanged to the output.
+@include filters.texi
@bye