[MPlayer-DOCS] CVS: main/DOCS/man/en mplayer.1,1.611,1.612
Diego Biurrun CVS
syncmail at mplayerhq.hu
Mon Jun 28 16:49:13 CEST 2004
CVS change done by Diego Biurrun CVS
Update of /cvsroot/mplayer/main/DOCS/man/en
In directory mail:/var2/tmp/cvs-serv27925/DOCS/man/en
Modified Files:
mplayer.1
Log Message:
VIDEO OUTPUT DRIVERS moved right after VIDEO OUTPUT OPTIONS.
Index: mplayer.1
===================================================================
RCS file: /cvsroot/mplayer/main/DOCS/man/en/mplayer.1,v
retrieving revision 1.611
retrieving revision 1.612
diff -u -r1.611 -r1.612
--- mplayer.1 28 Jun 2004 14:19:38 -0000 1.611
+++ mplayer.1 28 Jun 2004 14:49:09 -0000 1.612
@@ -2061,1997 +2061,1997 @@
The movie is centered by default.
.
.
-.SH "DECODING/FILTERING OPTIONS"
+.SH "VIDEO OUTPUT DRIVERS (MPLAYER ONLY)"
+Video output drivers are interfaces to different output facilities.
+The syntax is:
.TP
-.B \-ac <[-]codec1,[-]codec2,...[,]>
-Specify a priority list of audio codecs to be used, according to their codec
-name in codecs.conf.
-Use a '-' before the codec name to omit it.
+.B \-vo <driver1[:suboption1[=value]:...],driver2,...[,]>
+Specify a priority list of video output drivers to be used.
+.PP
+If the list has a trailing ',' it will fall back to drivers not listed on the
+command line.
+Suboptions are optional and can mostly be omitted.
.br
.I NOTE:
-See \-ac help for a full list of available codecs.
-.br
-If the list has a trailing ',' it will fallback to codecs not listed.
+See \-vo help for a list of compiled-in drivers.
.I EXAMPLE:
.PD 0
.RSs
-.IPs "\-ac mp3acm"
-force l3codeca.acm MP3 codec
-.IPs "\-ac mad,"
-try libmad first, then fallback to others
-.IPs "\-ac hwac3,a52,"
-try hardware AC3 passthrough, then software AC3 codec, then others
-.IPs "\-ac -ffmp3,"
-try other codecs except FFmpeg's MP3 decoder
+.IPs "\-vo xmga,xv,"
+Try the Matrox X11 driver, then the Xv driver, then others.
+.br
+.IPs "\-vo directx:noaccel"
+Uses the DirectX driver with acceleration features turned off.
.RE
.PD 1
.
-.TP
-.B \-af <filter1[=option1:option2:...],filter2,...>
-Activate a comma separated list of audio filters and their options.
-.br
-Available filters are:
+
+FIXME: Document suboptions for x11, xover, dga, sdl, vidix, xvidix, fbdev,
+fbdev2, vesa, svga, null, aa, bl, ggi, mga, xmga, syncfb, 3dfx, tdfx_vid,
+dxr2, dxr3, mpegpes, zr, zr2, md5, yuv4mpeg, gif89a, jpeg, pgm, png, tga.
+
+Available video output drivers are:
.
+.TP
+.B xv (X11 only)
+Uses the XVideo extension of XFree86 4.x to enable hardware
+accelerated playback.
+If you cannot use a hardware specific driver, this is probably
+the best option.
+.PD 0
.RSs
-.IPs resample[=srate[:sloppy][:type]]
-Changes the sample rate of the audio stream to an integer srate (Hz).
-It only supports the 16 bit little endian format.
-.IPs channels[=nch]
-Change the number of channels to nch output channels.
-If the number of output channels is bigger than the number of input channels
-empty channels are inserted (except mixing from mono to stereo, then the mono
-channel is repeated in both of the output channels).
-If the number of output channels is smaller than the number of input channels
-the exceeding channels are truncated.
-.IPs format[=bps:f]
-Select the format f and bytes per sample bps used for output from the
-filter layer.
-The option bps is an integer and denotes Bytes per sample.
-The format f is a string containing a concatenated mix of:
-.br
-alaw, mulaw or imaadpcm
-.br
-float or int
-.br
-unsigned or signed
-.br
-le or be (little or big endian)
-.br
-.IPs volume[=v:sc]
-Select the output volume level.
-This filter is not reentrant and can therefore only be enabled once for every
-audio stream.
-.RSss
-v: desired gain in dB for all channels in the stream.
-The gain can be set from -200dB to +60dB (where -200dB mutes the sound
-completely and +60dB equals a gain of 1000).
-.br
-sc: enable soft clipping.
-.REss
-.IPs pan[=n:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...]
-Mixes channels arbitrarily, see DOCS/HTML/en/devices.html#audio-dev for details.
-.RSss
-n: number of output channels (1\-6).
-.br
-lij: how much of input channel j is mixed into output channel i.
-.REss
-.IPs sub[=fc:ch]
-Add sub-woofer channel.
-.RSss
-fc: Cutoff frequency for low-pass filter (20Hz to 300Hz) default is 60Hz.
-.br
-ch: channel number for the sub-channel.
-.REss
-.IPs surround[=d]
-Decoder for matrix encoded surround sound, works on many 2 channel files.
-.RSss
-d: delay time in ms for the rear speakers (0ms to 1000ms) default is 15ms.
-.REss
-.IPs delay[=ch1:ch2:...]
-Delays the sound output.
-Specify the delay separately for each channel in milliseconds (floating point
-number between 0 and 1000).
-.IPs export[=mmapped_file[:nsamples]]
-Exports the incoming signal to other processes using memory mapping (mmap()).
-.RSss
-mmapped_file: File to map data to (default: ~/.mplayer/mplayer-af_export).
-.br
-nsamples: number of samples per channel (default: 512)
-.REss
+.IPs port=<number>
+Select a specific XVideo port.
.RE
-.
+.PD 1
.TP
-.B \-af-adv <force=(0\-3):list=(filters)> (see \-af option too)
-Specify advanced audio filter options:
-.
+.B x11 (X11 only)
+Shared memory output driver without hardware acceleration that
+works whenever X11 is present.
+.TP
+.B xover (X11 only)
+Adds X11 support to all overlay based video output drivers.
+Currently only supported by tdfx_vid.
+.TP
+.B xvmc (X11, \-vc ffmpeg12mc only)
+Video output driver that uses the XvMC (X Video Motion Compensation)
+extension of XFree86 4.x to speed up MPEG1/2 and VCR2 decoding.
+.PD 0
.RSs
-.IPs force=<0\-3>
-Forces the insertion of audio filters to one of the following:
-.RSss
-0: Completely automatic insertion of filters (default)
-.br
-1: Optimize for accuracy
-.br
-2: Optimize for speed
-.br
-3: Turn off auto
-.REss
-.IPs list=<filters>
-Same as \-af (see \-af option).
+.IPs benchmark
+Disables image display.
+Necessary for proper benchmarking of drivers that change
+image buffers on monitor retrace only (nVidia).
+.IPs queue
+Queue frames for display to allow more parallel work of the video hardware.
+May add a small (not noticeable) constant A/V desync.
+.IPs sleep
+Use sleep function while waiting for rendering to finish
+(not recomended on Linux).
+.IPs wait\
+Do not use sleep function while waiting for rendering to finish
+(default).
.RE
-.
+.PD 1
.TP
-.B \-afm <driver1,driver2,...>
-Specify a priority list of audio drivers to be used, according to their driver
-name in codecs.conf.
-It falls back to default if none is ok.
-.br
-.I NOTE:
-See \-afm help for a full list of available drivers.
-
-.I EXAMPLE:
+.B dga (X11 only)
+Output video through the XFree86 Direct Graphics Access extension.
+Considered obsolete.
+.TP
+.B sdl (SDL only)
+Highly platform independent SDL (Simple Directmedia Layer) library
+video output driver.
+.TP
+.B vidix\ \
+VIDIX (VIDeo Interface for *niX) is an interface to the
+video acceleration features of different graphics cards.
+Very fast output driver on cards that support it.
.PD 0
.RSs
-.IPs "\-afm ffmpeg"
-try FFmpeg's libavcodec (mp1/\:2/\:3) codecs first
-.IPs "\-afm acm,dshow"
-try Win32 codecs first
+.IPs <subdevice>
+Explicitly choose the VIDIX subdevice driver to use.
+Available subdevice drivers are cyberblade_vid, mach64_vid, mga_crtc2_vid,
+mga_vid, nvidia_vid, pm3_vid, radeon_vid, rage128_vid, sis_vid.
.RE
.PD 1
-.
.TP
-.B \-aspect <ratio>
-Override aspect ratio of movies.
-It's autodetected on MPEG files, but can't be autodetected on most AVI files.
-
-.I EXAMPLE:
+.B xvidix (X11 only)
+X11 frontend for VIDIX
.PD 0
.RSs
-\-aspect 4:3 or \-aspect 1.3333
-.br
-\-aspect 16:9 or \-aspect 1.7777
+.IPs <subdevice>
+same as vidix
.RE
.PD 1
-.
.TP
-.B \-noaspect
-Disable automatic movie aspect ratio compensation.
-.TP
-.B \-flip \
-Flip image upside-down.
+.B cvidix\
+Generic and platform independent VIDIX frontend, can even run in a
+textconsole with nVidia cards.
+.PD 0
+.RSs
+.IPs <subdevice>
+same as vidix
+.RE
+.PD 1
.TP
-.B \-lavdopts <option1:option2:...> (DEBUG CODE)
-If decoding with libavcodec, you can specify its parameters here.
-
-.I EXAMPLE:
+.B winvidix (Windows only)
+Windows frontend for VIDIX
.PD 0
.RSs
-\-lavdopts bug=1
+.IPs <subdevice>
+same as vidix
.RE
.PD 1
-
-.RS
-.I NOTE:
-Just add the values of the things you want to enable.
-.br
-Available options are:
+.TP
+.B directx (Windows only)
+Output driver that uses the DirectX interface.
+.PD 0
+.RSs
+.IPs noaccel
+Turns off hardware acceleration.
+Try this option if you have display problems.
.RE
-.
+.PD 1
+.TP
+.B quartz (Mac OS X only)
+Mac OS X Quartz output driver.
+Under some circumstances, it might be more efficient to force a
+packed YUV output format, with e.g. \-vf format=yuy2
+.PD 0
.RSs
-.IPs ec\ \ \
-error concealment:
-.RSss
-1: use strong deblock filter for damaged MBs
-.br
-2: iterative MV search (slow)
-.br
-3: all (default)
-.REss
-.IPs er=<value>
-error resilience:
-.RSss
-.br
-0: disabled
-.br
-1: careful (should work with broken encoders)
-.br
-2: normal (default) (works with compliant encoders)
-.br
-3: agressive (more checks but might cause problems even for valid bitstreams)
-.br
-4: very agressive
-.REss
-.IPs debug=<value>
-debug:
-.RSss
-.br
-0: disabled
-.br
-1: picture info
-.br
-2: rate control
-.br
-4: bitstream
-.br
-8: MB type
-.br
-16: QP
-.br
-32: Motion vector
-.br
-0x0040: Motion vector visualization (use \-noslices)
-.br
-0x0080: MB skip
-.br
-0x0100: startcode
-.br
-0x0200: PTS
-.br
-0x0400: error resilience
-.br
-0x0800: memory management control operations (H264)
-.br
-0x1000: bugs
-.REss
-.IPs vismv=<value>
-vismv:
-.RSss
-.br
-0: disabled
-.br
-1: visualize forward predicted MVs of P frames
-.br
-2: visualize forward predicted MVs of B frames
-.br
-4: visualize backward predicted MVs of B frames
-.REss
-.IPs bug=<value>
-manually work around encoder bugs:
-.RSss
-0: nothing
-.br
-1: autodetect bugs (default)
-.br
-2 (msmpeg4v3): some old lavc generated msmpeg4v3 files (no autodetect)
-.br
-4 (mpeg4): XviD interlacing bug (autodetected if fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (autodetected if fourcc==UMP4)
-.br
-16 (mpeg4): padding bug (autodetected)
-.br
-32 (mpeg4): illegal vlc bug (autodetected per fourcc)
-.br
-64 (mpeg4): XviD and DivX qpel bug (autodetected per fourcc/ver)
-.br
-128 (mpeg4): old standard qpel (autodetected per fourcc/ver)
-.br
-256 (mpeg4): another qpel bug (autodetected per fourcc/ver)
-.br
-512 (mpeg4): direct-qpel-blocksize bug (autodetected per fourcc/ver)
-.br
-1024 (mpeg4): edge padding bug (autodetected per fourcc/ver)
-.REss
-.IPs idct=<0\-99>
-(see lavcopts)
-For best decoding quality use the same idct algorithm for decoding and encoding.
-This may come at a price in accuracy, though.
-.IPs gray\
-grayscale only decoding (a bit faster than with color)
+.IPs device_id=<number>
+Choose the display device to use in fullscreen.
.RE
-.
-.TP
-.B \-noslices
-Disable drawing video by 16-pixel height slices/\:bands, instead draws the
-whole frame in a single run.
-May be faster or slower, depending on card/\:cache.
-It has effect only with libmpeg2 and libavcodec codecs.
-.TP
-.B \-nosound
-Do not play/\:encode sound.
-Useful for benchmarking.
-.TP
-.B \-novideo
-Do not play/\:encode video.
-.TP
-.B \-oldpp <quality> (OBSOLETE) (OpenDivX only)
-Use the opendivx postprocessing code instead of the internal one.
-Superseded by \-pp, the internal postprocessing offers better
-quality and performance.
-.
-The valid range of \-oldpp values varies by codec, mostly
-0\-6, where 0=disable 6=slowest/\:best.
+.PD 1
.TP
-.B \-pp <quality> (see \-vf pp option too!)
-Set postprocess level of the DLL.
-This option is NO LONGER USABLE with MPlayer's postprocess filter, but only
-with Win32 DirectShow DLLs which have internal postprocessing routines.
-.
-The valid range of \-pp values varies by codec, mostly
-0\-6, where 0=disable 6=slowest/\:best.
+.B fbdev (Linux only)
+Uses the kernel framebuffer to output video.
.TP
-.B \-pphelp (see \-vf pp option too)
-Show a summary about the available postprocess filters and their usage.
+.B fbdev2 (Linux only)
+Uses the kernel framebuffer to output video,
+alternative implementation.
.TP
-.B \-ssf <mode>
-Specifies SwScaler parameters.
-
-.I EXAMPLE:
+.B vesa\ \ \
+Very general output driver that should work on any VESA VBE 2.0
+compatible card.
.PD 0
.RSs
-\-vf scale \-ssf lgb=3.0
+.IPs dga\ \
+Turns on DGA mode.
+.IPs nodga
+Turns off DGA mode.
+.IPs vidix
+FIXME: document this
+.IPs lvo\ \
+FIXME: document this
.RE
.PD 1
-.
+.TP
+.B svga\ \ \
+Output video using the SVGA library.
+.TP
+.B gl\ \ \ \ \
+OpenGL output driver.
+Very simple version, no OSD support and video size must be smaller than
+the maximum texture size of your OpenGL implementation.
+Intended to work even with the most simple OpenGL implementations.
.PD 0
.RSs
-.IPs lgb=<0\-100>
-Gaussian blur filter (luma)
-.IPs cgb=<0\-100>
-Gaussian blur filter (chroma)
-.IPs ls=<0\-100>
-sharpen filter (luma)
-.IPs cs=<0\-100>
-sharpen filter (chroma)
-.IPs chs=<h>
-chroma horizontal shifting
-.IPs cvs=<v>
-chroma vertical shifting
+.IPs manyfmts
+Enables support for more (RGB and BGR) color formats.
+Needs OpenGL version >= 1.2, NOT yet WORKING correctly.
+.IPs slice-height=<0\-...>
+Number of lines copied to texture in one piece (default: 4).
+0 for whole image.
.RE
.PD 1
-.
.TP
-.B \-stereo <mode>
-Select type of MP2/\:MP3 stereo output.
-.
+.B gl2\ \ \ \
+OpenGL output driver, second generation.
+Supports OSD and videos larger than the maximum texture size.
+.TP
+.B null\ \ \
+Produces no video output.
+Useful for benchmarking.
+.TP
+.B aa\ \ \ \ \
+ASCII art output driver that works on a text console.
+.TP
+.B caca\ \ \
+Colour AsCii Art output driver that works on a text console.
+.TP
+.B bl\ \ \ \ \
+Video playback using the Blinkenlights UDP protocol.
+This driver is highly hardware specific.
+.TP
+.B ggi\ \ \ \
+Output driver for the GGI graphics system.
+.TP
+.B directfb
+Play video using the DirectFB library.
.PD 0
.RSs
-.IPs 0
-Stereo
-.IPs 1
-Left channel
-.IPs 2
-Right channel
+.IPs (no)input
+Use the DirectFB instead of the MPlayer keyboard code (default: enabled).
+.IPs buffermode=single|double|triple
+Double and triple buffering give best results if you want to avoid tearing issues.
+Triple buffering is more efficent than double buffering as it doesn't block MPlayer
+while waiting for the vertical retrace.
+Single buffering should be avoided (default: single).
+.IPs fieldparity=top|bottom
+Control the output order for interlaced frames (default: disabled).
+Valid values are top = top fields first, bottom = bottom fields first.
+This option doesn't have any effect on progressive film material
+like most MPEG movies are.
+You need to enable this option if you have tearing issues/unsmooth
+motions watching interlaced film material.
+.IPs layer=N
+Will force layer with id N for playback (default: -1 - auto).
.RE
.PD 1
-.
.TP
-.B \-sws <software\ scaler\ type> (see \-vf scale option too)
-This option sets the quality (and speed, respectively) of the software scaler,
-with the \-zoom option.
-For example with x11 or other outputs which lack hardware acceleration.
-Possible settings are:
-.br
-.I NOTE:
-For \-sws\ 2 and 7, the sharpness can be set with the scaling parameter (p)
-of \-vf scale (0 (soft) \- 100 (sharp)), for \-sws 9, it specifies the filter
-length (1 \- 10).
-
+.B dfbmga\
+Matrox G400/G450/G550 specific output driver that uses the DirectFB library.
+Enables CRTC2 (second head), displaying video independently of the first head.
.PD 0
.RSs
-.IPs 0
-fast bilinear (default)
-.IPs 1
-bilinear
-.IPs 2
-bicubic (good quality)
-.IPs 3
-experimental
-.IPs 4
-nearest neighbour (bad quality)
-.IPs 5
-area
-.IPs 6
-luma bicubic / chroma bilinear
-.IPs 7
-gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-bicubic spline
+.IPs (no)bes
+Enable the use of the Matrox BES (backend scaler) (default: disabled).
+Gives very good results concerning speed and output quality as interpolated
+picture processing is done in hardware.
+Works only on the primary head.
+.IPs (no)spic
+Make use of the Matrox sub picture layer to display the OSD (default: enabled).
+.IPs (no)crtc2
+Turn on TV-out on the second head (default: enabled).
+The output quality is amazing as it's a full interlaced picture
+with proper sync to every odd/even field.
+.IPs (no)input
+Use the DirectFB instead of the MPlayer keyboard code (default: disabled).
+.IPs buffermode=single|double|triple
+Double and triple buffering give best results if you want to avoid tearing issues.
+Triple buffering is more efficent than double buffering as it doesn't block MPlayer
+while waiting for the vertical retrace.
+Single buffering should be avoided (default: triple).
+.IPs fieldparity=top|bottom
+Control the output order for interlaced frames (default: disabled).
+Valid values are top = top fields first, bottom = bottom fields first.
+This option doesn't have any effect on progressive film material
+like most MPEG movies are.
+You need to enable this option if you have tearing issues/unsmooth
+motions watching interlaced film material.
+.IPs tvnorm=pal|ntsc|auto
+Will set the TV norm of the Matrox card without the need
+for modifying /etc/\:directfbrc (default: disabled).
+Valid norms are pal = PAL, ntsc = NTSC.
+Special norm is auto (auto-adjust using PAL/NTSC) because it decides
+which norm to use by looking at the frame rate of the movie.
.RE
.PD 1
-.
.TP
-.B \-vc <[-]codec1,[-]codec2,...[,]>
-Specify a priority list of video codecs to be used, according to their codec
-name in codecs.conf.
-Use a '-' before the codec name to omit it.
-.br
-.I NOTE:
-See \-vc help for a full list of available codecs.
-.br
-If the list has a trailing ',' it will fallback to codecs not listed.
-
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-force Win32/\:VFW DivX codec, no fallback
-.IPs "\-vc divx4,"
-try divx4linux codec first, then fallback to others
-.IPs "\-vc -divxds,-divx,"
-try other codecs except Win32 DivX codecs
-.IPs "\-vc ffmpeg12,mpeg12,"
-try libavcodec's MPEG1/\:2 codec, then libmpeg2, then others
-.RE
-.PD 1
-.
+.B mga (Linux only)
+Matrox specific output driver that makes use of the YUV back
+end scaler on Gxxx cards through a kernel module.
+If you have a Matrox card, this is the fastest option.
.TP
-.B \-vfm <driver1,driver2,...>
-Specify a priority list of video codecs to be used, according to their
-names in codecs.conf.
-It falls back to default if none is ok.
-.br
-.I NOTE:
-If libdivxdecore support was compiled in, then odivx and divx4 now contains
-just the same DivX4 codec, but different APIs to reach it.
-For difference between them and when to use which, check the DivX4 section in
-the documentation.
-.br
-See \-vfm help for a full list of available drivers.
-
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-try the libavcodec, then Directshow, then VFW codecs and fallback to the
-others, if still none is ok
-.IPs "\-vfm xanim"
-try XAnim codecs first
-.RE
-.PD 1
-.
+.B xmga (Linux, X11 only)
+The mga output driver, running in an X11 window.
.TP
-.B \-x <x> (MPLAYER only)
-Scale image to x width (if sw/\:hw scaling available).
-Disables aspect calculations.
+.B syncfb\
+Video output driver for the SyncFB kernel module, which provides
+special hardware features of Matrox Gxxx cards like hardware
+deinterlacing, scaling and synchronizing your video output to
+the vertical retrace of your monitor.
.TP
-.B \-xvidopts <option1:option2:...>
-Specify additional parameters when decoding with XviD.
-.
+.B 3dfx (Linux only)
+This driver employs the tdfx framebuffer driver to play movies with
+YUV acceleration.
+.TP
+.B tdfx_vid (Linux only)
+3Dfx specific output driver.
+Works in conjunction with a kernel module.
+.TP
+.B dxr2 (DXR2 only)
+Creative DXR2 specific output driver.
+Also see the \-dxr2 option.
.PD 0
.RSs
-.IPs deblock-chroma
-Activate XviD internal postprocessing filter: chroma deblock filter.
-See also \-vf pp, which is faster than XviD's own filter.
-.IPs deblock-luma
-Activate XviD internal postprocessing filter: luma deblock filter.
-See also \-vf pp, which is faster than XviD's own filter.
-.IPs dr2\ \
-Activate direct rendering method 2.
-.IPs nodr2
-Deactivate direct rendering method 2.
-.IPs filmeffect
-Activate XviD internal film grain effect.
-Adds artificial film grain to the video.
-May increase perceived quality, while lowering true quality.
-Also see \-vf noise.
+.IPs x11
+Enables overlay.
+.IPs xv
+Enables overlay.
.RE
.PD 1
-.
.TP
-.B \-xy <value>
+.B dxr3 (DXR3 only)
+Sigma Designs em8300 MPEG decoder chip (Creative DXR3, Sigma Designs
+Hollywood Plus) specific output driver.
+Also see the lavc video filter.
.PD 0
.RSs
-.IPs value<=8
-Scale image by factor <value>.
-.IPs value>8
-Set width to value and calculate height to keep correct aspect ratio.
+.IPs overlay
+Activates the overlay instead of TVOut.
+.IPs prebuf
+Turns on prebuffering.
+.IPs sync
+Will turn on the new sync-engine.
+.IPs norm=<norm>
+Specifies the TV norm.
+.RSss
+0: Does not change current norm (default).
+.br
+1: Auto-adjust using PAL/NTSC.
+.br
+2: Auto-adjust using PAL/PAL-60.
+.br
+3: PAL
+.br
+4: PAL-60
+.br
+5: NTSC
+.REss
+.IPs device=<number>
+Specifies the device number to use if you have more than one em8300 card.
.RE
.PD 1
-.
.TP
-.B \-y <y> (MPLAYER only)
-Scale image to y height (if sw/\:hw scaling available).
-Disables aspect calculations.
+.B mpegpes (DVB only)
+DVB specific output driver.
.TP
-.B \-zoom \
-Allow software scaling, where available.
-Could be used to force scaling with \-vf scale.
-.br
-.I NOTE:
-\-vf scale will IGNORE options \-x / \-y / \-xy / \-fs / \-aspect without
-\-zoom.
-.
-.
-.SH "VIDEO FILTERS"
-Video filter are plugins that allow you to modify the video stream and its
-properties.
-The syntax is:
+.B zr\ \ \ \ \
+Output driver for a number of MJPEG capture/playback cards.
+Also see the -zr* options and -zrhelp.
.TP
-.B \-vf <filter1[=parameters],filter2,...>
-Setup a chain of video filters.
+.B zr2\ \ \ \
+Output driver for a number of MJPEG capture/playback cards, second generation.
+Also see the zrmjpeg video filter.
.TP
-.B \-vop <...,filter3[=parameters],filter2,filter1> (OBSOLETE)
-Setup a chain of video filters, to be applied in
-.B reverse
-order.
-Deprecated in favor of \-vf.
-.PP
-The parameters are optional and if omitted, some of them are set to default
-values.
-Use '-1' to keep the default value.
-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.
-.br
-.I NOTE:
-To get a full list of available filters, see \-vf help.
-
-Filters are managed in lists.
-There are a few commands to manage the filter list.
+.B md5\ \ \ \
+Writes md5sums for each frame into a file called 'md5' in the
+current directory.
+Useful for debugging.
.TP
-.B \-vf-add <filter1[,filter2,...]>
-Appends the filters given as arguments to the filter list.
+.B yuv4mpeg
+Transforms the video stream into a sequence of uncompressed YUV 4:2:0
+images and stores it in a file called 'stream.yuv' in the current
+directory.
+Useful if you want to process the video with the mjpegtools suite.
.TP
-.B \-vf-pre <filter1[,filter2,...]>
-Prepends the filters given as arguments to the filter list.
+.B gif89a\
+Output each frame into a GIF file in the current directory.
+Each file takes the frame number padded with leading zeros as name.
.TP
-.B \-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).
+.B jpeg\ \ \
+Output each frame into a JPEG file in the current directory.
+Each file takes the frame number padded with leading zeros as name.
.TP
-.B \-vf-clr
-Completely empties the filter list.
-.PP
-With filters that support it, you can access parameters by their name.
+.B pgm\ \ \ \
+Output each frame into a PGM file in the current directory.
+Each file takes the frame number padded with leading zeros as name.
.TP
-.B \-vf <filter>=help
-Prints the parameter names and parameter value ranges for a particular
-filter.
+.B png\ \ \ \
+Output each frame into a PNG file in the current directory.
+Each file takes the frame number padded with leading zeros as name.
.TP
-.B \-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.
-.PP
-Available filters are:
+.B tga\ \ \ \
+Output each frame into a Targa file in the current directory.
+Each file takes the frame number padded with leading zeros as name.
.
+.
+.SH "DECODING/FILTERING OPTIONS"
.TP
-.B crop[=w:h:x:y]
-Crops the given part of the image and discards the rest.
-Useful to remove black bands from widescreen movies.
+.B \-ac <[-]codec1,[-]codec2,...[,]>
+Specify a priority list of audio codecs to be used, according to their codec
+name in codecs.conf.
+Use a '-' before the codec name to omit it.
+.br
+.I NOTE:
+See \-ac help for a full list of available codecs.
+.br
+If the list has a trailing ',' it will fallback to codecs not listed.
+
+.I EXAMPLE:
.PD 0
.RSs
-.IPs w,h
-Cropped width and height, defaults to original width and height.
-.IPs x,y
-Position of the cropped picture, defaults to center.
+.IPs "\-ac mp3acm"
+force l3codeca.acm MP3 codec
+.IPs "\-ac mad,"
+try libmad first, then fallback to others
+.IPs "\-ac hwac3,a52,"
+try hardware AC3 passthrough, then software AC3 codec, then others
+.IPs "\-ac -ffmp3,"
+try other codecs except FFmpeg's MP3 decoder
.RE
.PD 1
+.
.TP
-.B cropdetect[=0\-255]
-Calculates necessary cropping parameters and prints the recommended parameters
-to stdout.
-The threshold can be optionally specified from nothing (0) to everything
-(255).
-(default: 24)
-.TP
-.B rectangle[=w:h:x:y]
-The plugin responds to the input.conf directive 'change_rectangle'
-that takes two parameters.
-.PD 0
+.B \-af <filter1[=option1:option2:...],filter2,...>
+Activate a comma separated list of audio filters and their options.
+.br
+Available filters are:
+.
.RSs
-.IPs w,h
-width and height (default: -1, maximum possible width where boundaries
-are still visible.
-.IPs x,y
-top left corner position (default: -1, uppermost leftmost)
+.IPs resample[=srate[:sloppy][:type]]
+Changes the sample rate of the audio stream to an integer srate (Hz).
+It only supports the 16 bit little endian format.
+.IPs channels[=nch]
+Change the number of channels to nch output channels.
+If the number of output channels is bigger than the number of input channels
+empty channels are inserted (except mixing from mono to stereo, then the mono
+channel is repeated in both of the output channels).
+If the number of output channels is smaller than the number of input channels
+the exceeding channels are truncated.
+.IPs format[=bps:f]
+Select the format f and bytes per sample bps used for output from the
+filter layer.
+The option bps is an integer and denotes Bytes per sample.
+The format f is a string containing a concatenated mix of:
+.br
+alaw, mulaw or imaadpcm
+.br
+float or int
+.br
+unsigned or signed
+.br
+le or be (little or big endian)
+.br
+.IPs volume[=v:sc]
+Select the output volume level.
+This filter is not reentrant and can therefore only be enabled once for every
+audio stream.
+.RSss
+v: desired gain in dB for all channels in the stream.
+The gain can be set from -200dB to +60dB (where -200dB mutes the sound
+completely and +60dB equals a gain of 1000).
+.br
+sc: enable soft clipping.
+.REss
+.IPs pan[=n:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...]
+Mixes channels arbitrarily, see DOCS/HTML/en/devices.html#audio-dev for details.
+.RSss
+n: number of output channels (1\-6).
+.br
+lij: how much of input channel j is mixed into output channel i.
+.REss
+.IPs sub[=fc:ch]
+Add sub-woofer channel.
+.RSss
+fc: Cutoff frequency for low-pass filter (20Hz to 300Hz) default is 60Hz.
+.br
+ch: channel number for the sub-channel.
+.REss
+.IPs surround[=d]
+Decoder for matrix encoded surround sound, works on many 2 channel files.
+.RSss
+d: delay time in ms for the rear speakers (0ms to 1000ms) default is 15ms.
+.REss
+.IPs delay[=ch1:ch2:...]
+Delays the sound output.
+Specify the delay separately for each channel in milliseconds (floating point
+number between 0 and 1000).
+.IPs export[=mmapped_file[:nsamples]]
+Exports the incoming signal to other processes using memory mapping (mmap()).
+.RSss
+mmapped_file: File to map data to (default: ~/.mplayer/mplayer-af_export).
+.br
+nsamples: number of samples per channel (default: 512)
+.REss
.RE
-.PD 1
+.
.TP
-.B expand[=w:h:x:y:o]
-Expands (not scales) movie resolution to the given value and places the
-unscaled original at coordinates x, y.
-Can be used for placing subtitles/\:OSD in the resulting black bands.
+.B \-af-adv <force=(0\-3):list=(filters)> (see \-af option too)
+Specify advanced audio filter options:
+.
.RSs
-.IPs w,h
-expanded width,height (default: original width,height).
-Negative values for w and h are treated as offsets to the original size.
+.IPs force=<0\-3>
+Forces the insertion of audio filters to one of the following:
+.RSss
+0: Completely automatic insertion of filters (default)
+.br
+1: Optimize for accuracy
+.br
+2: Optimize for speed
+.br
+3: Turn off auto
+.REss
+.IPs list=<filters>
+Same as \-af (see \-af option).
+.RE
+.
+.TP
+.B \-afm <driver1,driver2,...>
+Specify a priority list of audio drivers to be used, according to their driver
+name in codecs.conf.
+It falls back to default if none is ok.
+.br
+.I NOTE:
+See \-afm help for a full list of available drivers.
.I EXAMPLE:
.PD 0
.RSs
-.IP expand=0:-50:0:0
-adds a 50 pixel border to the bottom of the picture
+.IPs "\-afm ffmpeg"
+try FFmpeg's libavcodec (mp1/\:2/\:3) codecs first
+.IPs "\-afm acm,dshow"
+try Win32 codecs first
.RE
.PD 1
-.IPs x,y
-position of original image on the expanded image (default: center)
-.IPs o
-OSD/subtitle rendering
-.RSss
-0: disable (default)
+.
+.TP
+.B \-aspect <ratio>
+Override aspect ratio of movies.
+It's autodetected on MPEG files, but can't be autodetected on most AVI files.
+
+.I EXAMPLE:
+.PD 0
+.RSs
+\-aspect 4:3 or \-aspect 1.3333
.br
-1: enable
-.REss
+\-aspect 16:9 or \-aspect 1.7777
.RE
+.PD 1
+.
.TP
-.B flip\ \ \
-Flips the image upside down.
-See also option \-flip.
-.TP
-.B mirror\
-Mirrors the image on the Y axis.
+.B \-noaspect
+Disable automatic movie aspect ratio compensation.
.TP
-.B rotate[=<0\-7>]
-Rotates and flips (optional) the image +/\:- 90 degrees.
-For parameters between 4\-7 rotation is only done if the movie's geometry is
-portrait and not landscape.
+.B \-flip \
+Flip image upside-down.
.TP
-.B scale[=w:h[:interlaced[:chr_drop[:param[:presize]]]]]
-Scales the image with the software scaler (slow) and performs a YUV<\->RGB
-colorspace conversion (also see \-sws option).
+.B \-lavdopts <option1:option2:...> (DEBUG CODE)
+If decoding with libavcodec, you can specify its parameters here.
+
+.I EXAMPLE:
+.PD 0
.RSs
-.IPs w,h\ \
-scaled width/height (default: original width/height)
-.br
+\-lavdopts bug=1
+.RE
+.PD 1
+
+.RS
.I NOTE:
-If \-zoom is used, and underlying filters (including libvo) are
-incapable of scaling, it defaults to d_width/\:d_height!
-.RSss
- 0: scaled d_width/\:d_height
+Just add the values of the things you want to enable.
.br
--1: original width/\:height
+Available options are:
+.RE
+.
+.RSs
+.IPs ec\ \ \
+error concealment:
+.RSss
+1: use strong deblock filter for damaged MBs
.br
--2: Calculate w/\:h using the other dimension and the prescaled aspect ratio.
+2: iterative MV search (slow)
.br
--3: Calculate w/\:h using the other dimension and the original aspect ratio.
+3: all (default)
.REss
-.IPs interlaced
-Toggle interlaced scaling.
-.IPs chr_drop
-chroma skipping
+.IPs er=<value>
+error resilience:
.RSss
-0: use all available input lines for chroma
.br
-1: use only every 2. input line for chroma
+0: disabled
.br
-2: use only every 4. input line for chroma
+1: careful (should work with broken encoders)
.br
-3: use only every 8. input line for chroma
-.REss
-.IPs param
-scaling parameter (depends upon the scaling method used)
-.RSss
-\-sws 2 (bicubic): sharpness (0 (soft) \- 100 (sharp))
+2: normal (default) (works with compliant encoders)
.br
-\-sws 7 (gaussian): sharpness (0 (soft) \- 100 (sharp))
+3: agressive (more checks but might cause problems even for valid bitstreams)
.br
-\-sws 9 (lanczos): filter length (1\-10)
+4: very agressive
.REss
-.IPs presize
-Scale to preset sizes.
+.IPs debug=<value>
+debug:
.RSss
-qntsc: 352x240 (NTSC quarter screen)
.br
-qpal: 352x288 (PAL quarter screen)
+0: disabled
.br
-ntsc: 720x480 (standard NTSC)
+1: picture info
.br
-pal: 720x576 (standard PAL)
+2: rate control
.br
-sntsc: 640x480 (square pixel NTSC)
+4: bitstream
.br
-spal: 768x576 (square pixel PAL)
+8: MB type
+.br
+16: QP
+.br
+32: Motion vector
+.br
+0x0040: Motion vector visualization (use \-noslices)
+.br
+0x0080: MB skip
+.br
+0x0100: startcode
+.br
+0x0200: PTS
+.br
+0x0400: error resilience
+.br
+0x0800: memory management control operations (H264)
+.br
+0x1000: bugs
+.REss
+.IPs vismv=<value>
+vismv:
+.RSss
+.br
+0: disabled
+.br
+1: visualize forward predicted MVs of P frames
+.br
+2: visualize forward predicted MVs of B frames
+.br
+4: visualize backward predicted MVs of B frames
+.REss
+.IPs bug=<value>
+manually work around encoder bugs:
+.RSss
+0: nothing
+.br
+1: autodetect bugs (default)
+.br
+2 (msmpeg4v3): some old lavc generated msmpeg4v3 files (no autodetect)
+.br
+4 (mpeg4): XviD interlacing bug (autodetected if fourcc==XVIX)
+.br
+8 (mpeg4): UMP4 (autodetected if fourcc==UMP4)
+.br
+16 (mpeg4): padding bug (autodetected)
+.br
+32 (mpeg4): illegal vlc bug (autodetected per fourcc)
+.br
+64 (mpeg4): XviD and DivX qpel bug (autodetected per fourcc/ver)
+.br
+128 (mpeg4): old standard qpel (autodetected per fourcc/ver)
+.br
+256 (mpeg4): another qpel bug (autodetected per fourcc/ver)
+.br
+512 (mpeg4): direct-qpel-blocksize bug (autodetected per fourcc/ver)
+.br
+1024 (mpeg4): edge padding bug (autodetected per fourcc/ver)
.REss
+.IPs idct=<0\-99>
+(see lavcopts)
+For best decoding quality use the same idct algorithm for decoding and encoding.
+This may come at a price in accuracy, though.
+.IPs gray\
+grayscale only decoding (a bit faster than with color)
.RE
+.
.TP
-.B dsize={aspect|w:h}
-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.
+.B \-noslices
+Disable drawing video by 16-pixel height slices/\:bands, instead draws the
+whole frame in a single run.
+May be faster or slower, depending on card/\:cache.
+It has effect only with libmpeg2 and libavcodec codecs.
.TP
-.B yuy2\ \ \
-Forces software YV12/\:I420 or 422P to YUY2 conversion.
-Useful for video cards/\:drivers with slow YV12 but fast YUY2 support.
+.B \-nosound
+Do not play/\:encode sound.
+Useful for benchmarking.
.TP
-.B yvu9\ \ \
-Forces software YVU9 to YV12 colorspace conversion.
-Deprecated in favor of the software scaler.
+.B \-novideo
+Do not play/\:encode video.
.TP
-.B yuvcsp\
-Clamps YUV color values to the CCIR 601 range without doing real conversion.
+.B \-oldpp <quality> (OBSOLETE) (OpenDivX only)
+Use the opendivx postprocessing code instead of the internal one.
+Superseded by \-pp, the internal postprocessing offers better
+quality and performance.
+.
+The valid range of \-oldpp values varies by codec, mostly
+0\-6, where 0=disable 6=slowest/\:best.
.TP
-.B rgb2bgr[=swap]
-RGB 24/\:32 <\-> BGR 24/\:32 colorspace conversion.
+.B \-pp <quality> (see \-vf pp option too!)
+Set postprocess level of the DLL.
+This option is NO LONGER USABLE with MPlayer's postprocess filter, but only
+with Win32 DirectShow DLLs which have internal postprocessing routines.
+.
+The valid range of \-pp values varies by codec, mostly
+0\-6, where 0=disable 6=slowest/\:best.
+.TP
+.B \-pphelp (see \-vf pp option too)
+Show a summary about the available postprocess filters and their usage.
+.TP
+.B \-ssf <mode>
+Specifies SwScaler parameters.
+
+.I EXAMPLE:
.PD 0
.RSs
-.IPs swap\
-Also perform R <\-> B swapping.
+\-vf scale \-ssf lgb=3.0
.RE
.PD 1
-.TP
-.B palette
-RGB/\:BGR 8 \-> 15/\:16/\:24/\:32bpp colorspace conversion using palette.
-.TP
-.B format[=fourcc]
-Restricts the colorspace for the next filter without doing any conversion.
-Use together with the scale filter for a real conversion.
-For a list of available formats see format=fmt=help.
+.
.PD 0
.RSs
-.IPs fourcc
-format name like rgb15, bgr24, yv12, etc (default: yuy2)
+.IPs lgb=<0\-100>
+Gaussian blur filter (luma)
+.IPs cgb=<0\-100>
+Gaussian blur filter (chroma)
+.IPs ls=<0\-100>
+sharpen filter (luma)
+.IPs cs=<0\-100>
+sharpen filter (chroma)
+.IPs chs=<h>
+chroma horizontal shifting
+.IPs cvs=<v>
+chroma vertical shifting
.RE
.PD 1
+.
.TP
-.B noformat[=fourcc]
-Restricts the colorspace for the next filter without doing any conversion.
-Unlike the format filter, this will allow any colorspace
-.B except
-the one you specify.
-For a list of available formats see noformat=fmt=help.
+.B \-stereo <mode>
+Select type of MP2/\:MP3 stereo output.
+.
.PD 0
.RSs
-.IPs fourcc
-format name like rgb15, bgr24, yv12, etc (default: yv12)
+.IPs 0
+Stereo
+.IPs 1
+Left channel
+.IPs 2
+Right channel
.RE
.PD 1
+.
.TP
-.B pp[=filter1[:option1[:option2...]]/[-]filter2...] (see \-pphelp too)
-This option enables usage of MPlayer's internal postprocessing filter,
-and also gives an interface where you can pass options to the named filter.
-To get a list of available filters, use \-pphelp.
-Note that each sub-filter must be separated with a / sign.
-.br
-Each filter defaults to 'c' (chrominance).
-.br
-The keywords accept a '-' prefix to disable the option.
+.B \-sws <software\ scaler\ type> (see \-vf scale option too)
+This option sets the quality (and speed, respectively) of the software scaler,
+with the \-zoom option.
+For example with x11 or other outputs which lack hardware acceleration.
+Possible settings are:
.br
-A ':' followed by a letter may be appended to the option to indicate its
-scope:
+.I NOTE:
+For \-sws\ 2 and 7, the sharpness can be set with the scaling parameter (p)
+of \-vf scale (0 (soft) \- 100 (sharp)), for \-sws 9, it specifies the filter
+length (1 \- 10).
+
.PD 0
.RSs
-.IPs a
-Automatically switches the filter off if the CPU is too slow.
-.IPs c
-Do chrominance filtering, too.
-.IPs y
-Do not do chrominance filtering (only luminance filtering).
+.IPs 0
+fast bilinear (default)
+.IPs 1
+bilinear
+.IPs 2
+bicubic (good quality)
+.IPs 3
+experimental
+.IPs 4
+nearest neighbour (bad quality)
+.IPs 5
+area
+.IPs 6
+luma bicubic / chroma bilinear
+.IPs 7
+gauss
+.IPs 8
+sincR
+.IPs 9
+lanczos
+.IPs 10
+bicubic spline
.RE
.PD 1
+.
+.TP
+.B \-vc <[-]codec1,[-]codec2,...[,]>
+Specify a priority list of video codecs to be used, according to their codec
+name in codecs.conf.
+Use a '-' before the codec name to omit it.
+.br
+.I NOTE:
+See \-vc help for a full list of available codecs.
+.br
+If the list has a trailing ',' it will fallback to codecs not listed.
-.RS
.I EXAMPLE:
-.RE
.PD 0
.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-horizontal and vertical deblocking, deringing and automatic
-brightness/\:contrast
-.IPs "\-vf pp=hb/vb/dr/al/lb"
-horizontal and vertical deblocking, deringing, automatic
-brightness/\:contrast and linear blend deinterlacer
-.IPs "\-vf pp=de/-al"
-default filters without brightness/\:contrast correction
-.IPs "\-vf pp=de/tn:1:2:3"
-Enable default filters & temporal denoiser.
-.IPs "\-vf pp=hb:y/vb:a \-autoq 6"
-Deblock horizontal only luminance and switch vertical deblocking on or
-off automatically depending on available CPU time.
+.IPs "\-vc divx"
+force Win32/\:VFW DivX codec, no fallback
+.IPs "\-vc divx4,"
+try divx4linux codec first, then fallback to others
+.IPs "\-vc -divxds,-divx,"
+try other codecs except Win32 DivX codecs
+.IPs "\-vc ffmpeg12,mpeg12,"
+try libavcodec's MPEG1/\:2 codec, then libmpeg2, then others
.RE
.PD 1
+.
.TP
-.B spp[=quality[:qp[:mode]]]
-simple postprocessing filter
-.RSs
-.IPs quality
-0\-6 (default: 3)
-.IPs qp\ \ \
-force quantization parameter (default: 0, use qp from video)
-.IPs mode\ \ \
-0: hard thresholding (default)
+.B \-vfm <driver1,driver2,...>
+Specify a priority list of video codecs to be used, according to their
+names in codecs.conf.
+It falls back to default if none is ok.
.br
-1: soft thresholding (better deringing, but blurrier)
+.I NOTE:
+If libdivxdecore support was compiled in, then odivx and divx4 now contains
+just the same DivX4 codec, but different APIs to reach it.
+For difference between them and when to use which, check the DivX4 section in
+the documentation.
+.br
+See \-vfm help for a full list of available drivers.
+
+.I EXAMPLE:
+.PD 0
+.RSs
+.IPs "\-vfm ffmpeg,dshow,vfw"
+try the libavcodec, then Directshow, then VFW codecs and fallback to the
+others, if still none is ok
+.IPs "\-vfm xanim"
+try XAnim codecs first
.RE
+.PD 1
+.
.TP
-.B qp=equation
-qp change filter
+.B \-x <x> (MPLAYER only)
+Scale image to x width (if sw/\:hw scaling available).
+Disables aspect calculations.
+.TP
+.B \-xvidopts <option1:option2:...>
+Specify additional parameters when decoding with XviD.
+.
+.PD 0
.RSs
-.IPs equation
-some equation like "2+2*sin(PI*qp)"
+.IPs deblock-chroma
+Activate XviD internal postprocessing filter: chroma deblock filter.
+See also \-vf pp, which is faster than XviD's own filter.
+.IPs deblock-luma
+Activate XviD internal postprocessing filter: luma deblock filter.
+See also \-vf pp, which is faster than XviD's own filter.
+.IPs dr2\ \
+Activate direct rendering method 2.
+.IPs nodr2
+Deactivate direct rendering method 2.
+.IPs filmeffect
+Activate XviD internal film grain effect.
+Adds artificial film grain to the video.
+May increase perceived quality, while lowering true quality.
+Also see \-vf noise.
.RE
+.PD 1
+.
.TP
-.B test\ \ \
-Generate various test patterns.
+.B \-xy <value>
+.PD 0
+.RSs
+.IPs value<=8
+Scale image by factor <value>.
+.IPs value>8
+Set width to value and calculate height to keep correct aspect ratio.
+.RE
+.PD 1
+.
.TP
-.B rgbtest
-Generate an RGB test pattern useful for detecting RGB vs BGR issues.
-You should see a red, green and blue stripe from top to bottom.
+.B \-y <y> (MPLAYER only)
+Scale image to y height (if sw/\:hw scaling available).
+Disables aspect calculations.
.TP
-.B lavc[=quality:fps]
-Fast software YV12 to MPEG1 conversion with libavcodec for use with DVB/\:DXR3.
-Faster and of better quality than \-vf fame.
-.RSs
-.IPs quality
-.RSss
-1\-31: fixed qscale
+.B \-zoom \
+Allow software scaling, where available.
+Could be used to force scaling with \-vf scale.
.br
-32\-: fixed bitrate in kBits
-.REss
-.IPs fps\ \
-force output fps (float value) (default: 0, autodetect based on height)
-.RE
+.I NOTE:
+\-vf scale will IGNORE options \-x / \-y / \-xy / \-fs / \-aspect without
+\-zoom.
+.
+.
+.SH "VIDEO FILTERS"
+Video filter are plugins that allow you to modify the video stream and its
+properties.
+The syntax is:
.TP
-.B fame\ \ \
-Fast software YV12 to MPEG1 conversion with libfame for use with DVB/\:DXR3.
+.B \-vf <filter1[=parameters],filter2,...>
+Setup a chain of video filters.
.TP
-.B dvbscale[=aspect]
-Set up optimal scaling for DVB cards, scaling the X axis in hardware and
-calculating the Y axis scaling in software to keep aspect.
-It's only useful together with expand+scale
-(\-vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc).
+.B \-vop <...,filter3[=parameters],filter2,filter1> (OBSOLETE)
+Setup a chain of video filters, to be applied in
+.B reverse
+order.
+Deprecated in favor of \-vf.
+.PP
+The parameters are optional and if omitted, some of them are set to default
+values.
+Use '-1' to keep the default value.
+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.
+.br
+.I NOTE:
+To get a full list of available filters, see \-vf help.
+
+Filters are managed in lists.
+There are a few commands to manage the filter list.
+.TP
+.B \-vf-add <filter1[,filter2,...]>
+Appends the filters given as arguments to the filter list.
+.TP
+.B \-vf-pre <filter1[,filter2,...]>
+Prepends the filters given as arguments to the filter list.
+.TP
+.B \-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).
+.TP
+.B \-vf-clr
+Completely empties the filter list.
+.PP
+With filters that support it, you can access parameters by their name.
+.TP
+.B \-vf <filter>=help
+Prints the parameter names and parameter value ranges for a particular
+filter.
+.TP
+.B \-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.
+.PP
+Available filters are:
+.
+.TP
+.B crop[=w:h:x:y]
+Crops the given part of the image and discards the rest.
+Useful to remove black bands from widescreen movies.
+.PD 0
.RSs
-.IPs aspect
-control aspect ratio, calculate as DVB_HEIGHT*ASPECTRATIO (default:
-576*4/3=768), set it to 576*(16/9)=1024 for a 16:9 TV.
+.IPs w,h
+Cropped width and height, defaults to original width and height.
+.IPs x,y
+Position of the cropped picture, defaults to center.
.RE
+.PD 1
.TP
-.B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
-Adds noise.
+.B cropdetect[=0\-255]
+Calculates necessary cropping parameters and prints the recommended parameters
+to stdout.
+The threshold can be optionally specified from nothing (0) to everything
+(255).
+(default: 24)
+.TP
+.B rectangle[=w:h:x:y]
+The plugin responds to the input.conf directive 'change_rectangle'
+that takes two parameters.
.PD 0
.RSs
-.IPs <0\-100>
-luma noise
-.IPs <0\-100>
-chroma noise
-.IPs u
-uniform noise (gaussian otherwise)
-.IPs t
-temporal noise (noise pattern changes between frames)
-.IPs a
-averaged temporal noise (smoother, but a lot slower)
-.IPs h
-high quality (slightly better looking, slightly slower)
-.IPs p
-mix random noise with a (semi)regular pattern
+.IPs w,h
+width and height (default: -1, maximum possible width where boundaries
+are still visible.
+.IPs x,y
+top left corner position (default: -1, uppermost leftmost)
.RE
.PD 1
-.
.TP
-.B denoise3d[=luma:chroma:time]
-This filter aims to reduce image noise producing smooth images and making still
-images really still (This should enhance compressibility.).
-It can be given from 0 to 3 parameters. If you omit a parameter, a reasonable
-value will be inferred.
+.B expand[=w:h:x:y:o]
+Expands (not scales) movie resolution to the given value and places the
+unscaled original at coordinates x, y.
+Can be used for placing subtitles/\:OSD in the resulting black bands.
+.RSs
+.IPs w,h
+expanded width,height (default: original width,height).
+Negative values for w and h are treated as offsets to the original size.
+
+.I EXAMPLE:
.PD 0
.RSs
-.IPs luma\
-spatial luma strength (default = 4)
-.IPs chroma
-spatial chroma strength (default = 3)
-.IPs time\
-temporal strength (default = 6)
+.IP expand=0:-50:0:0
+adds a 50 pixel border to the bottom of the picture
.RE
.PD 1
+.IPs x,y
+position of original image on the expanded image (default: center)
+.IPs o
+OSD/subtitle rendering
+.RSss
+0: disable (default)
+.br
+1: enable
+.REss
+.RE
.TP
-.B hqdn3d[=luma:chroma:time]
-High precision/\:quality version of the denoise3d filter.
-Parameters and usage are the same.
+.B flip\ \ \
+Flips the image upside down.
+See also option \-flip.
.TP
-.B eq[=bright:cont]
-Software equalizer with interactive controls just like the hardware
-equalizer, for cards/\:drivers that do not support brightness and
-contrast controls in hardware.
-Might also be useful with MEncoder, either for fixing poorly captured
-movies, or for slightly reducing contrast to mask artifacts and get by
-with lower bitrates.
-Initial values in the range -100\-100 may be given on the command line.
+.B mirror\
+Mirrors the image on the Y axis.
.TP
-.B eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
-Alternative software equalizer that uses lookup tables (very slow),
-allowing gamma correction in addition to simple brightness
-and contrast adjustment.
-Note that it uses the same MMX optimized code as \-vf eq if all
-gamma values are 1.0.
-The parameters are given as floating point values.
-Parameters rg, gg, bg are the independent gamma values for the Red, Green
-and Blue components.
-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.
-Defaults are gamma=1.0, contrast=1.0, brightness=0.0, saturation=1.0,
-weight=1.0.
-Value ranges are 0.1\-10 for gamma, -2\-2 for contrast (negative values result
-in a negative image), -1\-1 for brightness, 0\-3 for saturation and 0\-1 for
-weight.
-.TP
-.B hue[=hue:saturation]
-Defaults are hue=0.0, saturation=1.0.
-Value ranges are -180\-180 for hue, -2\-2 for saturation (negative values result
-in a negative chroma).
-.TP
-.B halfpack[=f]
-Convert planar YUV 4:2:0 to half-height packed 4:2:2, downsampling luma but
-keeping all chroma samples.
-Useful for output to low-resolution display devices when hardware downscaling
-is poor quality or is not available.
-Can also be used as a primitive luma-only deinterlacer with very low cpu
-usage.
-By default, halfpack averages pairs of lines when downsampling.
-The optional parameter f can be 0 to only use even lines, or 1 to only use
-odd lines.
-Any other value for f gives the default (averaging) behavior.
-.TP
-.B 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.
-The optional argument selects the sampling mode.
-By default, linear interpolation (mode 1) is used.
-Mode 0 uses nearest-neighbor sampling, which is fast but incorrect.
+.B rotate[=<0\-7>]
+Rotates and flips (optional) the image +/\:- 90 degrees.
+For parameters between 4\-7 rotation is only done if the movie's geometry is
+portrait and not landscape.
.TP
-.B harddup
-Only useful with MEncoder.
-If harddup is used when encoding, it will force duplicate frames to be
-encoded in the output.
-This uses slightly more space, but is necessary for output to MPEG
-files or if you plan to demux and remux the video stream after
-encoding.
-Should be placed at or near the end of the filter chain unless you
-have a good reason to do otherwise.
+.B scale[=w:h[:interlaced[:chr_drop[:param[:presize]]]]]
+Scales the image with the software scaler (slow) and performs a YUV<\->RGB
+colorspace conversion (also see \-sws option).
+.RSs
+.IPs w,h\ \
+scaled width/height (default: original width/height)
+.br
+.I NOTE:
+If \-zoom is used, and underlying filters (including libvo) are
+incapable of scaling, it defaults to d_width/\:d_height!
+.RSss
+ 0: scaled d_width/\:d_height
+.br
+-1: original width/\:height
+.br
+-2: Calculate w/\:h using the other dimension and the prescaled aspect ratio.
+.br
+-3: Calculate w/\:h using the other dimension and the original aspect ratio.
+.REss
+.IPs interlaced
+Toggle interlaced scaling.
+.IPs chr_drop
+chroma skipping
+.RSss
+0: use all available input lines for chroma
+.br
+1: use only every 2. input line for chroma
+.br
+2: use only every 4. input line for chroma
+.br
+3: use only every 8. input line for chroma
+.REss
+.IPs param
+scaling parameter (depends upon the scaling method used)
+.RSss
+\-sws 2 (bicubic): sharpness (0 (soft) \- 100 (sharp))
+.br
+\-sws 7 (gaussian): sharpness (0 (soft) \- 100 (sharp))
+.br
+\-sws 9 (lanczos): filter length (1\-10)
+.REss
+.IPs presize
+Scale to preset sizes.
+.RSss
+qntsc: 352x240 (NTSC quarter screen)
+.br
+qpal: 352x288 (PAL quarter screen)
+.br
+ntsc: 720x480 (standard NTSC)
+.br
+pal: 720x576 (standard PAL)
+.br
+sntsc: 640x480 (square pixel NTSC)
+.br
+spal: 768x576 (square pixel PAL)
+.REss
+.RE
.TP
-.B softskip
-Only useful with MEncoder.
-Softskip moves the frame skipping (dropping) step of encoding from
-before the filter chain to some point during the filter chain.
-This allows filters which need to see all frames (inverse telecine,
-temporal denoising, etc.) to function properly.
-Should be placed after the filters which need to see all frames and
-before any subsequent filters that are CPU-intensive.
+.B dsize={aspect|w:h}
+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.
.TP
-.B decimate[=max:hi:lo:frac]
-Drops frames that don't differ greatly from the previous frame in
-order to reduce framerate.
-The argument max (if positive) sets the maximum number of consecutive
-frames which can be dropped, or (if negative) the minimum interval
-between dropped frames.
-A frame is a candidate for dropping if no 8x8 region differs by more
-than a threshold of hi, and if not more than frac portion (1 meaning
-the whole image) differs by more than a threshold of lo.
-Values of hi and lo are for 8x8 pixel blocks and represent actual
-pixel value differences, so a threshold of 64 corresponds to 1 unit of
-difference for each pixel, or the same spread out differently over the
-block.
-The main use of this filter is for very-low-bitrate encoding (e.g.\&
-streaming over dialup modem), but it could in theory be used for
-fixing movies that were inverse-telecined incorrectly.
+.B yuy2\ \ \
+Forces software YV12/\:I420 or 422P to YUY2 conversion.
+Useful for video cards/\:drivers with slow YV12 but fast YUY2 support.
.TP
-.B dint[=sense:level]
-Detects and drops first of interlaced frames in video stream.
-Values can be from 0.0 to 1.0 \- first (default 0.1) is relative difference
-between neighbor pixels, second (default 0.15) is what part of image have to
-be detected as interlaced to drop the frame.
+.B yvu9\ \ \
+Forces software YVU9 to YV12 colorspace conversion.
+Deprecated in favor of the software scaler.
.TP
-.B lavcdeint
-Use libavcodec's deinterlace filter.
+.B yuvcsp\
+Clamps YUV color values to the CCIR 601 range without doing real conversion.
.TP
-.B kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
-Donald Graft's adaptive kernel deinterlacer.
-Deinterlaces parts of a video if a configurable threshold is exceeded.
+.B rgb2bgr[=swap]
+RGB 24/\:32 <\-> BGR 24/\:32 colorspace conversion.
.PD 0
.RSs
-.IPs "thresh (0 - 255)"
-Threshold (default 10).
-.IPs "map (0 or 1)"
-Paint pixels which exceed the threshold white (default: 0).
-.IPs "order (0 or 1)"
-Swap fields if 1 (default: 0).
-.IPs "sharp (0 or 1)"
-Enable additional sharpening (default: 0).
-.IPs "twoway (0 or 1)"
-Enable twoway sharpening (default: 0).
+.IPs swap\
+Also perform R <\-> B swapping.
.RE
.PD 1
.TP
-.B unsharp=l|cWxH:amount[:l|cWxH:amount]
-Unsharp mask / gaussian blur.
+.B palette
+RGB/\:BGR 8 \-> 15/\:16/\:24/\:32bpp colorspace conversion using palette.
+.TP
+.B format[=fourcc]
+Restricts the colorspace for the next filter without doing any conversion.
+Use together with the scale filter for a real conversion.
+For a list of available formats see format=fmt=help.
+.PD 0
.RSs
-.IPs l
-Apply effect on luma component.
-.IPs c
-Apply effect on chroma components.
-.IPs WxH
-width and height of the matrix, odd sized in both directions
-(min = 3x3, max = 13x11 or 11x13, usually something between 3x3 and 7x7)
-.IPs amount
-Relative amount of sharpness/\:blur to add to the image
-(a sane range should be -1.5\-1.5).
-.RSss
-<0: blur
-.br
->0: sharpen
-.REss
+.IPs fourcc
+format name like rgb15, bgr24, yv12, etc (default: yuy2)
.RE
+.PD 1
.TP
-.B swapuv\
-Swap U & V plane.
-.TP
-.B il=[d|i][s][:[d|i][s]]
-(de)interleaves lines.
-The goal of this filter is to add the ability to process interlaced images
-pre-field without deinterlacing them.
-You can filter your interlaced DVD and play it on a TV without breaking the
-interlacing.
-While deinterlacing (with the postprocessing filter) removes interlacing
-permanently (by smoothing, averaging, etc) deinterleaving splits the frame into
-2 fields (so called half pictures), so you can process (filter) them
-independently and then re-interleave them.
+.B noformat[=fourcc]
+Restricts the colorspace for the next filter without doing any conversion.
+Unlike the format filter, this will allow any colorspace
+.B except
+the one you specify.
+For a list of available formats see noformat=fmt=help.
.PD 0
.RSs
-.IPs d
-deinterleave (placing one above the other)
-.IPs i
-interleave
-.IPs s
-swap fields (exchange even & odd lines)
+.IPs fourcc
+format name like rgb15, bgr24, yv12, etc (default: yv12)
.RE
.PD 1
.TP
-.B fil=[i|d]
-(de)interleaves lines.
-This filter is very similar to the il filter but much faster, the main
-disadvantage is that it doesn't always work.
-Especially if combined with other filters it may produce randomly messed
-up images, so be happy if it works but don't complain if it doesn't for
-your combination of filters.
+.B pp[=filter1[:option1[:option2...]]/[-]filter2...] (see \-pphelp too)
+This option enables usage of MPlayer's internal postprocessing filter,
+and also gives an interface where you can pass options to the named filter.
+To get a list of available filters, use \-pphelp.
+Note that each sub-filter must be separated with a / sign.
+.br
+Each filter defaults to 'c' (chrominance).
+.br
+The keywords accept a '-' prefix to disable the option.
+.br
+A ':' followed by a letter may be appended to the option to indicate its
+scope:
.PD 0
.RSs
-.IPs d
-Deinterleave fields, placing them side by side.
-.IPs i
-Interleave fields again (reversing the effect of fil=d).
+.IPs a
+Automatically switches the filter off if the CPU is too slow.
+.IPs c
+Do chrominance filtering, too.
+.IPs y
+Do not do chrominance filtering (only luminance filtering).
.RE
.PD 1
-.TP
-.B field[=n]
-Extracts a single field from an interlaced image using stride arithmetic
-to avoid wasting CPU time.
-The optional argument n specifies whether to extract the even or the odd
-field (depending on whether n is even or odd).
-.TP
-.B detc[=var1=value2:var2=value2:...]
-Attempts to reverse the 'telecine' process to recover a clean,
-non-interlaced stream at film framerate.
-This was the first and most primitive inverse telecine filter to be
-added to MPlayer/MEncoder.
-It works by latching onto the telecine 3:2 pattern and following it as
-long as possible.
-This makes it suitable for perfectly-telecined material, even in the
-presence of a fair degree of noise, but it will fail in the presence
-of complex post-telecine edits.
-Development on this filter is no longer taking place, as ivtc, pullup,
-and filmdint are better for most applications.
-The following arguments (see syntax above) may be used to control
-detc's behavior:
-.RSs
-.IPs dr
-Set the frame dropping mode.
-0 (default) means don't drop frames to maintain fixed output framerate.
-1 means always drop a frame when there have been no drops or telecine
-merges in the past 5 frames.
-2 means always maintain exact 5:4 input to output frame ratio.
-.I NOTE:
-Use mode 1 or 2 with MEncoder.
-.IPs am
-Analysis mode.
-Available values are 0 (fixed pattern with initial frame number
-specified by fr=#) and 1 (agressive search for telecine pattern).
-Default is 1.
-.IPs fr
-Set initial frame number in sequence.
-0\-2 are the three clean progressive frames; 3 and 4 are the two
-interlaced frames.
-The default, -1, means 'not in telecine sequence'.
-The number specified here is the type for the imaginary previous
-frame before the movie starts.
-.IPs "tr0, tr1, tr2, tr3"
-Threshold values to be used in certain modes.
-.RE
-.TP
-.B ivtc[=1]
-Experimental 'stateless' inverse telecine filter.
-Rather than trying to lock on to a pattern like the detc filter does,
-ivtc makes its decisions independently for each frame.
-This will give much better results for material that has undergone
-heavy editing after telecine was applied, but as a result it is not as
-forgiving of noisy input, for example TV capture.
-The optional parameter (ivtc=1) corresponds to the dr=1 option for the
-detc filter, and should be used with MEncoder but not with MPlayer.
-As with detc, you must specify the correct output framerate (\-ofps
-23.976) when using MEncoder.
-Further development on ivtc has stopped, as the pullup and filmdint
-filters appear to be much more accurate.
-.TP
-.B pullup[=jl:jr:jt:jb:sb]\
-Third-generation pulldown reversal (inverse telecine) filter,
-capable of handling mixed hard-telecine, 24 fps progressive, and 30
-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.
-The jl, jr, jt, and jb 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.
-Setting the sb (strict breaks) 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.
-.I NOTE:
-Always follow pullup with the softskip filter when encoding to ensure
-that pullup is able to see each frame. Failure to do so will lead to
-incorrect output and will usually crash, due to design limitations in
-the codec/filter layer.
-.TP
-.B filmdint[=options]
-Inverse telecine filter, similar to the pullup filter above.
-It is designed to handle any pulldown pattern, including mixed soft and
-hard telecine and limited support for movies that are slowed down or sped
-up from their original framerate for TV.
-Only the luma plane is used to find the frame breaks.
-If a field has no match, it is deinterlaced with simple linear
-approximation.
-If the source is MPEG-2, and this must be the first filter to allow
-access to the field-flags set by the MPEG-2 decoder.
-Depending on the source mpeg, you may be fine ignoring this advice, as
-long as you do not see lots of "Bottom-first field" warnings.
-With no options it does normal inverse telecine, and should be used
-together with mencoder \-fps 29.97 \-ofps 23.976.
-When this filter is used with mplayer, it will result in an uneven
-framerate during playback, but it is still generally better than using
-pp=lb or no deinterlacing at all.
-Multiple options can be specified separated by /.
-.RSs
-.IPs crop=w:h:x:y
-Just like the crop filter, but faster, and works on mixed hard and soft
-telecined content as well as when y is not a multiple of 4.
-If x or y would require cropping fractional pixels from the chroma
-planes, the crop area is extended.
-This usually means that x and y must be even.
-.IPs io=ifps:ofps
-For each ifps input frames the filter will output ofps frames.
-The ratio of ifps/ofps should match the \-fps/\-ofps ratio.
-This could be used to filter movies that are broadcast on TV at a frame
-rate different from their original frame rate.
-.IPs luma_only=n
-If n is nonzero, the chroma plane is copied unchanged.
-This is useful for YV12 sampled TV, which discards one of the chroma
-fields.
-.IPs mmx2=n
-On x86, if n=1, use MMX2 optimized functions, if n=2, use 3DNow!
-optimized functions, othewise, use plain C.
-If this option is not specified, MMX2 and 3DNow! are auto-detected, use
-this option to override auto-detection.
-.IPs fast=n
-The larger n will speed up the filter at the expense of accuracy.
-The default value is n=3.
-If n is odd, a frame immediately following a frame marked with the
-REPEAT_FIRST_FIELD mpeg flag is assumed to be progressive, thus filter
-will not spend any time on soft-telecined MPEG-2 content.
-This is the only effect of this flag if MMX2 or 3DNow! is available.
-Without MMX2 and 3DNow, if n=0 or 1, the same calculations will be used
-as with n=2 or 3.
-If n=2 or 3, the number of luma levels used to find the frame breaks is
-reduced from 256 to 128, which results in a faster filter without losing
-much accuracy.
-If n=4 or 5, a faster, but much less accurate metric will be used to
-find the frame breaks, which is more likely to misdetect high vertical
-detail as interlaced content.
-.IPs verbose=n
-If n is nonzero, print the detailed metrics for each frame.
-Useful for debugging.
-.IPs dint_thres=n
-Deinterlace threshold.
-Used during de-interlacing of unmatched frames.
-Larger value means less deinterlacing, use n=256 to completely turn off
-deinterlacing.
-Default is n=8.
-.IPs comb_thres=n
-Threshold for comparing a top and bottom fields.
-Defaults to 128.
-.IPs diff_thres=n
-Threshold to detect temporal change of a field.
-Default is 128.
-.IPs sad_thres=n
-Sum of Absolute Difference threshold, default is 64.
-.RE
-.TP
-.B softpulldown
-This filter works only correct with MEncoder and acts on the MPEG2 flags
-used for soft 3:2 pulldown (soft telecine).
-If you want to use the ivtc or detc filter on movies that are partly soft
-telecined, inserting this filter before them should make them more reliable.
-Currently only libmpeg2 exports the needed flags.
-If used on material that does not set them, the filter does nothing.
-.TP
-.B 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 frame rate.
-When using this filter, you must specify \-ofps that is 4/5 of the fps of the
-input file (23.976 if the input is 29.97fps).
-The options are:
-.RSs
-.IPs pass=1|2
-Use two-pass mode.
-This produces best results.
-Pass 1 analyzes the video and writes the results to a log file.
-Pass 2 then reads this log file and uses the information to do the actual work.
-Note that these passes do NOT correspond to pass 1 and 2 of the encoding
-process.
-In order to use divtc two-pass with two-pass video encoding, you must perform
-three passes: first divtc pass 1 and encoder pass 1, then divtc pass 2 and
-encoder pass 1, and finally divtc pass 2 and encoder pass 2.
-.IPs file=filename
-Set the 2-pass log file name (default: "framediff.log").
-.IPs 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.
-.IPs 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.
-.IPs 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.
-.IPs 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.
-.RE
-.TP
-.B 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:
-.RSs
-.IPs t
-Capture field order top-first, transfer bottom-first.
-Filter will delay the bottom field.
-.IPs b
-Capture bottom-first, transfer top-first.
-Filter will delay the top field.
-.IPs 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 ;-)
-.IPs 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.
-.IPs 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.
-.IPs T
-Capture top-first, transfer unknown or varying.
-Filter selects among t and p using image analysis.
-.IPs B
-Capture bottom-first, transfer unknown or varying.
-Filter selects among b and p using image analysis.
-.IPs 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.
-.IPs U
-Both capture and transfer unknown or varying.
-Filter selects among t, b and p using image analysis only.
-.IPs v
-Verbose operation.
-Prints the selected mode for each frame and the average squared difference
-between fields for t, b, and p alternatives.
-.RE
-.TP
-.B telecine[=start]
-Apply 3:2 'telecine' process to increase framerate by 20%.
-This most likely will not work correctly with MPlayer, but it can
-be used with 'mencoder \-fps 29.97 \-ofps 29.97 \-vf telecine'.
-Both fps options are essential!
-(A/V sync will break if they are wrong.)
-The optional start parameter tells the filter where in the telecine
-pattern to start (0\-3).
-.TP
-.B tinterlace[=mode]
-Temporal field interlacing \- merge pairs of frames into an interlaced
-frame, halving the framerate. Even frames are moved into the upper
-field, odd frames to the lower field. This can be used to fully reverse
-the effect of the tfields filter (in mode 0). Available modes are:
+
+.RS
+.I EXAMPLE:
+.RE
.PD 0
.RSs
-.IPs 0
-odd frames into upper field, even to lower, generating a full-height
-frame at half the framerate
-.IPs 1
-only output odd frames, even frames are dropped, height unchanged
-.IPs 2
-only output even frames, odd frames are dropped, height unchanged
-.IPs 3
-expand each frame to full height, but pad alternate lines with black,
-framerate unchanged
+.IPs "\-vf pp=hb/vb/dr/al"
+horizontal and vertical deblocking, deringing and automatic
+brightness/\:contrast
+.IPs "\-vf pp=hb/vb/dr/al/lb"
+horizontal and vertical deblocking, deringing, automatic
+brightness/\:contrast and linear blend deinterlacer
+.IPs "\-vf pp=de/-al"
+default filters without brightness/\:contrast correction
+.IPs "\-vf pp=de/tn:1:2:3"
+Enable default filters & temporal denoiser.
+.IPs "\-vf pp=hb:y/vb:a \-autoq 6"
+Deblock horizontal only luminance and switch vertical deblocking on or
+off automatically depending on available CPU time.
.RE
.PD 1
.TP
-.B tfields[=mode]
-Temporal field separation \- split fields into frames, doubling the
-output framerate.
-Like the telecine filter, tfields will only work properly with
-MEncoder, and only if both \-fps and \-ofps are set to the
-desired (double) framerate!
-Available modes are:
-.PD 0
+.B spp[=quality[:qp[:mode]]]
+simple postprocessing filter
.RSs
-.IPs 0
-leave fields unchanged (this will jump/flicker)
-.IPs 1
-interpolate missing lines (the algorithm used might not be so good)
-.IPs 2
-translate fields by 1/4 pixel with linear interp (no jump)
-.IPs 4
-translate fields by 1/4 pixel with 4tap filter (higher quality)
+.IPs quality
+0\-6 (default: 3)
+.IPs qp\ \ \
+force quantization parameter (default: 0, use qp from video)
+.IPs mode\ \ \
+0: hard thresholding (default)
+.br
+1: soft thresholding (better deringing, but blurrier)
.RE
-.PD 1
.TP
-.B boxblur=radius:power[:radius:power]
-box blur
-.PD 0
+.B qp=equation
+qp change filter
.RSs
-.IPs radius
-size of the filter
-.IPs power
-How often the filter should be applied.
+.IPs equation
+some equation like "2+2*sin(PI*qp)"
.RE
-.PD 1
.TP
-.B sab=rad:pf:colorDiff[:rad:pf:colorDiff]
-shape adaptive blur
-.PD 0
+.B test\ \ \
+Generate various test patterns.
+.TP
+.B rgbtest
+Generate an RGB test pattern useful for detecting RGB vs BGR issues.
+You should see a red, green and blue stripe from top to bottom.
+.TP
+.B lavc[=quality:fps]
+Fast software YV12 to MPEG1 conversion with libavcodec for use with DVB/\:DXR3.
+Faster and of better quality than \-vf fame.
.RSs
-.IPs rad\ \ \
-blur filter strength (~0.1\-4.0) (slower if larger)
-.IPs pf\ \ \
-prefilter strength (~0.1\-2.0)
-.IPs colorDiff
-How different the pixels are allowed to be considered.
-(~0.1\-100.0)
+.IPs quality
+.RSss
+1\-31: fixed qscale
+.br
+32\-: fixed bitrate in kBits
+.REss
+.IPs fps\ \
+force output fps (float value) (default: 0, autodetect based on height)
.RE
-.PD 1
.TP
-.B smartblur=rad:strength:thresh[:rad:strength:thresh]
-smart blur
+.B fame\ \ \
+Fast software YV12 to MPEG1 conversion with libfame for use with DVB/\:DXR3.
+.TP
+.B dvbscale[=aspect]
+Set up optimal scaling for DVB cards, scaling the X axis in hardware and
+calculating the Y axis scaling in software to keep aspect.
+It's only useful together with expand+scale
+(\-vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc).
+.RSs
+.IPs aspect
+control aspect ratio, calculate as DVB_HEIGHT*ASPECTRATIO (default:
+576*4/3=768), set it to 576*(16/9)=1024 for a 16:9 TV.
+.RE
+.TP
+.B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
+Adds noise.
.PD 0
.RSs
-.IPs rad\ \
-blur filter strength (~0.1\-5.0) (slower if larger)
-.IPs strength
-blur (0.0\-1.0) or sharpen (-1.0\-0.0)
-.IPs thresh
-filter all (0), filter flat areas (0\-30) or filter edges (-30\-0)
+.IPs <0\-100>
+luma noise
+.IPs <0\-100>
+chroma noise
+.IPs u
+uniform noise (gaussian otherwise)
+.IPs t
+temporal noise (noise pattern changes between frames)
+.IPs a
+averaged temporal noise (smoother, but a lot slower)
+.IPs h
+high quality (slightly better looking, slightly slower)
+.IPs p
+mix random noise with a (semi)regular pattern
.RE
.PD 1
+.
.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-perspective correction
+.B denoise3d[=luma:chroma:time]
+This filter aims to reduce image noise producing smooth images and making still
+images really still (This should enhance compressibility.).
+It can be given from 0 to 3 parameters. If you omit a parameter, a reasonable
+value will be inferred.
.PD 0
.RSs
-.IPs x0,y0,...
-coordinates of the top left, top right, bottom left, bottom right corners
-.IPs t\ \ \ \
-linear (0) or cubic resampling (1)
+.IPs luma\
+spatial luma strength (default = 4)
+.IPs chroma
+spatial chroma strength (default = 3)
+.IPs time\
+temporal strength (default = 6)
.RE
.PD 1
.TP
-.B 2xsai\ \
-Use the 2x scale and interpolate algorithm for scaling and smoothing images.
+.B hqdn3d[=luma:chroma:time]
+High precision/\:quality version of the denoise3d filter.
+Parameters and usage are the same.
+.TP
+.B eq[=bright:cont]
+Software equalizer with interactive controls just like the hardware
+equalizer, for cards/\:drivers that do not support brightness and
+contrast controls in hardware.
+Might also be useful with MEncoder, either for fixing poorly captured
+movies, or for slightly reducing contrast to mask artifacts and get by
+with lower bitrates.
+Initial values in the range -100\-100 may be given on the command line.
+.TP
+.B eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
+Alternative software equalizer that uses lookup tables (very slow),
+allowing gamma correction in addition to simple brightness
+and contrast adjustment.
+Note that it uses the same MMX optimized code as \-vf eq if all
+gamma values are 1.0.
+The parameters are given as floating point values.
+Parameters rg, gg, bg are the independent gamma values for the Red, Green
+and Blue components.
+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.
+Defaults are gamma=1.0, contrast=1.0, brightness=0.0, saturation=1.0,
+weight=1.0.
+Value ranges are 0.1\-10 for gamma, -2\-2 for contrast (negative values result
+in a negative image), -1\-1 for brightness, 0\-3 for saturation and 0\-1 for
+weight.
+.TP
+.B hue[=hue:saturation]
+Defaults are hue=0.0, saturation=1.0.
+Value ranges are -180\-180 for hue, -2\-2 for saturation (negative values result
+in a negative chroma).
+.TP
+.B halfpack[=f]
+Convert planar YUV 4:2:0 to half-height packed 4:2:2, downsampling luma but
+keeping all chroma samples.
+Useful for output to low-resolution display devices when hardware downscaling
+is poor quality or is not available.
+Can also be used as a primitive luma-only deinterlacer with very low cpu
+usage.
+By default, halfpack averages pairs of lines when downsampling.
+The optional parameter f can be 0 to only use even lines, or 1 to only use
+odd lines.
+Any other value for f gives the default (averaging) behavior.
+.TP
+.B 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.
+The optional argument selects the sampling mode.
+By default, linear interpolation (mode 1) is used.
+Mode 0 uses nearest-neighbor sampling, which is fast but incorrect.
+.TP
+.B harddup
+Only useful with MEncoder.
+If harddup is used when encoding, it will force duplicate frames to be
+encoded in the output.
+This uses slightly more space, but is necessary for output to MPEG
+files or if you plan to demux and remux the video stream after
+encoding.
+Should be placed at or near the end of the filter chain unless you
+have a good reason to do otherwise.
+.TP
+.B softskip
+Only useful with MEncoder.
+Softskip moves the frame skipping (dropping) step of encoding from
+before the filter chain to some point during the filter chain.
+This allows filters which need to see all frames (inverse telecine,
+temporal denoising, etc.) to function properly.
+Should be placed after the filters which need to see all frames and
+before any subsequent filters that are CPU-intensive.
+.TP
+.B decimate[=max:hi:lo:frac]
+Drops frames that don't differ greatly from the previous frame in
+order to reduce framerate.
+The argument max (if positive) sets the maximum number of consecutive
+frames which can be dropped, or (if negative) the minimum interval
+between dropped frames.
+A frame is a candidate for dropping if no 8x8 region differs by more
+than a threshold of hi, and if not more than frac portion (1 meaning
+the whole image) differs by more than a threshold of lo.
+Values of hi and lo are for 8x8 pixel blocks and represent actual
+pixel value differences, so a threshold of 64 corresponds to 1 unit of
+difference for each pixel, or the same spread out differently over the
+block.
+The main use of this filter is for very-low-bitrate encoding (e.g.\&
+streaming over dialup modem), but it could in theory be used for
+fixing movies that were inverse-telecined incorrectly.
+.TP
+.B dint[=sense:level]
+Detects and drops first of interlaced frames in video stream.
+Values can be from 0.0 to 1.0 \- first (default 0.1) is relative difference
+between neighbor pixels, second (default 0.15) is what part of image have to
+be detected as interlaced to drop the frame.
.TP
-.B 1bpp\ \ \
-1bpp bitmap to YUV/BGR 8/15/16/32 conversion
+.B lavcdeint
+Use libavcodec's deinterlace filter.
.TP
-.B down3dright[=lines]
-Reposition and resize stereoscopic images.
-Extracts both stereo fields and places them side by side, resizing
-them to maintain the original movie aspect.
+.B kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
+Donald Graft's adaptive kernel deinterlacer.
+Deinterlaces parts of a video if a configurable threshold is exceeded.
.PD 0
.RSs
-.IPs lines
-number of lines to select from the middle of the image (default: 12)
+.IPs "thresh (0 - 255)"
+Threshold (default 10).
+.IPs "map (0 or 1)"
+Paint pixels which exceed the threshold white (default: 0).
+.IPs "order (0 or 1)"
+Swap fields if 1 (default: 0).
+.IPs "sharp (0 or 1)"
+Enable additional sharpening (default: 0).
+.IPs "twoway (0 or 1)"
+Enable twoway sharpening (default: 0).
.RE
.PD 1
.TP
-.B bmovl=hidden:opaque:<fifo>
-Read bitmaps from a FIFO and display them in a window.
-.
-.PD 0
-.RSs
-.IPs hidden
-sets the default value of the 'hidden' flag (boolean)
-.IPs opaque
-flag switching between alphablended (transparent) and opaque (fast) mode
-.IPs fifo\
-path/filename for the FIFO (named pipe connecting mplayer \-vf bmovl to the
-controlling application)
-.RE
-.PD 1
-
-.RS
-FIFO commands are:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 width height xpos ypos alpha clear"
-followed by width*height*4 Bytes of raw RGBA32 data.
-.IPs "ABGR32 width height xpos ypos alpha clear"
-followed by width*height*4 Bytes of raw ABGR32 data.
-.IPs "RGB24 width height xpos ypos alpha clear"
-followed by width*height*3 Bytes of raw RGB32 data.
-.IPs "BGR24 width height xpos ypos alpha clear"
-followed by width*height*3 Bytes of raw BGR32 data.
-.IPs "ALPHA width height xpos ypos alpha"
-change alpha for area
-.IPs "CLEAR width height xpos ypos"
-clear area
-.IPs OPAQUE
-disable all alpha transparency.
-Send "ALPHA 0 0 0 0 0" to enable it again.
-.IPs HIDE\
-hide bitmap
-.IPs SHOW\
-show bitmap
-.RE
-.PD 1
-
-.RS
-Arguments are:
-.RE
-.PD 0
+.B unsharp=l|cWxH:amount[:l|cWxH:amount]
+Unsharp mask / gaussian blur.
.RSs
-.IPs "width, height"
-size of image/area
-.IPs "xpos, ypos"
-start blitting at X/Y position
-.IPs alpha
-set alpha difference.
-If you set this to -255 you can then send a sequence of ALPHA-commands to set
-the area to -225, -200, -175 etc for a nice fade-in-effect! ;)
-.RSss
-0: same as original
-.br
-255: makes everything opaque
-.br
--255: makes everything transparent
-.REss
-.IPs clear
-clear the framebuffer before blitting.
+.IPs l
+Apply effect on luma component.
+.IPs c
+Apply effect on chroma components.
+.IPs WxH
+width and height of the matrix, odd sized in both directions
+(min = 3x3, max = 13x11 or 11x13, usually something between 3x3 and 7x7)
+.IPs amount
+Relative amount of sharpness/\:blur to add to the image
+(a sane range should be -1.5\-1.5).
.RSss
-0: The image will just be blitted on top of the old one, so you don't need to
-send 1,8MB of RGBA32 data everytime a small part of the screen is updated.
+<0: blur
.br
-1: clear
+>0: sharpen
.REss
.RE
-.PD 1
-.TP
-.B framestep=I|[i]step
-Renders only every nth frame or every Intra (key) frame.
-
-If you call the filter with I (uppercase) as the parameter, then ONLY
-keyframes are rendered.
-For DVDs it generally means one in every 15/12 frames (IBBPBBPBBPBBPBB),
-for AVI it means every scene change or every keyint value (see \-lavcopts
-keyint= value if you use MEncoder to encode the video).
-
-When a key frame is found, an 'I!' string followed by a newline character is
-printed, leaving the current line of mplayer/mencoder output on the screen,
-because it contains the time (in seconds) and frame number of the keyframe
-(You can use this information to split the AVI.).
-
-If you call the filter with a numeric parameter 'step' then only one in
-every 'step' frames is rendered.
-
-If you put an 'i' (lowercase) before the number then an I! is printed
-(like the I parameter).
-
-If you give only the i then nothing is done to the frames, only I! is
-printed.
-.TP
-.B tile=xtile:ytile:output:start:delta
-Tile a series of images into a single, bigger image.
-If you omit a parameter or use a value less than 0, then the default
-value is used. You can also stop when you're OK (... \-vf tile=10:5 ...)
-.
-It is probably a good idea to put the scale filter before the tile :-)
-.br
-The parameters are:
-
-.PD 0
-.RSs
-.IPs xtile
-number of tiles on the x axis (default: 5)
-.IPs ytile
-number of tiles on the y axis (default: 5)
-.IPs output
-Render the tile when 'output' number of frames are reached, where 'output'
-should be a number less than xtile * ytile.
-Missing tiles are left blank.
-You could, for example, write an 8 * 7 tile every 50 frames to have one
-image every 2 seconds @ 25 fps.
-.IPs start
-pixel at the start (x/y) (default: 2)
-.IPs delta
-pixel between 2 tiles, (x/y) (default: 4)
-.RE
-.PD 1
-.TP
-.B delogo[=x:y:w:h:t]
-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).
-.PD 0
-.RSs
-.IPs x,y
-Position of the top left corner of the logo.
-.IPs w,h
-Width and height of the cleared rectangle.
-.IPs 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.
-.RE
-.PD 1
.TP
-.B zrmjpeg[=options]
-Software YV12 to MJPEG encoder for use with the zr2 video
-output device.
-.RSs
-.IPs maxheight=h|maxwidth=w
-These options set the maximum width and height the zr card
-can handle (the MPlayer filter layer currently cannot query those).
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-Use these options to set maxwidth and maxheight automatically to the
-values known for card/mode combo.
-For example, valid options are: dc10-PAL and buz-NTSC (default: dc10+PAL)
-.IPs color|bw
-Select color or black and white encoding.
-Black and white encoding is faster.
-Color is the default.
-.IPs hdec={1,2,4}
-Horizontal decimation 1, 2 or 4.
-.IPs vdec={1,2,4}
-Vertical decimation 1, 2 or 4.
-.IPs quality=1-20
-Set JPEG compression quality [BEST] 1 - 20 [VERY BAD].
-.IPs fd|nofd
-By default, decimation is only performed if the Zoran hardware
-can upscale the resulting MJPEG images to the original size.
-The option fd instructs the filter to always perform the requested
-decimation (ugly).
-.RE
-.
-.
-.SH "VIDEO OUTPUT DRIVERS (MPLAYER ONLY)"
-Video output drivers are interfaces to different output facilities.
-The syntax is:
+.B swapuv\
+Swap U & V plane.
.TP
-.B \-vo <driver1[:suboption1[=value]:...],driver2,...[,]>
-Specify a priority list of video output drivers to be used.
-.PP
-If the list has a trailing ',' it will fall back to drivers not listed on the
-command line.
-Suboptions are optional and can mostly be omitted.
-.br
-.I NOTE:
-See \-vo help for a list of compiled-in drivers.
-
-.I EXAMPLE:
+.B il=[d|i][s][:[d|i][s]]
+(de)interleaves lines.
+The goal of this filter is to add the ability to process interlaced images
+pre-field without deinterlacing them.
+You can filter your interlaced DVD and play it on a TV without breaking the
+interlacing.
+While deinterlacing (with the postprocessing filter) removes interlacing
+permanently (by smoothing, averaging, etc) deinterleaving splits the frame into
+2 fields (so called half pictures), so you can process (filter) them
+independently and then re-interleave them.
.PD 0
.RSs
-.IPs "\-vo xmga,xv,"
-Try the Matrox X11 driver, then the Xv driver, then others.
-.br
-.IPs "\-vo directx:noaccel"
-Uses the DirectX driver with acceleration features turned off.
+.IPs d
+deinterleave (placing one above the other)
+.IPs i
+interleave
+.IPs s
+swap fields (exchange even & odd lines)
.RE
.PD 1
-.
-
-FIXME: Document suboptions for x11, xover, dga, sdl, vidix, xvidix, fbdev,
-fbdev2, vesa, svga, null, aa, bl, ggi, mga, xmga, syncfb, 3dfx, tdfx_vid,
-dxr2, dxr3, mpegpes, zr, zr2, md5, yuv4mpeg, gif89a, jpeg, pgm, png, tga.
-
-Available video output drivers are:
-.
-.TP
-.B xv (X11 only)
-Uses the XVideo extension of XFree86 4.x to enable hardware
-accelerated playback.
-If you cannot use a hardware specific driver, this is probably
-the best option.
+.TP
+.B fil=[i|d]
+(de)interleaves lines.
+This filter is very similar to the il filter but much faster, the main
+disadvantage is that it doesn't always work.
+Especially if combined with other filters it may produce randomly messed
+up images, so be happy if it works but don't complain if it doesn't for
+your combination of filters.
.PD 0
.RSs
-.IPs port=<number>
-Select a specific XVideo port.
+.IPs d
+Deinterleave fields, placing them side by side.
+.IPs i
+Interleave fields again (reversing the effect of fil=d).
.RE
.PD 1
.TP
-.B x11 (X11 only)
-Shared memory output driver without hardware acceleration that
-works whenever X11 is present.
-.TP
-.B xover (X11 only)
-Adds X11 support to all overlay based video output drivers.
-Currently only supported by tdfx_vid.
+.B field[=n]
+Extracts a single field from an interlaced image using stride arithmetic
+to avoid wasting CPU time.
+The optional argument n specifies whether to extract the even or the odd
+field (depending on whether n is even or odd).
.TP
-.B xvmc (X11, \-vc ffmpeg12mc only)
-Video output driver that uses the XvMC (X Video Motion Compensation)
-extension of XFree86 4.x to speed up MPEG1/2 and VCR2 decoding.
-.PD 0
+.B detc[=var1=value2:var2=value2:...]
+Attempts to reverse the 'telecine' process to recover a clean,
+non-interlaced stream at film framerate.
+This was the first and most primitive inverse telecine filter to be
+added to MPlayer/MEncoder.
+It works by latching onto the telecine 3:2 pattern and following it as
+long as possible.
+This makes it suitable for perfectly-telecined material, even in the
+presence of a fair degree of noise, but it will fail in the presence
+of complex post-telecine edits.
+Development on this filter is no longer taking place, as ivtc, pullup,
+and filmdint are better for most applications.
+The following arguments (see syntax above) may be used to control
+detc's behavior:
.RSs
-.IPs benchmark
-Disables image display.
-Necessary for proper benchmarking of drivers that change
-image buffers on monitor retrace only (nVidia).
-.IPs queue
-Queue frames for display to allow more parallel work of the video hardware.
-May add a small (not noticeable) constant A/V desync.
-.IPs sleep
-Use sleep function while waiting for rendering to finish
-(not recomended on Linux).
-.IPs wait\
-Do not use sleep function while waiting for rendering to finish
-(default).
+.IPs dr
+Set the frame dropping mode.
+0 (default) means don't drop frames to maintain fixed output framerate.
+1 means always drop a frame when there have been no drops or telecine
+merges in the past 5 frames.
+2 means always maintain exact 5:4 input to output frame ratio.
+.I NOTE:
+Use mode 1 or 2 with MEncoder.
+.IPs am
+Analysis mode.
+Available values are 0 (fixed pattern with initial frame number
+specified by fr=#) and 1 (agressive search for telecine pattern).
+Default is 1.
+.IPs fr
+Set initial frame number in sequence.
+0\-2 are the three clean progressive frames; 3 and 4 are the two
+interlaced frames.
+The default, -1, means 'not in telecine sequence'.
+The number specified here is the type for the imaginary previous
+frame before the movie starts.
+.IPs "tr0, tr1, tr2, tr3"
+Threshold values to be used in certain modes.
.RE
-.PD 1
.TP
-.B dga (X11 only)
-Output video through the XFree86 Direct Graphics Access extension.
-Considered obsolete.
+.B ivtc[=1]
+Experimental 'stateless' inverse telecine filter.
+Rather than trying to lock on to a pattern like the detc filter does,
+ivtc makes its decisions independently for each frame.
+This will give much better results for material that has undergone
+heavy editing after telecine was applied, but as a result it is not as
+forgiving of noisy input, for example TV capture.
+The optional parameter (ivtc=1) corresponds to the dr=1 option for the
+detc filter, and should be used with MEncoder but not with MPlayer.
+As with detc, you must specify the correct output framerate (\-ofps
+23.976) when using MEncoder.
+Further development on ivtc has stopped, as the pullup and filmdint
+filters appear to be much more accurate.
.TP
-.B sdl (SDL only)
-Highly platform independent SDL (Simple Directmedia Layer) library
-video output driver.
+.B pullup[=jl:jr:jt:jb:sb]\
+Third-generation pulldown reversal (inverse telecine) filter,
+capable of handling mixed hard-telecine, 24 fps progressive, and 30
+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.
+The jl, jr, jt, and jb 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.
+Setting the sb (strict breaks) 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.
+.I NOTE:
+Always follow pullup with the softskip filter when encoding to ensure
+that pullup is able to see each frame. Failure to do so will lead to
+incorrect output and will usually crash, due to design limitations in
+the codec/filter layer.
.TP
-.B vidix\ \
-VIDIX (VIDeo Interface for *niX) is an interface to the
-video acceleration features of different graphics cards.
-Very fast output driver on cards that support it.
-.PD 0
+.B filmdint[=options]
+Inverse telecine filter, similar to the pullup filter above.
+It is designed to handle any pulldown pattern, including mixed soft and
+hard telecine and limited support for movies that are slowed down or sped
+up from their original framerate for TV.
+Only the luma plane is used to find the frame breaks.
+If a field has no match, it is deinterlaced with simple linear
+approximation.
+If the source is MPEG-2, and this must be the first filter to allow
+access to the field-flags set by the MPEG-2 decoder.
+Depending on the source mpeg, you may be fine ignoring this advice, as
+long as you do not see lots of "Bottom-first field" warnings.
+With no options it does normal inverse telecine, and should be used
+together with mencoder \-fps 29.97 \-ofps 23.976.
+When this filter is used with mplayer, it will result in an uneven
+framerate during playback, but it is still generally better than using
+pp=lb or no deinterlacing at all.
+Multiple options can be specified separated by /.
.RSs
-.IPs <subdevice>
-Explicitly choose the VIDIX subdevice driver to use.
-Available subdevice drivers are cyberblade_vid, mach64_vid, mga_crtc2_vid,
-mga_vid, nvidia_vid, pm3_vid, radeon_vid, rage128_vid, sis_vid.
+.IPs crop=w:h:x:y
+Just like the crop filter, but faster, and works on mixed hard and soft
+telecined content as well as when y is not a multiple of 4.
+If x or y would require cropping fractional pixels from the chroma
+planes, the crop area is extended.
+This usually means that x and y must be even.
+.IPs io=ifps:ofps
+For each ifps input frames the filter will output ofps frames.
+The ratio of ifps/ofps should match the \-fps/\-ofps ratio.
+This could be used to filter movies that are broadcast on TV at a frame
+rate different from their original frame rate.
+.IPs luma_only=n
+If n is nonzero, the chroma plane is copied unchanged.
+This is useful for YV12 sampled TV, which discards one of the chroma
+fields.
+.IPs mmx2=n
+On x86, if n=1, use MMX2 optimized functions, if n=2, use 3DNow!
+optimized functions, othewise, use plain C.
+If this option is not specified, MMX2 and 3DNow! are auto-detected, use
+this option to override auto-detection.
+.IPs fast=n
+The larger n will speed up the filter at the expense of accuracy.
+The default value is n=3.
+If n is odd, a frame immediately following a frame marked with the
+REPEAT_FIRST_FIELD mpeg flag is assumed to be progressive, thus filter
+will not spend any time on soft-telecined MPEG-2 content.
+This is the only effect of this flag if MMX2 or 3DNow! is available.
+Without MMX2 and 3DNow, if n=0 or 1, the same calculations will be used
+as with n=2 or 3.
+If n=2 or 3, the number of luma levels used to find the frame breaks is
+reduced from 256 to 128, which results in a faster filter without losing
+much accuracy.
+If n=4 or 5, a faster, but much less accurate metric will be used to
+find the frame breaks, which is more likely to misdetect high vertical
+detail as interlaced content.
+.IPs verbose=n
+If n is nonzero, print the detailed metrics for each frame.
+Useful for debugging.
+.IPs dint_thres=n
+Deinterlace threshold.
+Used during de-interlacing of unmatched frames.
+Larger value means less deinterlacing, use n=256 to completely turn off
+deinterlacing.
+Default is n=8.
+.IPs comb_thres=n
+Threshold for comparing a top and bottom fields.
+Defaults to 128.
+.IPs diff_thres=n
+Threshold to detect temporal change of a field.
+Default is 128.
+.IPs sad_thres=n
+Sum of Absolute Difference threshold, default is 64.
.RE
-.PD 1
.TP
-.B xvidix (X11 only)
-X11 frontend for VIDIX
-.PD 0
+.B softpulldown
+This filter works only correct with MEncoder and acts on the MPEG2 flags
+used for soft 3:2 pulldown (soft telecine).
+If you want to use the ivtc or detc filter on movies that are partly soft
+telecined, inserting this filter before them should make them more reliable.
+Currently only libmpeg2 exports the needed flags.
+If used on material that does not set them, the filter does nothing.
+.TP
+.B 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 frame rate.
+When using this filter, you must specify \-ofps that is 4/5 of the fps of the
+input file (23.976 if the input is 29.97fps).
+The options are:
.RSs
-.IPs <subdevice>
-same as vidix
+.IPs pass=1|2
+Use two-pass mode.
+This produces best results.
+Pass 1 analyzes the video and writes the results to a log file.
+Pass 2 then reads this log file and uses the information to do the actual work.
+Note that these passes do NOT correspond to pass 1 and 2 of the encoding
+process.
+In order to use divtc two-pass with two-pass video encoding, you must perform
+three passes: first divtc pass 1 and encoder pass 1, then divtc pass 2 and
+encoder pass 1, and finally divtc pass 2 and encoder pass 2.
+.IPs file=filename
+Set the 2-pass log file name (default: "framediff.log").
+.IPs 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.
+.IPs 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.
+.IPs 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.
+.IPs 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.
.RE
-.PD 1
.TP
-.B cvidix\
-Generic and platform independent VIDIX frontend, can even run in a
-textconsole with nVidia cards.
-.PD 0
+.B 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:
.RSs
-.IPs <subdevice>
-same as vidix
+.IPs t
+Capture field order top-first, transfer bottom-first.
+Filter will delay the bottom field.
+.IPs b
+Capture bottom-first, transfer top-first.
+Filter will delay the top field.
+.IPs 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 ;-)
+.IPs 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.
+.IPs 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.
+.IPs T
+Capture top-first, transfer unknown or varying.
+Filter selects among t and p using image analysis.
+.IPs B
+Capture bottom-first, transfer unknown or varying.
+Filter selects among b and p using image analysis.
+.IPs 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.
+.IPs U
+Both capture and transfer unknown or varying.
+Filter selects among t, b and p using image analysis only.
+.IPs v
+Verbose operation.
+Prints the selected mode for each frame and the average squared difference
+between fields for t, b, and p alternatives.
.RE
-.PD 1
.TP
-.B winvidix (Windows only)
-Windows frontend for VIDIX
-.PD 0
-.RSs
-.IPs <subdevice>
-same as vidix
-.RE
-.PD 1
+.B telecine[=start]
+Apply 3:2 'telecine' process to increase framerate by 20%.
+This most likely will not work correctly with MPlayer, but it can
+be used with 'mencoder \-fps 29.97 \-ofps 29.97 \-vf telecine'.
+Both fps options are essential!
+(A/V sync will break if they are wrong.)
+The optional start parameter tells the filter where in the telecine
+pattern to start (0\-3).
.TP
-.B directx (Windows only)
-Output driver that uses the DirectX interface.
+.B tinterlace[=mode]
+Temporal field interlacing \- merge pairs of frames into an interlaced
+frame, halving the framerate. Even frames are moved into the upper
+field, odd frames to the lower field. This can be used to fully reverse
+the effect of the tfields filter (in mode 0). Available modes are:
.PD 0
.RSs
-.IPs noaccel
-Turns off hardware acceleration.
-Try this option if you have display problems.
+.IPs 0
+odd frames into upper field, even to lower, generating a full-height
+frame at half the framerate
+.IPs 1
+only output odd frames, even frames are dropped, height unchanged
+.IPs 2
+only output even frames, odd frames are dropped, height unchanged
+.IPs 3
+expand each frame to full height, but pad alternate lines with black,
+framerate unchanged
.RE
.PD 1
.TP
-.B quartz (Mac OS X only)
-Mac OS X Quartz output driver.
-Under some circumstances, it might be more efficient to force a
-packed YUV output format, with e.g. \-vf format=yuy2
+.B tfields[=mode]
+Temporal field separation \- split fields into frames, doubling the
+output framerate.
+Like the telecine filter, tfields will only work properly with
+MEncoder, and only if both \-fps and \-ofps are set to the
+desired (double) framerate!
+Available modes are:
.PD 0
.RSs
-.IPs device_id=<number>
-Choose the display device to use in fullscreen.
+.IPs 0
+leave fields unchanged (this will jump/flicker)
+.IPs 1
+interpolate missing lines (the algorithm used might not be so good)
+.IPs 2
+translate fields by 1/4 pixel with linear interp (no jump)
+.IPs 4
+translate fields by 1/4 pixel with 4tap filter (higher quality)
.RE
.PD 1
.TP
-.B fbdev (Linux only)
-Uses the kernel framebuffer to output video.
-.TP
-.B fbdev2 (Linux only)
-Uses the kernel framebuffer to output video,
-alternative implementation.
-.TP
-.B vesa\ \ \
-Very general output driver that should work on any VESA VBE 2.0
-compatible card.
+.B boxblur=radius:power[:radius:power]
+box blur
.PD 0
.RSs
-.IPs dga\ \
-Turns on DGA mode.
-.IPs nodga
-Turns off DGA mode.
-.IPs vidix
-FIXME: document this
-.IPs lvo\ \
-FIXME: document this
+.IPs radius
+size of the filter
+.IPs power
+How often the filter should be applied.
.RE
.PD 1
.TP
-.B svga\ \ \
-Output video using the SVGA library.
-.TP
-.B gl\ \ \ \ \
-OpenGL output driver.
-Very simple version, no OSD support and video size must be smaller than
-the maximum texture size of your OpenGL implementation.
-Intended to work even with the most simple OpenGL implementations.
+.B sab=rad:pf:colorDiff[:rad:pf:colorDiff]
+shape adaptive blur
.PD 0
.RSs
-.IPs manyfmts
-Enables support for more (RGB and BGR) color formats.
-Needs OpenGL version >= 1.2, NOT yet WORKING correctly.
-.IPs slice-height=<0\-...>
-Number of lines copied to texture in one piece (default: 4).
-0 for whole image.
+.IPs rad\ \ \
+blur filter strength (~0.1\-4.0) (slower if larger)
+.IPs pf\ \ \
+prefilter strength (~0.1\-2.0)
+.IPs colorDiff
+How different the pixels are allowed to be considered.
+(~0.1\-100.0)
.RE
.PD 1
.TP
-.B gl2\ \ \ \
-OpenGL output driver, second generation.
-Supports OSD and videos larger than the maximum texture size.
-.TP
-.B null\ \ \
-Produces no video output.
-Useful for benchmarking.
-.TP
-.B aa\ \ \ \ \
-ASCII art output driver that works on a text console.
-.TP
-.B caca\ \ \
-Colour AsCii Art output driver that works on a text console.
-.TP
-.B bl\ \ \ \ \
-Video playback using the Blinkenlights UDP protocol.
-This driver is highly hardware specific.
-.TP
-.B ggi\ \ \ \
-Output driver for the GGI graphics system.
-.TP
-.B directfb
-Play video using the DirectFB library.
+.B smartblur=rad:strength:thresh[:rad:strength:thresh]
+smart blur
.PD 0
.RSs
-.IPs (no)input
-Use the DirectFB instead of the MPlayer keyboard code (default: enabled).
-.IPs buffermode=single|double|triple
-Double and triple buffering give best results if you want to avoid tearing issues.
-Triple buffering is more efficent than double buffering as it doesn't block MPlayer
-while waiting for the vertical retrace.
-Single buffering should be avoided (default: single).
-.IPs fieldparity=top|bottom
-Control the output order for interlaced frames (default: disabled).
-Valid values are top = top fields first, bottom = bottom fields first.
-This option doesn't have any effect on progressive film material
-like most MPEG movies are.
-You need to enable this option if you have tearing issues/unsmooth
-motions watching interlaced film material.
-.IPs layer=N
-Will force layer with id N for playback (default: -1 - auto).
+.IPs rad\ \
+blur filter strength (~0.1\-5.0) (slower if larger)
+.IPs strength
+blur (0.0\-1.0) or sharpen (-1.0\-0.0)
+.IPs thresh
+filter all (0), filter flat areas (0\-30) or filter edges (-30\-0)
.RE
.PD 1
.TP
-.B dfbmga\
-Matrox G400/G450/G550 specific output driver that uses the DirectFB library.
-Enables CRTC2 (second head), displaying video independently of the first head.
+.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
+perspective correction
.PD 0
.RSs
-.IPs (no)bes
-Enable the use of the Matrox BES (backend scaler) (default: disabled).
-Gives very good results concerning speed and output quality as interpolated
-picture processing is done in hardware.
-Works only on the primary head.
-.IPs (no)spic
-Make use of the Matrox sub picture layer to display the OSD (default: enabled).
-.IPs (no)crtc2
-Turn on TV-out on the second head (default: enabled).
-The output quality is amazing as it's a full interlaced picture
-with proper sync to every odd/even field.
-.IPs (no)input
-Use the DirectFB instead of the MPlayer keyboard code (default: disabled).
-.IPs buffermode=single|double|triple
-Double and triple buffering give best results if you want to avoid tearing issues.
-Triple buffering is more efficent than double buffering as it doesn't block MPlayer
-while waiting for the vertical retrace.
-Single buffering should be avoided (default: triple).
-.IPs fieldparity=top|bottom
-Control the output order for interlaced frames (default: disabled).
-Valid values are top = top fields first, bottom = bottom fields first.
-This option doesn't have any effect on progressive film material
-like most MPEG movies are.
-You need to enable this option if you have tearing issues/unsmooth
-motions watching interlaced film material.
-.IPs tvnorm=pal|ntsc|auto
-Will set the TV norm of the Matrox card without the need
-for modifying /etc/\:directfbrc (default: disabled).
-Valid norms are pal = PAL, ntsc = NTSC.
-Special norm is auto (auto-adjust using PAL/NTSC) because it decides
-which norm to use by looking at the frame rate of the movie.
+.IPs x0,y0,...
+coordinates of the top left, top right, bottom left, bottom right corners
+.IPs t\ \ \ \
+linear (0) or cubic resampling (1)
.RE
.PD 1
.TP
-.B mga (Linux only)
-Matrox specific output driver that makes use of the YUV back
-end scaler on Gxxx cards through a kernel module.
-If you have a Matrox card, this is the fastest option.
-.TP
-.B xmga (Linux, X11 only)
-The mga output driver, running in an X11 window.
-.TP
-.B syncfb\
-Video output driver for the SyncFB kernel module, which provides
-special hardware features of Matrox Gxxx cards like hardware
-deinterlacing, scaling and synchronizing your video output to
-the vertical retrace of your monitor.
-.TP
-.B 3dfx (Linux only)
-This driver employs the tdfx framebuffer driver to play movies with
-YUV acceleration.
+.B 2xsai\ \
+Use the 2x scale and interpolate algorithm for scaling and smoothing images.
.TP
-.B tdfx_vid (Linux only)
-3Dfx specific output driver.
-Works in conjunction with a kernel module.
+.B 1bpp\ \ \
+1bpp bitmap to YUV/BGR 8/15/16/32 conversion
.TP
-.B dxr2 (DXR2 only)
-Creative DXR2 specific output driver.
-Also see the \-dxr2 option.
+.B down3dright[=lines]
+Reposition and resize stereoscopic images.
+Extracts both stereo fields and places them side by side, resizing
+them to maintain the original movie aspect.
.PD 0
.RSs
-.IPs x11
-Enables overlay.
-.IPs xv
-Enables overlay.
+.IPs lines
+number of lines to select from the middle of the image (default: 12)
.RE
.PD 1
.TP
-.B dxr3 (DXR3 only)
-Sigma Designs em8300 MPEG decoder chip (Creative DXR3, Sigma Designs
-Hollywood Plus) specific output driver.
-Also see the lavc video filter.
+.B bmovl=hidden:opaque:<fifo>
+Read bitmaps from a FIFO and display them in a window.
+.
.PD 0
.RSs
-.IPs overlay
-Activates the overlay instead of TVOut.
-.IPs prebuf
-Turns on prebuffering.
-.IPs sync
-Will turn on the new sync-engine.
-.IPs norm=<norm>
-Specifies the TV norm.
+.IPs hidden
+sets the default value of the 'hidden' flag (boolean)
+.IPs opaque
+flag switching between alphablended (transparent) and opaque (fast) mode
+.IPs fifo\
+path/filename for the FIFO (named pipe connecting mplayer \-vf bmovl to the
+controlling application)
+.RE
+.PD 1
+
+.RS
+FIFO commands are:
+.RE
+.PD 0
+.RSs
+.IPs "RGBA32 width height xpos ypos alpha clear"
+followed by width*height*4 Bytes of raw RGBA32 data.
+.IPs "ABGR32 width height xpos ypos alpha clear"
+followed by width*height*4 Bytes of raw ABGR32 data.
+.IPs "RGB24 width height xpos ypos alpha clear"
+followed by width*height*3 Bytes of raw RGB32 data.
+.IPs "BGR24 width height xpos ypos alpha clear"
+followed by width*height*3 Bytes of raw BGR32 data.
+.IPs "ALPHA width height xpos ypos alpha"
+change alpha for area
+.IPs "CLEAR width height xpos ypos"
+clear area
+.IPs OPAQUE
+disable all alpha transparency.
+Send "ALPHA 0 0 0 0 0" to enable it again.
+.IPs HIDE\
+hide bitmap
+.IPs SHOW\
+show bitmap
+.RE
+.PD 1
+
+.RS
+Arguments are:
+.RE
+.PD 0
+.RSs
+.IPs "width, height"
+size of image/area
+.IPs "xpos, ypos"
+start blitting at X/Y position
+.IPs alpha
+set alpha difference.
+If you set this to -255 you can then send a sequence of ALPHA-commands to set
+the area to -225, -200, -175 etc for a nice fade-in-effect! ;)
.RSss
-0: Does not change current norm (default).
-.br
-1: Auto-adjust using PAL/NTSC.
-.br
-2: Auto-adjust using PAL/PAL-60.
+0: same as original
.br
-3: PAL
+255: makes everything opaque
.br
-4: PAL-60
+-255: makes everything transparent
+.REss
+.IPs clear
+clear the framebuffer before blitting.
+.RSss
+0: The image will just be blitted on top of the old one, so you don't need to
+send 1,8MB of RGBA32 data everytime a small part of the screen is updated.
.br
-5: NTSC
+1: clear
.REss
-.IPs device=<number>
-Specifies the device number to use if you have more than one em8300 card.
.RE
.PD 1
.TP
-.B mpegpes (DVB only)
-DVB specific output driver.
-.TP
-.B zr\ \ \ \ \
-Output driver for a number of MJPEG capture/playback cards.
-Also see the -zr* options and -zrhelp.
-.TP
-.B zr2\ \ \ \
-Output driver for a number of MJPEG capture/playback cards, second generation.
-Also see the zrmjpeg video filter.
-.TP
-.B md5\ \ \ \
-Writes md5sums for each frame into a file called 'md5' in the
-current directory.
-Useful for debugging.
-.TP
-.B yuv4mpeg
-Transforms the video stream into a sequence of uncompressed YUV 4:2:0
-images and stores it in a file called 'stream.yuv' in the current
-directory.
-Useful if you want to process the video with the mjpegtools suite.
-.TP
-.B gif89a\
-Output each frame into a GIF file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
-.TP
-.B jpeg\ \ \
-Output each frame into a JPEG file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
+.B framestep=I|[i]step
+Renders only every nth frame or every Intra (key) frame.
+
+If you call the filter with I (uppercase) as the parameter, then ONLY
+keyframes are rendered.
+For DVDs it generally means one in every 15/12 frames (IBBPBBPBBPBBPBB),
+for AVI it means every scene change or every keyint value (see \-lavcopts
+keyint= value if you use MEncoder to encode the video).
+
+When a key frame is found, an 'I!' string followed by a newline character is
+printed, leaving the current line of mplayer/mencoder output on the screen,
+because it contains the time (in seconds) and frame number of the keyframe
+(You can use this information to split the AVI.).
+
+If you call the filter with a numeric parameter 'step' then only one in
+every 'step' frames is rendered.
+
+If you put an 'i' (lowercase) before the number then an I! is printed
+(like the I parameter).
+
+If you give only the i then nothing is done to the frames, only I! is
+printed.
.TP
-.B pgm\ \ \ \
-Output each frame into a PGM file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
+.B tile=xtile:ytile:output:start:delta
+Tile a series of images into a single, bigger image.
+If you omit a parameter or use a value less than 0, then the default
+value is used. You can also stop when you're OK (... \-vf tile=10:5 ...)
+.
+It is probably a good idea to put the scale filter before the tile :-)
+.br
+The parameters are:
+
+.PD 0
+.RSs
+.IPs xtile
+number of tiles on the x axis (default: 5)
+.IPs ytile
+number of tiles on the y axis (default: 5)
+.IPs output
+Render the tile when 'output' number of frames are reached, where 'output'
+should be a number less than xtile * ytile.
+Missing tiles are left blank.
+You could, for example, write an 8 * 7 tile every 50 frames to have one
+image every 2 seconds @ 25 fps.
+.IPs start
+pixel at the start (x/y) (default: 2)
+.IPs delta
+pixel between 2 tiles, (x/y) (default: 4)
+.RE
+.PD 1
.TP
-.B png\ \ \ \
-Output each frame into a PNG file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
+.B delogo[=x:y:w:h:t]
+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).
+.PD 0
+.RSs
+.IPs x,y
+Position of the top left corner of the logo.
+.IPs w,h
+Width and height of the cleared rectangle.
+.IPs 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.
+.RE
+.PD 1
.TP
-.B tga\ \ \ \
-Output each frame into a Targa file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
+.B zrmjpeg[=options]
+Software YV12 to MJPEG encoder for use with the zr2 video
+output device.
+.RSs
+.IPs maxheight=h|maxwidth=w
+These options set the maximum width and height the zr card
+can handle (the MPlayer filter layer currently cannot query those).
+.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
+Use these options to set maxwidth and maxheight automatically to the
+values known for card/mode combo.
+For example, valid options are: dc10-PAL and buz-NTSC (default: dc10+PAL)
+.IPs color|bw
+Select color or black and white encoding.
+Black and white encoding is faster.
+Color is the default.
+.IPs hdec={1,2,4}
+Horizontal decimation 1, 2 or 4.
+.IPs vdec={1,2,4}
+Vertical decimation 1, 2 or 4.
+.IPs quality=1-20
+Set JPEG compression quality [BEST] 1 - 20 [VERY BAD].
+.IPs fd|nofd
+By default, decimation is only performed if the Zoran hardware
+can upscale the resulting MJPEG images to the original size.
+The option fd instructs the filter to always perform the requested
+decimation (ugly).
+.RE
.
.
.SH "GENERAL ENCODING OPTIONS (MENCODER ONLY)"
More information about the MPlayer-DOCS
mailing list