diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-10-21 18:22:20 +0000 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-10-21 18:22:20 +0000 |
commit | dba755faccc8903affd81502a692ce7f483454a9 (patch) | |
tree | 7b02556531aa76cd93e9076f4485485a2aafb476 /doc/libavfilter.texi | |
parent | a3faf694a2df8a2f1b4d39042ed7a5ef5b351b22 (diff) | |
download | ffmpeg-dba755faccc8903affd81502a692ce7f483454a9.tar.gz |
Rename vfilters.texi to libavfilter.texi, as the file is meant to
document libavfilter and not only its video filtering facilities.
Originally committed as revision 20338 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'doc/libavfilter.texi')
-rw-r--r-- | doc/libavfilter.texi | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/doc/libavfilter.texi b/doc/libavfilter.texi new file mode 100644 index 0000000000..f8189f1c38 --- /dev/null +++ b/doc/libavfilter.texi @@ -0,0 +1,87 @@ +\input texinfo @c -*- texinfo -*- + +@settitle Libavfilter Documentation +@titlepage +@sp 7 +@center @titlefont{Libavfilter Documentation} +@sp 3 +@end titlepage + + +@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. + +Integrating libavfilter into the main FFmpeg 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 +@end example + +And then read the README file in the top directory to learn how to +integrate it into ffmpeg and ffplay. + +But note that there may still be serious bugs in the code and its API +and ABI should not be considered stable yet! + +@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: + +@example +input --> split --> fifo -----------------------> overlay --> output + | ^ + | | + +------> fifo --> crop --> vflip --------+ +@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: + +@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] +@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 +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 +the linear chains join are labeled by names enclosed in square +brackets. In our example, that is @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 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. + +@chapter Available video filters + +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. + +Below is a description of the currently available video filters. + +@section null + +Pass the source unchanged to the output. + +@bye |