diff options
Diffstat (limited to 'doc/libavfilter.texi')
-rw-r--r-- | doc/libavfilter.texi | 92 |
1 files changed, 22 insertions, 70 deletions
diff --git a/doc/libavfilter.texi b/doc/libavfilter.texi index 84bad29..4f82944 100644 --- a/doc/libavfilter.texi +++ b/doc/libavfilter.texi @@ -9,84 +9,36 @@ @contents -@chapter Introduction +@chapter Description +@c man begin DESCRIPTION -Libavfilter is the filtering API of Libav. It replaces 'vhooks', and -started as a Google Summer of Code project. +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. -Note that there may still be serious bugs in the code and its API -and ABI should not be considered stable yet! +@c man end DESCRIPTION -@chapter Tutorial +@chapter See Also -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: +@ifhtml +@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver}, +@url{ffmpeg-filters.html,ffmpeg-filters}, +@url{libavutil.html,libavutil}, @url{libswscale.html,libswscale}, @url{libswresample.html,libswresample}, +@url{libavcodec.html,libavcodec}, @url{libavformat.html,libavformat}, @url{libavdevice.html,libavdevice} +@end ifhtml -@example -input --> split --> fifo -----------------------> overlay --> output - | ^ - | | - +------> fifo --> crop --> vflip --------+ -@end example +@ifnothtml +ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), +ffmpeg-filters(1), +libavutil(3), libswscale(3), libswresample(3), libavcodec(3), libavformat(3), libavdevice(3) +@end ifnothtml -splits the stream in two streams, then 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: +@include authors.texi -@example -./avconv -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 -@end example +@ignore -The result will be that the top half of the video is mirrored -onto the bottom half of the output video. +@setfilename libavfilter +@settitle multimedia filtering library -Video filters are loaded using the @var{-vf} option passed to -avconv or to avplay. Filters in the same linear chain are separated by -commas. In our example, @var{split}, @var{fifo}, and @var{overlay} are in one -linear chain, and @var{fifo}, @var{crop}, and @var{vflip} are in another. The -points where the linear chains join are labeled by names enclosed in square -brackets. In our example, they join at @var{[T1]} and @var{[T2]}. The magic -labels @var{[in]} and @var{[out]} are the points where video is input -and output. - -Some filters take a list of parameters: they are specified -after the filter name and an equal sign, and are separated -by a semicolon. - -There are so-called @var{source filters} that do not take video -input, and we expect that some @var{sink filters} will -not have video output, at some point in the future. - -@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}. - -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: -@example -echo @var{GRAPH_DESCRIPTION} | \ -tools/graph2dot -o graph.tmp && \ -dot -Tpng graph.tmp -o graph.png && \ -display graph.png -@end example - -can be used to create and display an image representing the graph -described by the @var{GRAPH_DESCRIPTION} string. - -@include filters.texi +@end ignore @bye |