diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-10-18 11:46:06 +0400 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-10-18 11:46:06 +0400 |
commit | 1f09ab5e6665d0cae34fe4b378f16268e712e748 (patch) | |
tree | 187170c8710b81f9948b32807315835ec062e46b /doc | |
parent | 5d660598b0f1300182240074d4dbada41fe694d9 (diff) |
Add documentation for libavfilter video filters.
Originally committed as revision 20271 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'doc')
-rw-r--r-- | doc/vfilters.texi | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/doc/vfilters.texi b/doc/vfilters.texi new file mode 100644 index 0000000000..9f20d464e4 --- /dev/null +++ b/doc/vfilters.texi @@ -0,0 +1,81 @@ +\input texinfo @c -*- texinfo -*- + +@settitle Video Filter Documentation +@titlepage +@sp 7 +@center @titlefont{Video Filter 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! + +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. + +@bye |