summaryrefslogtreecommitdiffstats
path: root/DOCS/man/en/vf.rst
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS/man/en/vf.rst')
-rw-r--r--DOCS/man/en/vf.rst674
1 files changed, 347 insertions, 327 deletions
diff --git a/DOCS/man/en/vf.rst b/DOCS/man/en/vf.rst
index 1200b482de..f91fc99c4b 100644
--- a/DOCS/man/en/vf.rst
+++ b/DOCS/man/en/vf.rst
@@ -1,93 +1,93 @@
-.. _video_filters:
-
VIDEO FILTERS
=============
Video filters allow you to modify the video stream and its properties. The
syntax is:
---vf=<filter1[=parameter1:parameter2:...],filter2,...>
+``--vf=<filter1[=parameter1:parameter2:...],filter2,...>``
Setup a chain of video filters.
Many parameters are optional and set to default values if omitted. To
-explicitly use a default value set a parameter to '-1'. Parameters w:h means
-width x height in pixels, x:y means x;y position counted from the upper left
-corner of the bigger image.
+explicitly use a default value, set a parameter to '-1'. Parameters ``w:h``
+means width x height in pixels, ``x:y`` means x;y position counted from the
+upper left corner of the bigger image.
+
+.. note::
-*NOTE*: To get a full list of available video filters, see ``--vf=help``.
+ To get a full list of available video filters, see ``--vf=help``.
Video filters are managed in lists. There are a few commands to manage the
filter list.
---vf-add=<filter1[,filter2,...]>
+``--vf-add=<filter1[,filter2,...]>``
Appends the filters given as arguments to the filter list.
---vf-pre=<filter1[,filter2,...]>
+``--vf-pre=<filter1[,filter2,...]>``
Prepends the filters given as arguments to the filter list.
---vf-del=<index1[,index2,...]>
+``--vf-del=<index1[,index2,...]>``
Deletes the filters at the given indexes. Index numbers start at 0,
negative numbers address the end of the list (-1 is the last).
---vf-clr
+``--vf-clr``
Completely empties the filter list.
With filters that support it, you can access parameters by their name.
---vf=<filter>=help
+``--vf=<filter>=help``
Prints the parameter names and parameter value ranges for a particular
filter.
---vf=<filter=named_parameter1=value1[:named_parameter2=value2:...]>
+``--vf=<filter=named_parameter1=value1[:named_parameter2=value2:...]>``
Sets a named parameter to the given value. Use on and off or yes and no to
set flag parameters.
Available filters are:
-crop[=w:h:x:y]
+``crop[=w:h:x:y]``
Crops the given part of the image and discards the rest. Useful to remove
black bands from widescreen movies.
- <w>,<h>
+ ``<w>,<h>``
Cropped width and height, defaults to original width and height.
- <x>,<y>
+ ``<x>,<y>``
Position of the cropped picture, defaults to center.
-expand[=w:h:x:y:aspect:round]
+``expand[=w:h:x:y:aspect:round]``
Expands (not scales) movie resolution to the given value and places the
unscaled original at coordinates x, y.
- <w>,<h>
+ ``<w>,<h>``
Expanded width,height (default: original width,height). Negative
values for w and h are treated as offsets to the original size.
- *EXAMPLE*:
+ .. admonition:: Example
- `expand=0:-50:0:0`
- Adds a 50 pixel border to the bottom of the picture.
+ ``expand=0:-50:0:0``
+ Adds a 50 pixel border to the bottom of the picture.
- <x>,<y>
+ ``<x>,<y>``
position of original image on the expanded image (default: center)
- <aspect>
+ ``<aspect>``
Expands to fit an aspect instead of a resolution (default: 0).
- *EXAMPLE*:
+ .. admonition:: Example
- `expand=800:::::4/3`
- Expands to 800x600, unless the source is higher resolution, in
- which case it expands to fill a 4/3 aspect.
+ ``expand=800:::::4/3``
+ Expands to 800x600, unless the source is higher resolution, in
+ which case it expands to fill a 4/3 aspect.
- <round>
+ ``<round>``
Rounds up to make both width and height divisible by <r> (default: 1).
-flip
+``flip``
Flips the image upside down. See also ``--flip``.
-mirror
+``mirror``
Mirrors the image on the Y axis.
-rotate[=<0-7>]
+``rotate[=<0-7>]``
Rotates the image by 90 degrees and optionally flips it. For values
between 4-7 rotation is only done if the movie geometry is portrait and
not landscape.
@@ -97,11 +97,11 @@ rotate[=<0-7>]
:2: Rotate by 90 degrees counterclockwise.
:3: Rotate by 90 degrees counterclockwise and flip.
-scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]
+``scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]``
Scales the image with the software scaler (slow) and performs a YUV<->RGB
colorspace conversion (see also ``--sws``).
- <w>,<h>
+ ``<w>,<h>``
scaled width/height (default: original width/height)
:0: scaled d_width/d_height
@@ -113,13 +113,13 @@ scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]
:-(n+8): Like -n above, but rounding the dimension to the closest
multiple of 16.
- <interlaced>
+ ``<interlaced>``
Toggle interlaced scaling.
:0: off (default)
:1: on
- <chr_drop>
+ ``<chr_drop>``
chroma skipping
:0: Use all available input lines for chroma.
@@ -127,36 +127,36 @@ scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]
:2: Use only every 4. input line for chroma.
:3: Use only every 8. input line for chroma.
- <par>[:<par2>] (see also ``--sws``)
+ ``<par>[:<par2>]`` (see also ``--sws``)
Set some scaling parameters depending on the type of scaler selected
- with ``--sws``.
+ with ``--sws``::
- | --sws=2 (bicubic): B (blurring) and C (ringing)
- | 0.00:0.60 default
- | 0.00:0.75 VirtualDub's "precise bicubic"
- | 0.00:0.50 Catmull-Rom spline
- | 0.33:0.33 Mitchell-Netravali spline
- | 1.00:0.00 cubic B-spline
+ --sws=2 (bicubic): B (blurring) and C (ringing)
+ 0.00:0.60 default
+ 0.00:0.75 VirtualDub's "precise bicubic"
+ 0.00:0.50 Catmull-Rom spline
+ 0.33:0.33 Mitchell-Netravali spline
+ 1.00:0.00 cubic B-spline
- --sws=7 (gaussian): sharpness (0 (soft) - 100 (sharp))
+ --sws=7 (gaussian): sharpness (0 (soft) - 100 (sharp))
- --sws=9 (lanczos): filter length (1-10)
+ --sws=9 (lanczos): filter length (1-10)
- <noup>
+ ``<noup>``
Disallow upscaling past the original dimensions.
:0: Allow upscaling (default).
:1: Disallow upscaling if one dimension exceeds its original value.
:2: Disallow upscaling if both dimensions exceed their original values.
- <arnd>
+ ``<arnd>``
Accurate rounding for the vertical scaler, which may be faster or
slower than the default rounding.
:0: Disable accurate rounding (default).
:1: Enable accurate rounding.
-dsize[=aspect|w:h:aspect-method:r]
+``dsize[=aspect|w:h:aspect-method:r]``
Changes the intended display size/aspect at an arbitrary point in the
filter chain. Aspect can be given as a fraction (4/3) or floating point
number (1.33). Alternatively, you may specify the exact display width and
@@ -164,7 +164,7 @@ dsize[=aspect|w:h:aspect-method:r]
just affects what later scalers (software or hardware) will do when
auto-scaling to correct aspect.
- <w>,<h>
+ ``<w>,<h>``
New display width and height.
Can also be these special values:
@@ -176,86 +176,91 @@ dsize[=aspect|w:h:aspect-method:r]
:-3: Calculate w/h using the other dimension and the original video
aspect ratio.
- *EXAMPLE*:
+ .. admonition:: Example
- ``dsize=800:-2``
- Specifies a display resolution of 800x600 for a 4/3 aspect video,
- or 800x450 for a 16/9 aspect video.
+ ``dsize=800:-2``
+ Specifies a display resolution of 800x600 for a 4/3 aspect
+ video, or 800x450 for a 16/9 aspect video.
- <aspect-method>
+ ``<aspect-method>``
Modifies width and height according to original aspect ratios.
:-1: Ignore original aspect ratio (default).
- :0: Keep display aspect ratio by using <w> and <h> as maximum
+ :0: Keep display aspect ratio by using ``<w>`` and ``<h>`` as maximum
resolution.
- :1: Keep display aspect ratio by using <w> and <h> as minimum
+ :1: Keep display aspect ratio by using ``<w>`` and ``<h>`` as minimum
resolution.
- :2: Keep video aspect ratio by using <w> and <h> as maximum
+ :2: Keep video aspect ratio by using ``<w>`` and ``<h>`` as maximum
resolution.
- :3: Keep video aspect ratio by using <w> and <h> as minimum
+ :3: Keep video aspect ratio by using ``<w>`` and ``<h>`` as minimum
resolution.
- *EXAMPLE*:
+ .. admonition:: Example
- ``dsize=800:600:0``
- Specifies a display resolution of at most 800x600, or smaller, in
- order to keep aspect.
+ ``dsize=800:600:0``
+ Specifies a display resolution of at most 800x600, or smaller,
+ in order to keep aspect.
- <r>
- Rounds up to make both width and height divisible by <r> (default: 1).
+ ``<r>``
+ Rounds up to make both width and height divisible by ``<r>``
+ (default: 1).
-format[=fmt[:outfmt]]
- Restricts the colorspace for the next filter without doing any conversion.
+``format[=fmt[:outfmt]]``
+ Restricts the color space for the next filter without doing any conversion.
Use together with the scale filter for a real conversion.
- *NOTE*: For a list of available formats see ``format=fmt=help``.
+ .. note::
+
+ For a list of available formats, see ``format=fmt=help``.
- <fmt>
- format name like rgb15, bgr24, 420p, etc (default: yuyv)
- <outfmt>
+ ``<fmt>``
+ Format name, e.g. rgb15, bgr24, 420p, etc. (default: yuyv).
+ ``<outfmt>``
Format name that should be substituted for the output. If this is not
- 100% compatible with the <fmt> value it will crash.
+ 100% compatible with the ``<fmt>`` value, it will crash.
- *EXAMPLE*
+ .. admonition:: Examples
- ====================== =====================
- Valid Invalid (will crash)
- ====================== =====================
- ``format=rgb24:bgr24`` ``format=rgb24:420p``
- ``format=yuyv:uyvy``
- ====================== =====================
+ ====================== =====================
+ Valid Invalid (will crash)
+ ====================== =====================
+ ``format=rgb24:bgr24`` ``format=rgb24:420p``
+ ``format=yuyv:uyvy``
+ ====================== =====================
-noformat[=fmt]
+``noformat[=fmt]``
Restricts the colorspace for the next filter without doing any conversion.
Unlike the format filter, this will allow any colorspace except the one
you specify.
- *NOTE*: For a list of available formats see ``noformat=fmt=help``.
+ .. note:: For a list of available formats, see ``noformat=fmt=help``.
- <fmt>
- format name like rgb15, bgr24, 420p, etc (default: 420p)
+ ``<fmt>``
+ Format name, e.g. rgb15, bgr24, 420p, etc. (default: 420p).
-pp[=filter1[:option1[:option2...]]/[-]filter2...]
+``pp[=filter1[:option1[:option2...]]/[-]filter2...]``
Enables the specified chain of postprocessing subfilters. Subfilters must
be separated by '/' and can be disabled by prepending a '-'. Each
subfilter and some options have a short and a long name that can be used
- interchangeably, i.e. dr/dering are the same. All subfilters share common
- options to determine their scope:
+ interchangeably, i.e. ``dr``/``dering`` are the same. All subfilters share
+ common options to determine their scope:
- a/autoq
+ ``a/autoq``
Automatically switch the subfilter off if the CPU is too slow.
- c/chrom
+ ``c/chrom``
Do chrominance filtering, too (default).
- y/nochrom
+ ``y/nochrom``
Do luminance filtering only (no chrominance).
- n/noluma
+ ``n/noluma``
Do chrominance filtering only (no luminance).
- *NOTE*: ``--pphelp`` shows a list of available subfilters.
+ .. note::
+
+ ``--pphelp`` shows a list of available subfilters.
Available subfilters are:
- hb/hdeblock[:difference[:flatness]]
+ ``hb/hdeblock[:difference[:flatness]]``
horizontal deblocking filter
:<difference>: Difference factor where higher values mean more
@@ -263,7 +268,7 @@ pp[=filter1[:option1[:option2...]]/[-]filter2...]
:<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- vb/vdeblock[:difference[:flatness]]
+ ``vb/vdeblock[:difference[:flatness]]``
vertical deblocking filter
:<difference>: Difference factor where higher values mean more
@@ -271,7 +276,7 @@ pp[=filter1[:option1[:option2...]]/[-]filter2...]
:<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- ha/hadeblock[:difference[:flatness]]
+ ``ha/hadeblock[:difference[:flatness]]``
accurate horizontal deblocking filter
:<difference>: Difference factor where higher values mean more
@@ -279,7 +284,7 @@ pp[=filter1[:option1[:option2...]]/[-]filter2...]
:<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- va/vadeblock[:difference[:flatness]]
+ ``va/vadeblock[:difference[:flatness]]``
accurate vertical deblocking filter
:<difference>: Difference factor where higher values mean more
@@ -291,130 +296,137 @@ pp[=filter1[:option1[:option2...]]/[-]filter2...]
flatness values so you cannot set different horizontal and vertical
thresholds.
- h1/x1hdeblock
+ ``h1/x1hdeblock``
experimental horizontal deblocking filter
- v1/x1vdeblock
+ ``v1/x1vdeblock``
experimental vertical deblocking filter
- dr/dering
+ ``dr/dering``
deringing filter
- tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]
+ ``tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]``
temporal noise reducer
:<threshold1>: larger -> stronger filtering
:<threshold2>: larger -> stronger filtering
:<threshold3>: larger -> stronger filtering
- al/autolevels[:f/fullyrange]
+ ``al/autolevels[:f/fullyrange]``
automatic brightness / contrast correction
:f/fullyrange: Stretch luminance to (0-255).
- lb/linblenddeint
+ ``lb/linblenddeint``
Linear blend deinterlacing filter that deinterlaces the given block by
filtering all lines with a (1 2 1) filter.
- li/linipoldeint
+ ``li/linipoldeint``
Linear interpolating deinterlacing filter that deinterlaces the given
block by linearly interpolating every second line.
- ci/cubicipoldeint
+ ``ci/cubicipoldeint``
Cubic interpolating deinterlacing filter deinterlaces the given block
by cubically interpolating every second line.
- md/mediandeint
+ ``md/mediandeint``
Median deinterlacing filter that deinterlaces the given block by
applying a median filter to every second line.
- fd/ffmpegdeint
+ ``fd/ffmpegdeint``
FFmpeg deinterlacing filter that deinterlaces the given block by
filtering every second line with a (-1 4 2 4 -1) filter.
- l5/lowpass5
+ ``l5/lowpass5``
Vertically applied FIR lowpass deinterlacing filter that deinterlaces
the given block by filtering all lines with a (-1 2 6 2 -1) filter.
- fq/forceQuant[:quantizer]
+ ``fq/forceQuant[:quantizer]``
Overrides the quantizer table from the input with the constant
quantizer you specify.
:<quantizer>: quantizer to use
- de/default
+ ``de/default``
default pp filter combination (hb:a,vb:a,dr:a)
- fa/fast
+ ``fa/fast``
fast pp filter combination (h1:a,v1:a,dr:a)
- ac
+ ``ac``
high quality pp filter combination (ha:a:128:7,va:a,dr:a)
- *EXAMPLE*:
+ .. note::
- ``--vf=pp=hb/vb/dr/al``
- horizontal and vertical deblocking, deringing and automatic
- brightness/contrast
+ This filter is only available if FFmpeg/libav has been compiled
+ with libpostproc enabled.
- ``--vf=pp=de/-al``
- default filters without brightness/contrast correction
+ .. admonition:: Examples
- ``--vf=pp=default/tmpnoise:1:2:3``
- Enable default filters & temporal denoiser.
+ ``--vf=pp=hb/vb/dr/al``
+ horizontal and vertical deblocking, deringing and automatic
+ brightness/contrast
- ``--vf=pp=hb:y/vb:a``
- Horizontal deblocking on luminance only, and switch vertical
- deblocking on or off automatically depending on available CPU time.
+ ``--vf=pp=de/-al``
+ default filters without brightness/contrast correction
-lavfi=graph[:sws_flags[:o=opts]]
- Filter video using ffmpeg's libavfilter.
+ ``--vf=pp=default/tmpnoise:1:2:3``
+ Enable default filters & temporal denoiser.
- <graph>
+ ``--vf=pp=hb:y/vb:a``
+ Horizontal deblocking on luminance only, and switch vertical
+ deblocking on or off automatically depending on available CPU time.
+
+``lavfi=graph[:sws_flags[:o=opts]]``
+ Filter video using FFmpeg's libavfilter.
+
+ ``<graph>``
The libavfilter graph string. The filter must have a single video input
pad and a single video output pad.
- See ``https://ffmpeg.org/ffmpeg-filters.html`` for syntax and available
+ See `<https://ffmpeg.org/ffmpeg-filters.html>`_ for syntax and available
filters.
- *WARNING*: if you want to use the full filter syntax with this option,
- you have to quote the filter graph in order to prevent mpv's syntax
- and the filter graph syntax from clashing.
+ .. warning::
+
+ If you want to use the full filter syntax with this option, you have
+ to quote the filter graph in order to prevent mpv's syntax and the
+ filter graph syntax from clashing.
- *EXAMPLE*:
+ .. admonition:: Examples
- ``-vf lavfi=[gradfun=20:30,vflip]``
- gradfun filter with nonsense parameters, followed by a vflip
- filter. (This demonstrates how libavfilter takes a graph and not
- just a single filter.) The filter graph string is quoted with
- ``[`` and ``]``. This requires no additional quoting or escaping
- with some shells (like bash), while others (like zsh) require
- additional ``"`` quotes around the option string.
+ ``-vf lavfi=[gradfun=20:30,vflip]``
+ ``gradfun`` filter with nonsense parameters, followed by a
+ ``vflip`` filter. (This demonstrates how libavfilter takes a
+ graph and not just a single filter.) The filter graph string is
+ quoted with ``[`` and ``]``. This requires no additional quoting
+ or escaping with some shells (like bash), while others (like
+ zsh) require additional ``"`` quotes around the option string.
- ``'--vf=lavfi="gradfun=20:30,vflip"'``
- same as before, but uses quoting that should be safe with all
- shells. The outer ``'`` quotes make sure that the shell doesn't
- remove the ``"`` quotes needed by mpv.
+ ``'--vf=lavfi="gradfun=20:30,vflip"'``
+ Same as before, but uses quoting that should be safe with all
+ shells. The outer ``'`` quotes make sure that the shell does not
+ remove the ``"`` quotes needed by mpv.
- ``'--vf=lavfi=graph="gradfun=radius=30:strength=20,vflip"'``
- same as before, but uses named parameters for everything.
+ ``'--vf=lavfi=graph="gradfun=radius=30:strength=20,vflip"'``
+ Same as before, but uses named parameters for everything.
- <sws_flags>
+ ``<sws_flags>``
If libavfilter inserts filters for pixel format conversion, this
option gives the flags which should be passed to libswscale. This
option is numeric and takes a bit-wise combination of ``SWS_`` flags.
See ``http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libswscale/swscale.h``.
- <o>
- Set AVFilterGraph options. These should be documented by ffmpeg.
+ ``<o>``
+ Set AVFilterGraph options. These should be documented by FFmpeg.
- *EXAMPLE*:
+ .. admonition:: Example
- ``'--vf=lavfi=yadif:o="threads=2,thread_type=slice"'``
- forces a specific threading configuration.
+ ``'--vf=lavfi=yadif:o="threads=2,thread_type=slice"'``
+ forces a specific threading configuration.
-noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
+``noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]``
Adds noise.
:<0-100>: luma noise
@@ -425,178 +437,184 @@ noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
:h: high quality (slightly better looking, slightly slower)
:p: mix random noise with a (semi)regular pattern
- *NOTE*: deprecated. Use libavfilter's ``noise`` filter through
- ``-vf lavfi`` instead.
+ .. note::
-hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
+ Deprecated. Use libavfilter's ``noise`` filter through ``--vf=lavfi``
+ instead.
+
+``hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]``
This filter aims to reduce image noise producing smooth images and making
still images really still (This should enhance compressibility.).
- <luma_spatial>
+ ``<luma_spatial>``
spatial luma strength (default: 4)
- <chroma_spatial>
+ ``<chroma_spatial>``
spatial chroma strength (default: 3)
- <luma_tmp>
+ ``<luma_tmp>``
luma temporal strength (default: 6)
- <chroma_tmp>
+ ``<chroma_tmp>``
chroma temporal strength (default:
``luma_tmp*chroma_spatial/luma_spatial``)
- *NOTE*: deprecated. Use libavfilter's ``hqdn3d`` filter through
- ``-vf lavfi`` instead.
+ .. note::
+
+ Deprecated. Use libavfilter's ``hqdn3d`` filter through ``--vf=lavfi``
+ instead.
-eq[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
- Software equalizer that uses lookup tables (slow),
- allowing gamma correction in addition to simple brightness and contrast
- adjustment. The parameters are given as floating point
- values.
+``eq[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]``
+ Software equalizer that uses lookup tables (slow), allowing gamma correction
+ in addition to simple brightness and contrast adjustment. The parameters are
+ given as floating point values.
- <0.1-10>
+ ``<0.1-10>``
initial gamma value (default: 1.0)
- <-2-2>
+ ``<-2-2>``
initial contrast, where negative values result in a negative image
(default: 1.0)
- <-1-1>
+ ``<-1-1>``
initial brightness (default: 0.0)
- <0-3>
+ ``<0-3>``
initial saturation (default: 1.0)
- <0.1-10>
+ ``<0.1-10>``
gamma value for the red component (default: 1.0)
- <0.1-10>
+ ``<0.1-10>``
gamma value for the green component (default: 1.0)
- <0.1-10>
+ ``<0.1-10>``
gamma value for the blue component (default: 1.0)
- <0-1>
+ ``<0-1>``
The weight parameter can be used to reduce the effect of a high gamma
value on bright image areas, e.g. keep them from getting overamplified
and just plain white. A value of 0.0 turns the gamma correction all
the way down while 1.0 leaves it at its full strength (default: 1.0).
-ilpack[=mode]
+``ilpack[=mode]``
When interlaced video is stored in YUV 4:2:0 formats, chroma interlacing
does not line up properly due to vertical downsampling of the chroma
channels. This filter packs the planar 4:2:0 data into YUY2 (4:2:2) format
with the chroma lines in their proper locations, so that in any given
scanline, the luma and chroma data both come from the same field.
- <mode>
+ ``<mode>``
Select the sampling mode.
:0: nearest-neighbor sampling, fast but incorrect
:1: linear interpolation (default)
-unsharp[=l|cWxH:amount[:l|cWxH:amount]]
+``unsharp[=l|cWxH:amount[:l|cWxH:amount]]``
unsharp mask / gaussian blur
- l
+ ``l``
Apply effect on luma component.
- c
+ ``c``
Apply effect on chroma components.
- <width>x<height>
+ ``<width>x<height>``
width and height of the matrix, odd sized in both directions (min =
3x3, max = 13x11 or 11x13, usually something between 3x3 and 7x7)
- amount
+ ``amount``
Relative amount of sharpness/blur to add to the image (a sane range
should be -1.5-1.5).
:<0: blur
:>0: sharpen
- *NOTE*: deprecated. Use libavfilter's ``unsharp`` filter through
- ``-vf lavfi`` instead.
+ .. note::
-swapuv
+ Deprecated. Use libavfilter's ``unsharp`` filter through ``--vf=lavfi``
+ instead.
+
+``swapuv``
Swap U & V plane.
- *NOTE*: deprecated. Use libavfilter's ``swapuv`` filter through
- ``-vf lavfi`` instead.
+ .. note::
+
+ Deprecated. Use libavfilter's ``swapuv`` filter through ``--vf=lavfi``
+ instead.
-pullup[=jl:jr:jt:jb:sb:mp]
- Third-generation pulldown reversal (inverse telecine) filter, capable of
- handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001
- fps progressive content. The pullup filter is designed to be much more
- robust than detc or ivtc, by taking advantage of future context in making
- its decisions. Like ivtc, pullup is stateless in the sense that it does
- not lock onto a pattern to follow, but it instead looks forward to the
- following fields in order to identify matches and rebuild progressive
- frames. It is still under development, but believed to be quite accurate.
+``pullup[=jl:jr:jt:jb:sb:mp]``
+ Pulldown reversal (inverse telecine) filter, capable of handling mixed
+ hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive
+ content. The ``pullup`` filter makes use of future context in making its
+ decisions. It is stateless in the sense that it does not lock onto a pattern
+ to follow, but it instead looks forward to the following fields in order to
+ identify matches and rebuild progressive frames.
- jl, jr, jt, and jb
+ ``jl``, ``jr``, ``jt``, and ``jb``
These options set the amount of "junk" to ignore at the left, right,
top, and bottom of the image, respectively. Left/right are in units of
8 pixels, while top/bottom are in units of 2 lines. The default is 8
pixels on each side.
- sb (strict breaks)
- Setting this option to 1 will reduce the chances of pullup generating
- an occasional mismatched frame, but it may also cause an excessive
- number of frames to be dropped during high motion sequences.
- Conversely, setting it to -1 will make pullup match fields more
+ ``sb`` (strict breaks)
+ Setting this option to 1 will reduce the chances of ``pullup``
+ generating an occasional mismatched frame, but it may also cause an
+ excessive number of frames to be dropped during high motion sequences.
+ Conversely, setting it to -1 will make ``pullup`` match fields more
easily. This may help processing of video where there is slight
blurring between the fields, but may also cause there to be interlaced
frames in the output.
- mp (metric plane)
+ ``mp`` (metric plane)
This option may be set to 1 or 2 to use a chroma plane instead of the
- luma plane for doing pullup's computations. This may improve accuracy
+ luma plane for doing ``pullup``'s computations. This may improve accuracy
on very clean source material, but more likely will decrease accuracy,
especially if there is chroma noise (rainbow effect) or any grayscale
- video. The main purpose of setting mp to a chroma plane is to reduce
+ video. The main purpose of setting ``mp`` to a chroma plane is to reduce
CPU load and make pullup usable in realtime on slow machines.
-divtc[=options]
+``divtc[=options]``
Inverse telecine for deinterlaced video. If 3:2-pulldown telecined video
has lost one of the fields or is deinterlaced using a method that keeps
one field and interpolates the other, the result is a juddering video that
has every fourth frame duplicated. This filter is intended to find and
drop those duplicates and restore the original film framerate. Two
- different modes are available: One pass mode is the default and is
+ different modes are available: One-pass mode is the default and is
straightforward to use, but has the disadvantage that any changes in the
telecine phase (lost frames or bad edits) cause momentary judder until the
- filter can resync again. Two pass mode avoids this by analyzing the whole
+ filter can resync again. Two-pass mode avoids this by analyzing the entire
video beforehand so it will have forward knowledge about the phase changes
and can resync at the exact spot. These passes do *not* correspond to pass
one and two of the encoding process. You must run an extra pass using
- divtc pass one before the actual encoding throwing the resulting video
- away. Then use divtc pass two for the actual
- encoding. If you use multiple encoder passes, use divtc pass two for all
- of them. The options are:
+ ``divtc`` pass one before the actual encoding throwing the resulting video
+ away. Then use ``divtc`` pass two for the actual encoding. If you use
+ multiple encoder passes, use ``divtc`` pass two for all of them.
+
+ The options are:
- pass=1|2
+ ``pass=1|2``
Use two pass mode.
- file=<filename>
+ ``file=<filename>``
Set the two pass log filename (default: ``framediff.log``).
- threshold=<value>
+ ``threshold=<value>``
Set the minimum strength the telecine pattern must have for the filter
to believe in it (default: 0.5). This is used to avoid recognizing
false pattern from the parts of the video that are very dark or very
still.
- window=<numframes>
+ ``window=<numframes>``
Set the number of past frames to look at when searching for pattern
(default: 30). Longer window improves the reliability of the pattern
search, but shorter window improves the reaction time to the changes
- in the telecine phase. This only affects the one pass mode. The two
- pass mode currently uses fixed window that extends to both future and
- past.
+ in the telecine phase. This only affects the one-pass mode. The
+ two-pass mode currently uses fixed window that extends to both future
+ and past.
- phase=0|1|2|3|4
+ ``phase=0|1|2|3|4``
Sets the initial telecine phase for one pass mode (default: 0). The
- two pass mode can see the future, so it is able to use the correct
- phase from the beginning, but one pass mode can only guess. It catches
+ two-pass mode can see the future, so it is able to use the correct
+ phase from the beginning, but one-pass mode can only guess. It catches
the correct phase when it finds it, but this option can be used to fix
the possible juddering at the beginning. The first pass of the two
pass mode also uses this, so if you save the output from the first
pass, you get constant phase result.
- deghost=<value>
- Set the deghosting threshold (0-255 for one pass mode, -255-255 for
- two pass mode, default 0). If nonzero, deghosting mode is used. This
+ ``deghost=<value>``
+ Set the deghosting threshold (0-255 for one-pass mode, -255-255 for
+ two-pass mode, default 0). If nonzero, deghosting mode is used. This
is for video that has been deinterlaced by blending the fields
together instead of dropping one of the fields. Deghosting amplifies
any compression artifacts in the blended frames, so the parameter
@@ -605,245 +623,247 @@ divtc[=options]
pass mode is used, then negative value can be used to make the filter
analyze the whole video in the beginning of pass-2 to determine
whether it needs deghosting or not and then select either zero or the
- absolute value of the parameter. Specify this option for pass-2, it
- makes no difference on pass-1.
+ absolute value of the parameter. Specify this option for pass 2, it
+ makes no difference on pass 1.
-phase[=t|b|p|a|u|T|B|A|U][:v]
+``phase[=t|b|p|a|u|T|B|A|U][:v]``
Delay interlaced video by one field time so that the field order changes.
The intended use is to fix PAL movies that have been captured with the
opposite field order to the film-to-video transfer. The options are:
- t
+ ``t``
Capture field order top-first, transfer bottom-first. Filter will
delay the bottom field.
- b
+ ``b``
Capture bottom-first, transfer top-first. Filter will delay the top
field.
- p
+ ``p``
Capture and transfer with the same field order. This mode only exists
for the documentation of the other options to refer to, but if you
actually select it, the filter will faithfully do nothing ;-)
- a
+ ``a``
Capture field order determined automatically by field flags, transfer
- opposite. Filter selects among t and b modes on a frame by frame basis
- using field flags. If no field information is available, then this
- works just like u.
+ opposite. Filter selects among ``t`` and ``b`` modes on a frame by frame
+ basis using field flags. If no field information is available, then this
+ works just like ``u``.
- u
- Capture unknown or varying, transfer opposite. Filter selects among t
- and b on a frame by frame basis by analyzing the images and selecting
- the alternative that produces best match between the fields.
+ ``u``
+ Capture unknown or varying, transfer opposite. Filter selects among
+ ``t`` and ``b`` on a frame by frame basis by analyzing the images and
+ selecting the alternative that produces best match between the fields.
- T
- Capture top-first, transfer unknown or varying. Filter selects among t
- and p using image analysis.
+ ``T``
+ Capture top-first, transfer unknown or varying. Filter selects among
+ ``t`` and ``p`` using image analysis.
- B
+ ``B``
Capture bottom-first, transfer unknown or varying. Filter selects
- among b and p using image analysis.
+ among ``b`` and ``p`` using image analysis.
- A
+ ``A``
Capture determined by field flags, transfer unknown or varying. Filter
- selects among t, b and p using field flags and image analysis. If no
- field information is available, then this works just like U. This is
- the default mode.
+ selects among ``t``, ``b`` and ``p`` using field flags and image
+ analysis. If no field information is available, then this works just
+ like ``U``. This is the default mode.
- U
- Both capture and transfer unknown or varying. Filter selects among t,
- b and p using image analysis only.
+ ``U``
+ Both capture and transfer unknown or varying. Filter selects among
+ ``t``, ``b`` and ``p`` using image analysis only.
- v
+ ``v``
Verbose operation. Prints the selected mode for each frame and the
- average squared difference between fields for t, b, and p
+ average squared difference between fields for ``t``, ``b``, and ``p``
alternatives.
-yadif=[mode[:enabled=yes|no]]
+``yadif=[mode[:enabled=yes|no]]``
Yet another deinterlacing filter
- <mode>
+ ``<mode>``
:0: Output 1 frame for each frame.