[FFmpeg-devel] [PATCH] doc: merge libavfilter.texi into filters.texi

Stefano Sabatini stefasab at gmail.com
Wed Jul 11 17:42:05 CEST 2012


There is no much point into splitting documentation for filters. Also
having a separate document for a library is inconsistent.
---
 doc/Makefile         |    1 -
 doc/filters.texi     |   87 +++++++++++++++++++++++++++++++++++++++++++++++
 doc/libavfilter.texi |   92 --------------------------------------------------
 3 files changed, 87 insertions(+), 93 deletions(-)
 delete mode 100644 doc/libavfilter.texi

diff --git a/doc/Makefile b/doc/Makefile
index 16f6a0d..b297eaa 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -6,7 +6,6 @@ HTMLPAGES   = $(PROGS-yes:%=doc/%.html)                                 \
               doc/fate.html                                             \
               doc/general.html                                          \
               doc/git-howto.html                                        \
-              doc/libavfilter.html                                      \
               doc/platform.html                                         \
               doc/syntax.html                                           \
 
diff --git a/doc/filters.texi b/doc/filters.texi
index 0d94eba..1f43bbf 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -1,3 +1,90 @@
+ at chapter Introduction
+ at c man begin INTRODUCTION
+
+Filtering in FFmpeg is enabled through the libavfilter library.
+
+Libavfilter is the filtering API of FFmpeg. It is the substitute of
+the now deprecated 'vhooks' and started as a Google Summer of Code
+project.
+
+Audio filtering integration into the main FFmpeg repository is a work in
+progress, so audio API and ABI should not be considered stable yet.
+
+ at chapter Tutorial
+
+In libavfilter, it is possible for filters to have multiple inputs and
+multiple outputs.
+To illustrate the sorts of things that are possible, we can
+use a complex filter graph. For example, the following one:
+
+ at example
+input --> split --> fifo -----------------------> overlay --> output
+            |                                        ^
+            |                                        |
+            +------> fifo --> crop --> vflip --------+
+ at end example
+
+splits the stream in two streams, sends one stream through the crop filter
+and the vflip filter before merging it back with the other stream by
+overlaying it on top. You can use the following command to achieve this:
+
+ at example
+ffmpeg -i input -vf "[in] split [T1], fifo, [T2] overlay=0:H/2 [out]; [T1] fifo, crop=iw:ih/2:0:ih/2, vflip [T2]" output
+ at end example
+
+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{-vf} option passed to
+ at command{ffmpeg} or to @command{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 the linear chains join are labeled by names
+enclosed in square brackets. In our example, that is @var{[T1]} and
+ at var{[T2]}. The magic labels @var{[in]} and @var{[out]} are the points
+where video is input and output.
+
+Some filters take in input a list of parameters: they are specified
+after the filter name and an equal sign, and are separated each other
+by a semicolon.
+
+There exist so-called @var{source filters} that do not have a video
+input, and we expect in the future some @var{sink filters} that will
+not have video output.
+
+ at c man end INTRODUCTION
+
+ at chapter graph2dot
+ at c man begin GRAPH2DOT
+
+The @file{graph2dot} program included in the FFmpeg @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:
+ at example
+graph2dot -h
+ at end example
+
+to see how to use @file{graph2dot}.
+
+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.
+
+For example the sequence of commands:
+ at example
+echo @var{GRAPH_DESCRIPTION} | \
+tools/graph2dot -o graph.tmp && \
+dot -Tpng graph.tmp -o graph.png && \
+display graph.png
+ at end example
+
+can be used to create and display an image representing the graph
+described by the @var{GRAPH_DESCRIPTION} string.
+
+ at c man end GRAPH2DOT
+
 @chapter Filtergraph description
 @c man begin FILTERGRAPH DESCRIPTION
 
diff --git a/doc/libavfilter.texi b/doc/libavfilter.texi
deleted file mode 100644
index 06d9f13..0000000
--- a/doc/libavfilter.texi
+++ /dev/null
@@ -1,92 +0,0 @@
-\input texinfo @c -*- texinfo -*-
-
- at settitle Libavfilter Documentation
- at titlepage
- at center @titlefont{Libavfilter Documentation}
- at end titlepage
-
- at top
-
- at contents
-
- at chapter Introduction
-
-Libavfilter is the filtering API of FFmpeg. It is the substitute of the
-now deprecated 'vhooks' and started as a Google Summer of Code project.
-
-Audio filtering integration into the main FFmpeg repository is a work in
-progress, so audio API and ABI should not be considered stable yet.
-
- at chapter Tutorial
-
-In libavfilter, it is possible for filters to have multiple inputs and
-multiple outputs.
-To illustrate the sorts of things that are possible, we can
-use a complex filter graph. For example, the following one:
-
- at example
-input --> split --> fifo -----------------------> overlay --> output
-            |                                        ^
-            |                                        |
-            +------> fifo --> crop --> vflip --------+
- at end example
-
-splits the stream in two streams, sends one stream through the crop filter
-and the vflip filter before merging it back with the other stream by
-overlaying it on top. You can use the following command to achieve this:
-
- at example
-ffmpeg -i input -vf "[in] split [T1], fifo, [T2] overlay=0:H/2 [out]; [T1] fifo, crop=iw:ih/2:0:ih/2, vflip [T2]" output
- at end example
-
-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{-vf} option passed to
- at command{ffmpeg} or to @command{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 the linear chains join are labeled by names
-enclosed in square brackets. In our example, that is @var{[T1]} and
- at var{[T2]}. The magic labels @var{[in]} and @var{[out]} are the points
-where video is input and output.
-
-Some filters take in input a list of parameters: they are specified
-after the filter name and an equal sign, and are separated each other
-by a semicolon.
-
-There exist so-called @var{source filters} that do not have a video
-input, and we expect in the future some @var{sink filters} that will
-not have video output.
-
- at chapter graph2dot
-
-The @file{graph2dot} program included in the FFmpeg @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:
- at example
-graph2dot -h
- at end example
-
-to see how to use @file{graph2dot}.
-
-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.
-
-For example the sequence of commands:
- at example
-echo @var{GRAPH_DESCRIPTION} | \
-tools/graph2dot -o graph.tmp && \
-dot -Tpng graph.tmp -o graph.png && \
-display graph.png
- at end example
-
-can be used to create and display an image representing the graph
-described by the @var{GRAPH_DESCRIPTION} string.
-
- at include filters.texi
-
- at bye
-- 
1.7.5.4



More information about the ffmpeg-devel mailing list