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.rst971
1 files changed, 0 insertions, 971 deletions
diff --git a/DOCS/man/en/vf.rst b/DOCS/man/en/vf.rst
deleted file mode 100644
index 7c5c3a0893..0000000000
--- a/DOCS/man/en/vf.rst
+++ /dev/null
@@ -1,971 +0,0 @@
-VIDEO FILTERS
-=============
-
-Video filters allow you to modify the video stream and its properties. The
-syntax is:
-
-``--vf=<filter1[=parameter1:parameter2:...],filter2,...>``
- Setup a chain of video filters.
-
-You can also set defaults for each filter. The defaults are applied before the
-normal filter parameters.
-
-``--vf-defaults=<filter1[=parameter1:parameter2:...],filter2,...>``
- Set defaults for each filter.
-
-.. note::
-
- 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,...]>``
- Appends the filters given as arguments to the filter list.
-
-``--vf-pre=<filter1[,filter2,...]>``
- Prepends the filters given as arguments to the filter list.
-
-``--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``
- Completely empties the filter list.
-
-With filters that support it, you can access parameters by their name.
-
-``--vf=<filter>=help``
- Prints the parameter names and parameter value ranges for a particular
- filter.
-
-``--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]``
- Crops the given part of the image and discards the rest. Useful to remove
- black bands from widescreen movies.
-
- ``<w>,<h>``
- Cropped width and height, defaults to original width and height.
- ``<x>,<y>``
- Position of the cropped picture, defaults to center.
-
-``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>``
- Expanded width,height (default: original width,height). Negative
- values for w and h are treated as offsets to the original size.
-
- .. admonition:: Example
-
- ``expand=0:-50:0:0``
- Adds a 50 pixel border to the bottom of the picture.
-
- ``<x>,<y>``
- position of original image on the expanded image (default: center)
-
- ``<aspect>``
- Expands to fit an aspect instead of a resolution (default: 0).
-
- .. 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.
-
- ``<round>``
- Rounds up to make both width and height divisible by <r> (default: 1).
-
-``flip``
- Flips the image upside down.
-
-``mirror``
- Mirrors the image on the Y axis.
-
-``rotate[=0|90|180|270]``
- Rotates the image by a multiple of 90 degrees clock-wise.
-
-``scale[=w:h:param:param2:chr-drop:noup:arnd``
- Scales the image with the software scaler (slow) and performs a YUV<->RGB
- colorspace conversion (see also ``--sws``).
-
- All parameters are optional.
-
- ``<w>,<h>``
- scaled width/height (default: original width/height)
-
- :0: scaled d_width/d_height
- :-1: original width/height
- :-2: Calculate w/h using the other dimension and the prescaled
- aspect ratio.
- :-3: Calculate w/h using the other dimension and the original
- aspect ratio.
- :-(n+8): Like -n above, but rounding the dimension to the closest
- multiple of 16.
-
- ``<param>[:<param2>]`` (see also ``--sws``)
- Set some scaling parameters depending on the type of scaler selected
- 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=7 (gaussian): sharpness (0 (soft) - 100 (sharp))
-
- --sws=9 (lanczos): filter length (1-10)
-
- ``<chr-drop>``
- chroma skipping
-
- :0: Use all available input lines for chroma (default).
- :1: Use only every 2. input line for chroma.
- :2: Use only every 4. input line for chroma.
- :3: Use only every 8. input line for chroma.
-
- ``<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>``
- 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[=w:h:aspect-method:r:aspect]``
- 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
- height desired. Note that this filter does *not* do any scaling itself; it
- just affects what later scalers (software or hardware) will do when
- auto-scaling to correct aspect.
-
- ``<w>,<h>``
- New display width and height.
-
- Can also be these special values:
-
- :0: original display width and height
- :-1: original video width and height (default)
- :-2: Calculate w/h using the other dimension and the original display
- aspect ratio.
- :-3: Calculate w/h using the other dimension and the original video
- aspect ratio.
-
- .. 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.
-
- ``<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
- resolution.
- :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
- resolution.
- :3: Keep video aspect ratio by using ``<w>`` and ``<h>`` as minimum
- resolution.
-
- .. admonition:: Example
-
- ``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).
-
- ``<aspect>``
- Force an aspect ratio.
-
-``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``.
-
- ``<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.
-
- .. admonition:: Examples
-
- ====================== =====================
- Valid Invalid (will crash)
- ====================== =====================
- ``format=rgb24:bgr24`` ``format=rgb24:420p``
- ``format=yuyv:uyvy``
- ====================== =====================
-
-``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``.
-
- ``<fmt>``
- Format name, e.g. rgb15, bgr24, 420p, etc. (default: 420p).
-
-``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:
-
- ``a/autoq``
- Automatically switch the subfilter off if the CPU is too slow.
- ``c/chrom``
- Do chrominance filtering, too (default).
- ``y/nochrom``
- Do luminance filtering only (no chrominance).
- ``n/noluma``
- Do chrominance filtering only (no luminance).
-
- .. note::
-
- ``--vf=pp:help`` shows a list of available subfilters.
-
- .. note::
-
- Unlike in MPlayer or in earlier versions, you must quote the pp string
- if it contains ``:`` characters, e.g. ``'--vf=pp=[...]'``.
-
- Available subfilters are:
-
- ``hb/hdeblock[:difference[:flatness]]``
- horizontal deblocking filter
-
- :<difference>: Difference factor where higher values mean more
- deblocking (default: 32).
- :<flatness>: Flatness threshold where lower values mean more
- deblocking (default: 39).
-
- ``vb/vdeblock[:difference[:flatness]]``
- vertical deblocking filter
-
- :<difference>: Difference factor where higher values mean more
- deblocking (default: 32).
- :<flatness>: Flatness threshold where lower values mean more
- deblocking (default: 39).
-
- ``ha/hadeblock[:difference[:flatness]]``
- accurate horizontal deblocking filter
-
- :<difference>: Difference factor where higher values mean more
- deblocking (default: 32).
- :<flatness>: Flatness threshold where lower values mean more
- deblocking (default: 39).
-
- ``va/vadeblock[:difference[:flatness]]``
- accurate vertical deblocking filter
-
- :<difference>: Difference factor where higher values mean more
- deblocking (default: 32).
- :<flatness>: Flatness threshold where lower values mean more
- deblocking (default: 39).
-
- The horizontal and vertical deblocking filters share the difference and
- flatness values so you cannot set different horizontal and vertical
- thresholds.
-
- ``h1/x1hdeblock``
- experimental horizontal deblocking filter
-
- ``v1/x1vdeblock``
- experimental vertical deblocking filter
-
- ``dr/dering``
- deringing filter
-
- ``tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]``
- temporal noise reducer
-
- :<threshold1>: larger -> stronger filtering
- :<threshold2>: larger -> stronger filtering
- :<threshold3>: larger -> stronger filtering
-
- ``al/autolevels[:f/fullyrange]``
- automatic brightness / contrast correction
-
- :f/fullyrange: Stretch luminance to (0-255).
-
- ``lb/linblenddeint``
- Linear blend deinterlacing filter that deinterlaces the given block by
- filtering all lines with a (1 2 1) filter.
-
- ``li/linipoldeint``
- Linear interpolating deinterlacing filter that deinterlaces the given
- block by linearly interpolating every second line.
-
- ``ci/cubicipoldeint``
- Cubic interpolating deinterlacing filter deinterlaces the given block
- by cubically interpolating every second line.
-
- ``md/mediandeint``
- Median deinterlacing filter that deinterlaces the given block by
- applying a median filter to every second line.
-
- ``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``
- 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]``
- Overrides the quantizer table from the input with the constant
- quantizer you specify.
-
- :<quantizer>: quantizer to use
-
- ``de/default``
- default pp filter combination (hb:a,vb:a,dr:a)
-
- ``fa/fast``
- fast pp filter combination (h1:a,v1:a,dr:a)
-
- ``ac``
- high quality pp filter combination (ha:a:128:7,va:a,dr:a)
-
- .. note::
-
- This filter is only available if FFmpeg/libav has been compiled
- with libpostproc enabled.
-
- .. admonition:: Examples
-
- ``--vf=pp=hb/vb/dr/al``
- horizontal and vertical deblocking, deringing and automatic
- brightness/contrast
-
- ``--vf=pp=de/-al``
- default filters without brightness/contrast correction
-
- ``--vf=pp=[default/tmpnoise:1:2:3]``
- Enable default filters & temporal denoiser.
-
- ``--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
- 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.
-
- .. 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"'``
- 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.
-
- ``<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.
-
- .. admonition:: Example
-
- ``'--vf=lavfi=yadif:o="threads=2,thread_type=slice"'``
- forces a specific threading configuration.
-
-``noise[=<strength>[:averaged][:pattern][:temporal][:uniform][:hq]``
- Adds noise.
-
- ``strength``
- Set the noise for all components. If you want different strength
- values for luma and chroma, use libavfilter's noise filter directly
- (using ``--vf=lavfi=[noise=...]``), or tell the libavfilter developers
- to stop being stupid.
-
- ``averaged``
- averaged temporal noise (smoother, but a lot slower)
-
- ``pattern``
- mix random noise with a (semi)regular pattern
-
- ``temporal``
- temporal noise (noise pattern changes between frames)
-
- ``uniform``
- uniform noise (gaussian otherwise)
-
- ``hq``
- high quality (slightly better looking, slightly slower) - not available
- when using libavfilter
-
-``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>``
- spatial luma strength (default: 4)
- ``<chroma_spatial>``
- spatial chroma strength (default: 3)
- ``<luma_tmp>``
- luma temporal strength (default: 6)
- ``<chroma_tmp>``
- chroma temporal strength (default:
- ``luma_tmp*chroma_spatial/luma_spatial``)
-
-``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>``
- initial gamma value (default: 1.0)
- ``<-2-2>``
- initial contrast, where negative values result in a negative image
- (default: 1.0)
- ``<-1-1>``
- initial brightness (default: 0.0)
- ``<0-3>``
- initial saturation (default: 1.0)
- ``<0.1-10>``
- gamma value for the red component (default: 1.0)
- ``<0.1-10>``
- gamma value for the green component (default: 1.0)
- ``<0.1-10>``
- gamma value for the blue component (default: 1.0)
- ``<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]``
- 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>``
- Select the sampling mode.
-
- :0: nearest-neighbor sampling, fast but incorrect
- :1: linear interpolation (default)
-
-``unsharp[=lx:ly:la:cx:cy:ca]``
- unsharp mask / gaussian blur
-
- ``l`` is for the luma component, ``c`` for the chroma component. ``x``/``y``
- is the filter size. ``a`` is the amount.
-
- ``lx``, ``ly``, ``cx``, ``cy``
- width and height of the matrix, odd sized in both directions (min =
- 3:3, max = 13:11 or 11:13, usually something between 3:3 and 7:7)
-
- ``la``, ``ca``
- Relative amount of sharpness/blur to add to the image (a sane range
- should be -1.5-1.5).
-
- :<0: blur
- :>0: sharpen
-
-``swapuv``
- Swap U & V plane.
-
-``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``
- 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
- 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)
- This option may be set to ``u`` or ``v`` to use a chroma plane instead of the
- 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
- CPU load and make pullup usable in realtime on slow machines.
-
-``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
- 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 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:
-
- ``pass=1|2``
- Use two pass mode.
-
- ``file=<filename>``
- Set the two pass log filename (default: ``framediff.log``).
-
- ``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>``
- 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.
-
- ``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
- 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
- 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
- value is used as a threshold to exclude those pixels from deghosting
- that differ from the previous frame less than specified value. If two
- 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.
-
-``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``
- Capture field order top-first, transfer bottom-first. Filter will
- delay the bottom field.
-
- ``b``
- Capture bottom-first, transfer top-first. Filter will delay the top
- field.
-
- ``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``
- 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``.
-
- ``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.
-
- ``B``
- Capture bottom-first, transfer unknown or varying. Filter selects
- among ``b`` and ``p`` using image analysis.
-
- ``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.
-
- ``U``
- Both capture and transfer unknown or varying. Filter selects among
- ``t``, ``b`` and ``p`` using image analysis only.
-
- ``v``
- Verbose operation. Prints the selected mode for each frame and the
- average squared difference between fields for ``t``, ``b``, and ``p``
- alternatives. (Ignored when libavfilter is used.)
-
-``yadif=[mode[:enabled=yes|no]]``
- Yet another deinterlacing filter
-
- ``<mode>``
- :frame: Output 1 frame for each frame.
- :field: Output 1 frame for each field.
- :frame-nospatial: Like ``frame`` but skips spatial interlacing check.
- :field-nospatial: Like ``field`` but skips spatial interlacing check.
-
- ``<enabled>``
- :yes: Filter is active (default).
- :no: Filter is not active, but can be activated with the ``D`` key
- (or any other key that toggles the ``deinterlace`` property).
-
- This filter, is automatically inserted when using the ``D`` key (or any
- other key that toggles the ``deinterlace`` property or when using the
- ``--deinterlace`` switch), assuming the video output does not have native
- deinterlacing support.
-
- If you just want to set the default mode, put this filter and its options
- into ``--vf-defaults`` instead, and enable deinterlacing with ``D`` or
- ``--deinterlace``.
-
- Also note that the ``D`` key is stupid enough to insert an interlacer twice
- when inserting yadif with ``--vf``, so using the above methods is
- recommended.
-
-``delogo[=x:y:w:h:t:show]``
- Suppresses a TV station logo by a simple interpolation of the surrounding
- pixels. Just set a rectangle covering the logo and watch it disappear (and
- sometimes something even uglier appear - your mileage may vary).
-
- ``<x>,<y>``
- top left corner of the logo
- ``<w>,<h>``
- width and height of the cleared rectangle
- ``<t>``
- Thickness of the fuzzy edge of the rectangle (added to ``w`` and
- ``h``). When set to -1, a green rectangle is drawn on the screen to
- simplify finding the right ``x``,``y``,``w``,``h`` parameters.
- ``show``
- Draw a rectangle showing the area defined by x/y/w/h.
-
-``screenshot``
- Optional filter for screenshot support. This is only needed if the video
- output does not provide working direct screenshot support. Note that it is
- not always safe to insert this filter by default. See `TAKING SCREENSHOTS`_
- for details.
-
-``sub=[=bottom-margin:top-margin]``
- Moves subtitle rendering to an arbitrary point in the filter chain, or force
- subtitle rendering in the video filter as opposed to using video output OSD
- support.
-
- ``<bottom-margin>``
- Adds a black band at the bottom of the frame. The SSA/ASS renderer can
- place subtitles there (with ``--ass-use-margins``).
- ``<top-margin>``
- Black band on the top for toptitles (with ``--ass-use-margins``).
-
- .. admonition:: Examples
-
- ``--vf=sub,eq``
- Moves sub rendering before the eq filter. This will put both
- subtitle colors and video under the influence of the video equalizer
- settings.
-
-``stereo3d[=in:out]``
- Stereo3d converts between different stereoscopic image formats.
-
- ``<in>``
- Stereoscopic image format of input. Possible values:
-
- ``sbsl`` or ``side_by_side_left_first``
- side by side parallel (left eye left, right eye right)
- ``sbsr`` or ``side_by_side_right_first``
- side by side crosseye (right eye left, left eye right)
- ``abl`` or ``above_below_left_first``
- above-below (left eye above, right eye below)
- ``abr`` or ``above_below_right_first``
- above-below (right eye above, left eye below)
- ``ab2l`` or ``above_below_half_height_left_first``
- above-below with half height resolution (left eye above, right eye
- below)
- ``ab2r`` or ``above_below_half_height_right_first``
- above-below with half height resolution (right eye above, left eye
- below)
-
- ``<out>``
- Stereoscopic image format of output. Possible values are all the input
- formats as well as:
-
- ``arcg`` or ``anaglyph_red_cyan_gray``
- anaglyph red/cyan gray (red filter on left eye, cyan filter on
- right eye)
- ``arch`` or ``anaglyph_red_cyan_half_color``
- anaglyph red/cyan half colored (red filter on left eye, cyan filter
- on right eye)
- ``arcc`` or ``anaglyph_red_cyan_color``
- anaglyph red/cyan color (red filter on left eye, cyan filter on
- right eye)
- ``arcd`` or ``anaglyph_red_cyan_dubois``
- anaglyph red/cyan color optimized with the least squares
- projection of dubois (red filter on left eye, cyan filter on right
- eye)
- ``agmg`` or ``anaglyph_green_magenta_gray``
- anaglyph green/magenta gray (green filter on left eye, magenta
- filter on right eye)
- ``agmh`` or ``anaglyph_green_magenta_half_color``
- anaglyph green/magenta half colored (green filter on left eye,
- magenta filter on right eye)
- ``agmc`` or ``anaglyph_green_magenta_color``
- anaglyph green/magenta colored (green filter on left eye, magenta
- filter on right eye)
- ``aybg`` or ``anaglyph_yellow_blue_gray``
- anaglyph yellow/blue gray (yellow filter on left eye, blue filter
- on right eye)
- ``aybh`` or ``anaglyph_yellow_blue_half_color``
- anaglyph yellow/blue half colored (yellow filter on left eye, blue
- filter on right eye)
- ``aybc`` or ``anaglyph_yellow_blue_color``
- anaglyph yellow/blue colored (yellow filter on left eye, blue
- filter on right eye)
- ``irl`` or ``interleave_rows_left_first``
- Interleaved rows (left eye has top row, right eye starts on next
- row)
- ``irr`` or ``interleave_rows_right_first``
- Interleaved rows (right eye has top row, left eye starts on next
- row)
- ``ml`` or ``mono_left``
- mono output (left eye only)
- ``mr`` or ``mono_right``
- mono output (right eye only)
-
-``gradfun[=strength[:radius|:size=<size>]]``
- Fix the banding artifacts that are sometimes introduced into nearly flat
- regions by truncation to 8bit color depth. Interpolates the gradients that
- should go where the bands are, and dithers them.
-
- ``<strength>``
- Maximum amount by which the filter will change any one pixel. Also the
- threshold for detecting nearly flat regions (default: 1.5).
-
- ``<radius>``
- Neighborhood to fit the gradient to. Larger radius makes for smoother
- gradients, but also prevents the filter from modifying pixels near
- detailed regions (default: disabled).
-
- ``<size>``
- size of the filter in percent of the image diagonal size. This is
- used to calculate the final radius size (default: 1).
-
-
-``dlopen=dll[:a0[:a1[:a2[:a3]]]]``
- Loads an external library to filter the image. The library interface
- is the ``vf_dlopen`` interface specified using ``libmpcodecs/vf_dlopen.h``.
-
- ``dll=<library>``
- Specify the library to load. This may require a full file system path
- in some cases. This argument is required.
-
- ``a0=<string>``
- Specify the first parameter to pass to the library.
-
- ``a1=<string>``
- Specify the second parameter to pass to the library.
-
- ``a2=<string>``
- Specify the third parameter to pass to the library.
-
- ``a3=<string>``
- Specify the fourth parameter to pass to the library.
-
-``vapoursynth=file:buffered-frames:concurrent-frames``
- Loads a VapourSynth filter script. This is intended for streamed
- processing: mpv actually provides a source filter, instead of using a
- native VapourSynth video source. The mpv source will answer frame
- requests only within a small window of frames (the size of this window
- is controlled with the ``buffered-frames`` parameter), and requests outside
- of that will return errors. As such, you can't use the full power of
- VapourSynth, but you can use certain filters.
-
- If you just want to play video generated by a VapourSynth (i.e. using
- a native VapourSynth video source), it's better to use ``vspipe`` and a
- FIFO to feed the video to mpv. The same applies if the filter script
- requires random frame access (see ``buffered-frames`` parameter).
-
- This filter is experimental. If it turns out that it works well and is
- used, it will be ported to libavfilter. Otherwise, it will be just removed.
-
- ``file``
- Filename of the script source. Currently, this is always a python
- script. The variable ``video_in`` is set to the mpv video source,
- and it is expected that the script reads video from it. (Otherwise,
- mpv will decode no video, and the video packet queue will overflow,
- eventually leading to audio being stopped.) The script is also
- expected to pass through timestamps using the ``_DurationNum`` and
- ``_DurationDen`` frame properties.
-
- .. admonition:: Example:
-
- ::
-
- import vapoursynth as vs
- core = vs.get_core()
- core.std.AddBorders(video_in, 10, 10, 20, 20).set_output()
-
- .. warning::
-
- The script will be reloaded on every seek. This is done to reset
- the filter properly on discontinuities.
-
- ``buffered-frames``
- Maximum number of decoded video frames that should be buffered before
- the filter (default: 4). This specifies the maximum number of frames
- the script can requests backwards. E.g. if ``buffered-frames=5``, and
- the script just requested frame 15, it can still request frame 10, but
- frame 9 is not available anymore. If it requests frame 30, mpv will
- decode 15 more frames, and keep only frames 25-30.
-
- The actual number of buffered frames also depends on the value of the
- ``concurrent-frames`` option. Currently, both option values are
- multiplied to get the final buffer size.
-
- (Normally, VapourSynth source filters must provide random access, but
- mpv was made for playback, and does not provide frame-exact random
- access. The way this video filter works is a compromise to make simple
- filters work anyway.)
-
- ``concurrent-frames``
- Number of frames that should be requested in parallel (default: 2). The
- level of concurrency depends on the filter and how quickly mpv can