view DOCS/man/en/mplayer.1 @ 13261:42992a398551

-lavdopts fast, small fix to -lavdopts ec
author diego
date Mon, 06 Sep 2004 11:03:51 +0000
parents cf4c3b32c4d7
children 8d4a16cb1e97
line wrap: on
line source

.\" $Revision$
.\" MPlayer (C) 2000-2004 MPlayer Team
.\" This man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
.
.\" --------------------------------------------------------------------------
.\" Macro definitions
.\" --------------------------------------------------------------------------
.
.\" default indentation is 7, don't change!
.nr IN 7
.\" define indentation for suboptions
.nr SS 5
.\" add new suboption
.de IPs
.IP "\\$1" \n(SS
..
.\" begin of first level suboptions, end with .RE
.de RSs
.RS \n(IN+3
..
.\" begin of 2nd level suboptions
.de RSss
.PD 0
.RS \n(SS+3
..
.\" end of 2nd level suboptions
.de REss
.RE
.PD 1
..
.
.\" --------------------------------------------------------------------------
.\" Title
.\" --------------------------------------------------------------------------
.
.TH MPlayer 1 "2004-08-27" "The MPlayer Project" "The Movie Player"
.
.SH NAME
mplayer  \- movie player
.br
mencoder \- movie encoder
.
.\" --------------------------------------------------------------------------
.\" Synopsis
.\" --------------------------------------------------------------------------
.
.SH SYNOPSIS
.na
.nh
.B mplayer
.RI [options]\ [ \ file\  | \ URL\  | \ playlist\  | \ \-\  ]
.
.br
.in
.B mplayer
'in +\n[.k]u
[global options]
.I file1
[specific options] [file2] [specific options]
.
.br
.in
.B mplayer
'in +\n[.k]u
[global options]
.RI { "group of files and options" }
[group specific options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I dvd://[title | [start_title]\-end_title ]
[options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I vcd://track[/device]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I tv://[channel]
[options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I dvb://[card_number@]channel
[options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I mf://filemask
[-mf options] [options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I [cdda|cddb]://track[:speed][/device]
[options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I cue://file[:track]
[options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.RI [ mms[t] | http | http_proxy | rt[s]p | ftp ] ://
[user:passwd@]\fIURL\fP[:port] [options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I sdp://file
[options]
.
.br
.in
.B mplayer
'in +\n[.k]u
.I mpst://host[:port]/URL
[options]
.
.br
.in
.B gmplayer
[options]
[\-skin\ skin]
.
.br
.B mencoder
[options]
.RI [ \ file\  | \ URL\  | \ \-\  ]
[\-o\ file]
.ad
.hy
.
.\" --------------------------------------------------------------------------
.\" Description
.\" --------------------------------------------------------------------------
.
.SH DESCRIPTION
.B mplayer
is a movie player for Linux (runs on many other platforms and CPU
architectures, see the documentation).
It plays most MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, OGG/\:OGM,
MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files, supported by many
native and binary codecs.
You can watch VideoCD, SVCD, DVD, 3ivx, DivX\ 3/\:4/\:5 and even WMV movies,
too.
.PP
MPlayer supports a wide range of video and audio output drivers.
It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
Quartz, but you can also use GGI, SDL (and all their drivers), VESA (on every
VESA-compatible card, even without X11), some low-level card-specific drivers
(for Matrox, 3Dfx and ATI) and some hardware MPEG decoder boards, such as the
Siemens DVB, DXR2 and DXR3/\:Hollywood+.
Most of them support software or hardware scaling, so you can enjoy movies in
fullscreen mode.
.PP
MPlayer has an onscreen display (OSD) for status information, nice big
antialiased shaded subtitles and visual feedback for keyboard controls.
European/\:ISO 8859-1,2 (Hungarian, English, Czech, etc), Cyrillic and Korean
fonts are supported along with 12 subtitle formats (MicroDVD, SubRip, OGM,
SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS and our own: MPsub) and
DVD subtitles (SPU streams, VOBsub and Closed Captions).
.PP
.B mencoder
(MPlayer's Movie Encoder) is a simple movie encoder, designed to encode
MPlayer-playable movies (see above) to other MPlayer-playable formats (see
below).
It encodes to DivX4, XviD, one of the libavcodec codecs and PCM/\:MP3/\:VBRMP3
audio in 1, 2 or 3\ passes.
Furthermore it has stream copying abilities, a powerful filter system (crop,
expand, flip, postprocess, rotate, scale, noise, rgb/\:yuv conversion) and
more.
.PP
.B gmplayer
is MPlayer with a graphical user interface.
It has the same options as MPlayer.
.PP
.B Also see the HTML documentation!
.
.
.\" --------------------------------------------------------------------------
.\" Keyboard control
.\" --------------------------------------------------------------------------
.
.SH "KEYBOARD CONTROL"
MPlayer has a fully configurable, command-driven control layer
which allows you to control MPlayer using keyboard, mouse, joystick
or remote control (with LIRC).
See the \-input option for ways to customize it.
.
.TP
.B general control
.PD 0
.RSs
.IPs "<\- and \->"
Seek backward/\:forward 10 seconds.
.IPs "up and down"
Seek backward/\:forward 1 minute.
.IPs "pgup and pgdown"
Seek backward/\:forward 10 minutes.
.IPs "< and >"
backward/\:forward in playlist
.IPs "HOME and END"
next/\:previous playtree entry in the parent list
.IPs "INS and DEL"
next/\:previous alternative source (ASX playlist only)
.IPs "p / SPACE"
Pause movie (any key unpauses).
.IPs "q / ESC"
Stop playing and quit.
.IPs "+ and -"
Adjust audio delay by +/\:- 0.1 seconds.
.IPs "/ and *"
Decrease/\:increase volume.
.IPs "9 and 0"
Decrease/\:increase volume.
.IPs m\ \ \ \ 
Mute sound.
.IPs f\ \ \ \ 
Toggle fullscreen (also see \-fs).
.IPs T\ \ \ \ 
Toggle stay-on-top (also see \-ontop).
.IPs "w and e"
Decrease/\:increase pan and scan range.
.IPs o\ \ \ \ 
Toggle OSD states: none / seek / seek + timer / seek + timer + total time.
.IPs d\ \ \ \ 
Toggle frame dropping states: none / skip display / skip decoding
(see \-framedrop and \-hardframedrop).
.IPs v\ \ \ \ 
Toggle subtitle visibility.
.IPs "b / j"
Cycle through the available subtitles.
.IP F\ \ \ \ 
Toggle displaying "forced subtitles".
.IPs a\ \ \ \ 
Toggle subtitle aligment: top/\:middle/\:bottom.
.IPs "z and x"
Adjust subtitle delay by +/\:- 0.1 seconds.
.IPs "r and t"
Move subtitles up/\:down.
.IPs i\ \ \ \ 
Set EDL mark.
.RE
.PD 1
.PP
(The following keys are valid only when using a hardware accelerated video
output (xv, (x)vidix, (x)mga, etc), or the software equalizer filter
(\-vf eq or \-vf eq2).
.PP
.PD 0
.RSs
.IPs "1 and 2"
Adjust contrast.
.IPs "3 and 4"
Adjust brightness.
.IPs "5 and 6"
Adjust hue.
.IPs "7 and 8"
Adjust saturation.
.RE
.PD 1
.
.TP
.B GUI keyboard control
.PD 0
.RSs
.IPs ENTER
Start playing.
.IPs s\ \ \ \ 
Stop playing.
.IPs l\ \ \ \ 
Load file.
.IPs c\ \ \ \ 
Skin browser.
.IPs p\ \ \ \ 
Toggle playlist.
.RE
.PD 1
.
.TP
.B TV input control
.PD 0
.RSs
.IPs "h and k"
Select previous/\:next channel.
.IPs n\ \ \ \ 
Change norm.
.IPs u\ \ \ \ 
Change channel list.
.RE
.PD 1
.
.
.\" --------------------------------------------------------------------------
.\" Options
.\" --------------------------------------------------------------------------
.
.SH "USAGE"
Every 'flag' option has a 'noflag' counterpart, e.g.\& the opposite of the
\-fs option is \-nofs.
.PP
If an option is marked as (XXX only), it will only work in combination with
the XXX option or if XXX is compiled in.
.PP
You can put all of the options in a configuration file which will be read
every time MPlayer is run.
The system-wide configuration file 'mplayer.conf' is in your configuration
directory (e.g.\& /etc/\:mplayer or /usr/\:local/\:etc/\:mplayer), the user
specific one is '~/\:.mplayer/\:config'.
User specific options override system-wide options and options given on the
command line override either.
The syntax of the configuration files is 'option=<value>', everything after
a '#' is considered a comment.
Options that work without values can be enabled by setting them to 'yes'
or '1' or 'true' and disabled by setting them to 'no' or '0' or 'false'.
Even suboptions can be specified in this way.
.PP
.I EXAMPLE:
.nf
# Use Matrox driver by default.
vo=xmga
# I love practicing handstands while watching videos.
flip=yes
# Decode/\:encode multiple files from png,
# start with mf://filemask
mf=type=png:fps=25
# Eerie negative images are cool.
vf=eq2=1.0:-0.8
.fi
.PP
You can also write file-specific configuration files.
If you wish to have a configuration file for a file called 'movie.avi', create a file
named 'movie.avi.conf' with the file-specific options in it and put it in
~/.mplayer or in the same directory as the file.
.
.
.
.SH "GENERAL OPTIONS"
.
.TP
.B \-codecs-file <filename> (also see \-afm, \-ac, \-vfm, \-vc)
Use the specified file instead of system wide installed or builtin codecs.conf.
.
.TP
.B \-include <configuration\ file>
Specify configuration file to be parsed after the default ones.
.
.TP
.B \-quiet \ \ 
Make console output less verbose; in particular, prevents the status line
(i.e.\& A:   0.7 V:   0.6 A-V:  0.068 ...) from being displayed.
Particularly useful on slow terminals or broken ones which do not properly
handle carriage return (i.e.\& \\r).
.
.TP
.B \-v, \-verbose
Increment verbose level (more \-v means more verbosity).
.PD 0
.RSs
.IPs 0
only some informational output (default)
.IPs 1
some basic debug infos, avi header, function values (init debug)
.IPs 2
print avi indexes, chunk inputs, more debug infos (player debug)
.IPs 3
prints everything related to input parsers (parser debug)
.RE
.PD 1
.
.
.
.SH "PLAYER OPTIONS (MPLAYER ONLY)"
.
.TP
.B \-autoq <quality> (use with \-vf [s]pp)
Dynamically changes the level of postprocessing depending on the available spare
CPU time.
The number you specify will be the maximum level used.
Usually you can use some big number.
You have to use \-vf [s]pp without parameters in order for this to work.
.
.TP
.B \-autosync <factor>
Gradually adjusts the A/\:V sync based on audio delay measurements.
Specifying \-autosync\ 0, the default, will cause frame timing to be based
entirely on audio delay measurements.
Specifying \-autosync\ 1 will do the same, but will subtly change the A/\:V
correction algorithm.
An uneven video framerate in a movie which plays fine with \-nosound can
often be helped by setting this to an integer value greater than 1.
The higher the value, the closer the timing will be to \-nosound.
Try \-autosync\ 30 to smooth out problems with sound drivers which do
not implement a perfect audio delay measurement.
With this value, if large A/\:V sync offsets occur, they will only take about
1 or 2\ seconds to settle out.
This delay in reaction time to sudden A/\:V offsets should be the only
side-effect of turning this option on, for all sound drivers.
.
.TP
.B \-benchmark
Prints some statistics on CPU usage and dropped frames at the end of playback.
Use in combination with \-nosound and \-vo null for benchmarking only the
video codec.
.br
.I NOTE:
With this option MPlayer will also ignore frame duration when playing
only video (you can think of that as infinite fps).
.
.TP
.B \-colorkey <number>
Changes the colorkey to an RGB value of your choice.
0x000000 is black and 0xffffff is white.
Only supported by the cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix and
xover video out drivers.
.
.TP
.B \-nocolorkey
Disables colorkeying.
Only supported by the cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix and
xover video out drivers.
.
.TP
.B \-edl <filename> (EDL only)
Enables edit decision list (EDL) actions during playback.
Video will be skipped over and audio will be muted and unmuted according to
the entries in the given file.
See DOCS/\:HTML/\:en/\:edl.html for details on how to use this.
.
.TP
.B \-edlout <filename> (EDL only)
Creates a new file and writes edit decision list (EDL) records to that file.
During playback, when the user hits 'i', an entry to skip over the last two
seconds of playback will be written to the file.
This provides a starting point from which the user can fine-tune EDL entries
later.
See DOCS/\:HTML/\:en/\:edl.html for details.
.
.TP
.B \-enqueue (GUI only)
Enqueue files given on the command line in the playlist instead of playing them
immediately.
.
.TP
.B \-fixed-vo (BETA CODE!)
Enforces a fixed video system for multiple files (one (un)initialisation for
all files).
Therefore only one window will be opened for all files.
Currently the following drivers are fixed-vo compliant: gl2, mga, svga, x11,
xmga, xv, xvidix and dfbmga.
.
.TP
.B \-framedrop (also see \-hardframedrop)
Skip displaying some frames to maintain A/\:V sync on slow systems.
Video filters are not applied to such frames.
For B frames even decoding is skipped completely.
.
.TP
.B \-h, \-help, \-\-help
Show short summary of options.
.
.TP
.B \-hardframedrop
More intense frame dropping (breaks decoding).
Leads to image distortion!
.
.TP
.B \-identify
Show file parameters in an easily parseable format.
The wrapper script TOOLS/\:midentify suppresses the other MPlayer output and
(hopefully) shellescapes the filenames.
.
.TP
.B \-input <commands>
This option can be used to configure certain parts of the input system.
Paths are relative to ~/\:.mplayer/.
.br
.I NOTE:
Autorepeat is currently only supported by joysticks.
.sp 1
Available commands are:
.sp 1
.PD 0
.RSs
.IPs conf=<filename>
Specify input configuration file other than the default
~/\:.mplayer/\:input.conf.
~/\:.mplayer/\:<filename> is assumed if no full path is given.
.IPs ar-delay
Delay in msec before we start to autorepeat a key (0 to disable).
.IPs ar-rate
Number of key presses to generate per second on autorepeat.
.IPs keylist
Prints all keys that can be bound to commands.
.IPs cmdlist
Prints all commands that can be bound to keys.
.IPs js-dev
Specifies the joystick device to use (default: /dev/\:input/\:js0).
.IPs file\ 
Read commands from the given file.
Mostly useful with a FIFO.
.br
.I NOTE:
When the given file is a FIFO MPlayer opens both ends so you can do
several 'echo "seek 10" > mp_pipe' and the pipe will stay valid.
.RE
.PD 1
.
.TP
.B \-lircconf <filename> (LIRC only)
Specifies a configuration file for LIRC (default: ~/\:.lircrc).
.
.TP
.B \-list-options
Prints out all the available options.
.
.TP
.B \-loop <number>
Loops movie playback <number> times.
0 means forever.
.
.TP
.B \-menu (OSD menu only)
Turn on OSD menu support.
.
.TP
.B \-menu-cfg <filename> (OSD menu only)
Use an alternative menu.conf.
.
.TP
.B \-menu-root <value> (OSD menu only)
Specify the main menu.
.
.TP
.B \-noconsolecontrols
Prevent MPlayer from reading key events from standard input.
Useful when reading data from standard input.
This is automatically enabled when \- is found on the command line.
There are situations where you have to set it manually, e.g.\&
if you open /dev/\:stdin (or the equivalent on your system), use stdin
in a playlist or intend to read from stdin later on via the loadfile or
loadlist slave commands.
.
.TP
.B \-nojoystick
Turns off joystick support.
.
.TP
.B \-nolirc
Turns off LIRC support.
.
.TP
.B \-nomouseinput (X11 only)
Disable mouse button press/\:release input (mozplayerxp's context menu relies
on this option).
.
.TP
.B \-nortc (RTC only)
Turns off usage of the Linux RTC (realtime clock \- /dev/\:rtc) as timing
mechanism.
.
.TP
.B \-playlist <filename>
Play files according to a playlist file (ASX, Winamp, SMIL, or
one-file-per-line format).
.br
.I NOTE:
This option is considered an entry so options found after it will apply
only to the elements of this playlist.
.br
FIXME: This needs to be clarified and documented thoroughly.
.
.TP
.B \-really-quiet (also see \-quiet)
Display even less output and status messages than with \-quiet.
.
.TP
.B \-rtc-device <device>
Use the specified device for RTC timing.
.
.TP
.B \-shuffle
Play files in random order.
.
.TP
.B \-skin <name> (GUI only)
Loads a skin from the directory given as parameter below the default skin
directories, /usr/\:local/\:share/\:mplayer/\:Skin/\: and ~/.mplayer/\:Skin/.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-skin fittyfene"
Tries /usr/\:local/\:share/\:mplayer/\:Skin/\:fittyfene
and afterwards ~/.mplayer/\:Skin/\:fittyfene.
.RE
.PD 1
.
.TP
.B \-slave (also see \-input)
Switches on slave mode, in which MPlayer works as a backend for other programs.
Instead of intercepting keyboard events, MPlayer will read commands from stdin.
.br
.I NOTE:
See \-input cmdlist for a list of slave commands and DOCS/\:tech/\:slave.txt
for their description.
.
.TP
.B \-softsleep
Use high-quality software timers instead of the RTC.
As precise as the RTC without requiring special privileges.
Comes at the price of higher CPU consumption.
.
.TP
.B \-speed <0.01\-100>
Slow down or speed up playback by the factor given as parameter.
.
.TP
.B \-sstep <sec>
Display one frame every <sec> seconds.
Useful for slideshows.
.
.
.
.SH "DEMUXER/\:STREAM OPTIONS"
.
.TP
.B \-a52drc <level>
Select the Dynamic Range Compression level for AC3 audio streams.
<level> is a float value ranging from 0 to 1, where 0 means no compression
and 1 (which is the default) means full compression (make loud passages more
silent and vice versa).
This option only shows an effect if the AC3 stream contains the required range
compression information.
.
.TP
.B \-aid <ID> (also see \-alang)
Select audio channel (MPEG: 0\-31, AVI/\:OGM: 1\-99, ASF/\:RM: 0\-127,
VOB(AC3): 128\-159, VOB(LPCM): 160\-191, MPEG-TS 17\-8190).
MPlayer prints the available IDs when run in verbose (\-v) mode.
When playing an MPEG-TS stream, MPlayer/\:MEncoder will use the first program
(if present) with the chosen audio stream.
.
.TP
.B \-alang <two letter\ country\ code> (also see \-aid) (DVD only)
Selects the DVD audio language and tries to play audio streams whose
language matches the given code.
MPlayer prints a list of available languages when run in verbose (\-v) mode.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-alang hu,en"
Plays Hungarian and falls back on English if Hungarian is not available.
.RE
.PD 1
.
.TP
.B \-audio-demuxer <number> (\-audiofile only)
Force audio demuxer type for \-audiofile.
Give the demuxer ID as defined in libmpdemux/\:demuxer.h.
\-audio-demuxer 17 forces MP3.
.
.TP
.B \-audiofile <filename>
Play audio from an external file (WAV, MP3 or Ogg Vorbis) while viewing a
movie.
.
.TP
.B \-audiofile-cache <kBytes>
Enables caching for the stream used by \-audiofile, using the specified
amount of memory.
.
.TP
.B \-bandwidth <value> (network only)
Specify the maximum bandwidth for network streaming (for servers that are
able to send content in different bitrates).
Useful if you want to watch live streamed media behind a slow connection.
.
.TP
.B \-cdrom-device <path\ to\ device>
Specify the CD-ROM device (default: /dev/\:cdrom).
.
.TP
.B \-cache <kBytes>
This option specifies how much memory (in kBytes) to use when precaching a
file or URL.
Especially useful on slow media.
.
.TP
.B \-cache-min <percentage>
Playback will start when the cache fill threshold set with this option
is reached.
.
.TP
.B \-cache-prefill <percentage> (not yet implemented)
When the cache is emptied MPlayer will pause and restart playback when
the cache prefill threshold set with this option is reached.
.
.TP
.B \-cdda <option1:option2> (CDDA only)
This option can be used to tune the CD Audio reading feature of MPlayer.
.sp 1
Available options are:
.RSs
.IPs speed=<value>
Set CD spin speed.
.IPs paranoia=<0\-2>
Set paranoia level.
.RSss
0: disable checking
.br
1: overlap checking only (default)
.br
2: full data correction and verification
.REss
.IPs generic-dev=<value>
Use specified generic SCSI device.
.IPs sector-size=<value>
Set atomic read size.
.IPs overlap=<value>
Force minimum overlap search during verification to <value> sectors.
.IPs toc-bias
Assume that the beginning offset of track 1 as reported in the TOC will be
addressed as LBA\ 0.
Some Toshiba drives need this for getting track boundaries correct.
.IPs toc-offset=<value>
Add <value> sectors to the values reported when addressing tracks.
May be negative.
.IPs (no)skip
(Never) accept imperfect data reconstruction.
.RE
.
.TP
.B \-channels <number>
Change the number of playback channels (default: 2).
If the number of output channels is bigger than the number of input channels
empty channels are inserted (unless mixing from mono to stereo, then the mono
channel is repeated in both output channels).
If the number of output channels is smaller than the number of input channels,
results depend on the audio decoder (\-afm).
MPlayer asks the decoder to decode the audio into as many channels as
specified.
Now it's up to the decoder to fulfill the requirement.
If the decoder outputs more channels than requested, the exceeding channels
are truncated.
This is usually only important when playing videos with AC3 audio (like DVDs).
In that case liba52 does the decoding by default and correctly downmixes the
audio into the requested number of channels.
.br
.I NOTE:
This option is honored by codecs (AC3 only), filters (surround) and ao drivers
(OSS at least).
.sp 1
Available options are:
.sp 1
.PD 0
.RSs
.IPs 2
stereo
.IPs 4
surround
.IPs 6
full 5.1
.RE
.PD 1
.
.TP
.B \-chapter <chapter\ ID>[\-<end\ chapter\ ID>] (DVD only)
Specify which chapter to start playing at.
Optionally specify which chapter to end playing at (default: 1).
.
.TP
.B \-cookies (network only)
Send cookies when making HTTP requests.
.
.TP
.B \-cookies-file <filename> (network only)
Read HTTP cookies from <filename> (default: ~/.mozilla/ and ~/.netscape/)
and skip reading from default locations.
The file is assumed to be in Netscape format.
.
.TP
.B \-demuxer <number>
Force demuxer type.
Give the demuxer ID as defined in libmpdemux/\:demuxer.h.
\-demuxer 17 forces MP3.
.
.TP
.B \-dumpaudio (MPlayer only)
Dumps raw compressed audio stream to ./stream.dump (useful with MPEG/\:AC3).
.
.TP
.B \-dumpfile <filename> (MPlayer only)
Specify which file MPlayer should dump to.
Should be used together with \-dumpaudio / \-dumpvideo / \-dumpstream.
.
.TP
.B \-dumpstream (MPlayer only)
Dumps the raw stream to ./stream.dump.
Useful when ripping from DVD or network.
.
.TP
.B \-dumpvideo (MPlayer only)
Dump raw compressed video stream to ./stream.dump (not very usable).
.
.TP
.B \-dvbin <options> (DVB only)
Pass the following parameters to the DVB input module, in order to override
the default ones:
.sp 1
.PD 0
.RSs
.IPs card=<1\-4>
Specifies using card number 1\-4 (default: 1).
.IPs file=<filename>
Instructs MPlayer to read the channels list from <filename>.
Default is ~/.mplayer/\:channels.conf.{sat,ter,cbl} (based on your card type)
or ~/.mplayer/\:channels.conf as a last resort.
.RE
.PD 1
.
.TP
.B \-dvd-device <path\ to\ device> (DVD only)
Specify the DVD device (default: /dev/\:dvd).
.
.TP
.B \-dvdangle <angle\ ID> (DVD only)
Some DVD discs contain scenes that can be viewed from multiple angles.
Here you can tell MPlayer which angles to use (default: 1).
.
.TP
.B \-forceidx
Force index rebuilding.
Useful for files with broken index (A/\:V desync, etc).
This will enable seeking in files where seeking was not possible.
You can fix the index permanently with MEncoder (see the documentation).
.br
.I NOTE:
This option only works if the underlying media supports seeking
(i.e.\& not with stdin, pipe, etc).
.
.TP
.B \-fps <float value>
Override video framerate.
Useful if the original value is wrong or missing.
.
.TP
.B \-frames <number>
Play/\:convert only first <number> frames, then quit.
.
.TP
.B \-hr-mp3-seek (MP3 only)
Hi-res MP3 seeking.
Enabled when playing from an external MP3 file, as we need to seek
to the very exact position to keep A/\:V sync.
Can be slow especially when seeking backwards since it has to rewind
to the beginning to find an exact frame position.
.
.TP
.B \-idx (also see \-forceidx)
Rebuilds index of files if no index was found, allowing seeking.
Useful with broken/\:incomplete downloads, or badly created files.
.br
.I NOTE:
This option only works if the underlying media supports seeking
(i.e.\& not with stdin, pipe, etc).
.
.TP
.B \-ipv4-only-proxy (network only)
Skip the proxy for IPv6 addresses.
It will still be used for IPv4 connections.
.
.TP
.B \-loadidx <index file>
The file from which to read the video index data saved by \-saveidx.
This index will be used for seeking, overriding any index data
contained in the AVI itself.
MPlayer won't prevent you from loading an index file generated
from a different AVI, but this is sure to cause unfavorable results.
.br
.I NOTE:
This option is obsolete now that MPlayer has OpenDML support.
.
.TP
.B \-mc <seconds/\:frame>
maximum A-V sync correction per frame (in seconds)
.
.TP
.B \-mf <option1:option2:...>
Used when decoding from multiple PNG or JPEG files.
.sp 1
Available options are:
.sp 1
.PD 0
.RSs
.IPs w=<value>
output width (default: autodetect)
.IPs h=<value>
output height (default: autodetect)
.IPs fps=<value>
output fps (default: 25)
.IPs type=<value>
input file type (available: jpeg, png, tga, sgi)
.RE
.PD 1
.
.TP
.B \-ni (AVI only)
Force usage of non-interleaved AVI parser (fixes playback
of some bad AVI files).
.
.TP
.B \-nobps (AVI only)
Do not use average byte/\:second value for A-V sync.
Helps with some AVI files with broken header.
.
.TP
.B \-noextbased
Disables extension-based demuxer selection.
By default, when the file type (demuxer) cannot be detected reliably
(the file has no header or it is not reliable enough), the filename
extension is used to select the demuxer.
Always falls back on content-based demuxer selection.
.
.TP
.B \-passwd <password> (also see \-user) (network only)
Specify password for HTTP authentication.
.
.TP
.B \-prefer-ipv4 (network only)
Use IPv4 on network connections.
Falls back on IPv6 automatically.
.
.TP
.B \-prefer-ipv6 (IPv6 network only)
Use IPv6 on network connections.
Falls back on IPv4 automatically.
.
.TP
.B \-rawaudio <option1:option2:...>
This option lets you play raw audio files.
It may also be used to play audio CDs which are not 44KHz 16-bit stereo.
For playing raw AC3 streams use \-rawaudio on:format=0x2000.
.sp 1
Available options are:
.sp 1
.PD 0
.RSs
.IPs on\ \ \ 
Use raw audio demuxer.
.IPs channels=<value>
number of channels
.IPs rate=<value>
rate in samples per second
.IPs samplesize=<value>
sample size in bytes
.IPs bitrate=<value>
bitrate for rawaudio files
.IPs format=<value>
fourcc in hex
.RE
.PD 1
.
.TP
.B \-rawvideo <option1:option2:...>
This option lets you play raw video files.
.sp 1
Available options are:
.sp 1
.PD 0
.RSs
.IPs on\ \ \ 
Use raw video demuxer.
.IPs fps=<value>
rate in frames per second (default: 25.0)
.IPs sqcif|qcif|cif|4cif|pal|ntsc
set standard image size
.IPs w=<value>
image width in pixels
.IPs h=<value>
image height in pixels
.IPs y420|yv12|yuy2|y8
set colorspace
.IPs format=<value>
colorspace (fourcc) in hex
.IPs size=<value>
frame size in Bytes
.RE
.PD 1
.
.TP
.B \-rtsp-stream-over-tcp (live.com only)
Used with 'rtsp://' URLs to specify that the resulting incoming RTP and RTCP
packets be streamed over TCP (using the same TCP connection as RTSP).
This option may be useful if you have a broken internet connection that does
not pass incoming UDP packets (see http://www.live.com/\:mplayer/).
.
.TP
.B \-saveidx <filename>
Force index rebuilding and dump the index to <filename>.
Currently this only works with AVI files.
.br
.I NOTE:
This option is obsolete now that MPlayer has OpenDML support.
.
.TP
.B \-sb <byte\ position> (also see \-ss)
Seek to byte position.
Useful for playback from CD-ROM images or VOB files with junk at the beginning.
.
.TP
.B \-srate <Hz>
Selects the given output sampling rate, resampling if necessary.
MEncoder passes this value to LAME for resampling.
.
.TP
.B \-ss <time> (also see \-sb)
Seek to given time position.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-ss 56"
Seeks to 56 seconds.
.IPs "\-ss 01:10:00"
Seeks to 1\ hour 10\ min.
.RE
.PD 1
.
.TP
.B \-tskeepbroken
Tells MPlayer not to discard TS packets reported as broken in the stream.
Sometimes needed to play corrupted MPEG-TS files.
.
.TP
.B \-tsprobe <byte\ position>
When playing an MPEG-TS stream, this option lets you specify how many
bytes in the stream you want MPlayer to search for the desired
audio and video pids.
.
.TP
.B \-tsprog <1\-65534>
When playing an MPEG-TS stream, you can specify with this option which
program (if present) you want to play.
Can be used with \-vid and \-aid.
.
.TP
.B \-tv <option1:option2:...> (TV only)
This option tunes various properties of the TV capture module.
For watching TV with MPlayer, use 'tv://' or 'tv://<channel_number>'
or even 'tv://<channel_name> (see option channels for channel_name below)
as a movie URL.
.sp 1
Available options are:
.RSs
.IPs noaudio
no sound
.IPs driver=<value>
available: dummy, v4l, v4l2, bsdbt848
.IPs device=<value>
Specify TV device (default: /dev/\:video0).
.IPs input=<value>
Specify input (default: 0 (TV), see console output for available inputs).
.IPs freq=<value>
Specify the frequency to set the tuner to (e.g.\& 511.250).
Not compatible with the channels parameter.
.IPs outfmt=<value>
Specify the output format of the tuner with a preset value supported by the
V4L driver (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) or an
arbitrary format given as hex value.
Try outfmt=help for a list of all available formats.
.IPs width=<value>
output window width
.IPs height=<value>
output window height
.IPs fps=<value>
framerate at which to capture video (frames per second)
.IPs buffersize=<value>
maximum size of the capture buffer in megabytes (default: dynamical)
.IPs norm=<value>
available: PAL, SECAM, NTSC.
For v4l2 use the normid option below.
.IPs "normid=<value> (v4l2 only)"
See console output for a list of available TV norms.
.IPs channel=<value>
Set tuner to <value> channel.
.IPs chanlist=<value>
available: europe-east, europe-west, us-bcast, us-cable, etc
.IPs channels=<channel>\-<name>,<channel>\-<name>,...
Set names for channels.
Use _ for spaces in names (or play with quoting ;-).
The channel names will then be written using OSD, and the slave commands
tv_step_channel, tv_set_channel and tv_last_channel will be usable for
a remote control (see LIRC).
Not compatible with the frequency parameter.
.br
.I NOTE:
The channel number will then be the position in the 'channels' list,
beginning with 1.
.br
.I EXAMPLE:
tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
.IPs [brightness|contrast|hue|saturation]=<-100\-100>
Set the image equalizer on the card.
.IPs audiorate=<value>
Set audio capture bitrate.
.IPs forceaudio
Capture audio even if there are no audio sources reported by v4l.
.IPs alsa\ 
Capture from ALSA.
.IPs amode=<0\-3>
Choose an audio mode:
.RSss
0: mono
.br
1: stereo
.br
2: language 1
.br
3: language 2
.REss
.IPs forcechan=<1\-2>
By default, the count of recorded audio channels is determined automatically
by querying the audio mode from the TV card.
This option allows forcing stereo/\:mono recording regardless of the amode
option and the values returned by v4l.
This can be used for troubleshooting when the TV card is unable to report the
current audio mode.
.IPs adevice=<value>
Set an audio device.
<value> should be /dev/\:xxx for OSS and a hardware ID for ALSA.
See the \-ao alsa documentation to find out how to specify the hardware ID.
.IPs audioid=<value>
Choose an audio output of the capture card, if it has more than one.
.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
These options set parameters of the mixer on the video capture card.
They will have no effect, if your card does not have one.
For v4l2 50 maps to the default value of the
control, as reported by the driver.
.IPs immediatemode=<bool>
A value of 0 means capture and buffer audio and video together
(default for MEncoder).
A value of 1 (default for MPlayer) means to do video capture only and let the
audio go through a loopback cable from the TV card to the soundcard.
.IPs mjpeg
Use hardware MJPEG compression (if the card supports it).
When using this option, you do not need to specify the width and height
of the output window, because MPlayer will determine it automatically
from the decimation value (see below).
.IPs decimation=<1,2,4>
choose the size of the picture that will be compressed by hardware
MJPEG compression:
.RSss
1: full size
    704x576    PAL
    704x480    NTSC
.br
2: medium size
    352x288    PAL
    352x240    NTSC
.br
4: small size
    176x144    PAL
    176x120    NTSC
.REss
.IPs quality=<0\-100>
Choose the quality of the JPEG compression
(< 60 recommended for full size).
.RE
.
.TP
.B \-user <username> (also see \-passwd) (network only)
Specify username for HTTP authentication.
.
.TP
.B \-user-agent <string>
Use <string> as user agent for HTTP streaming.
.
.TP
.B \-vid <ID>
Select video channel (MPG: 0\-15, ASF: 0\-255, MPEG-TS: 17\-8190).
When playing an MPEG-TS stream, MPlayer/\:MEncoder will use the first program
(if present) with the chosen video stream.
.
.TP
.B \-vivo <sub-options> (DEBUG CODE)
Force audio parameters for the VIVO demuxer (for debugging purposes).
.
.
.
.SH "OSD/\:SUB OPTIONS"
.I NOTE:
Also see \-vf expand.
.
.TP
.B \-dumpjacosub (MPlayer only)
Convert the given subtitle (specified with the \-sub option) to the time-based
JACOsub subtitle format.
Creates a dumpsub.js file in the current directory.
.
.TP
.B \-dumpmicrodvdsub (MPlayer only)
Convert the given subtitle (specified with the \-sub option) to the
MicroDVD subtitle format.
Creates a dumpsub.sub file in the current directory.
.
.TP
.B \-dumpmpsub (MPlayer only)
Convert the given subtitle (specified with the \-sub option) to MPlayer's
subtitle format, MPsub.
Creates a dump.mpsub file in the current directory.
.
.TP
.B \-dumpsami (MPlayer only)
Convert the given subtitle (specified with the \-sub option) to the time-based
SAMI subtitle format.
Creates a dumpsub.smi file in the current directory.
.
.TP
.B \-dumpsrtsub (MPlayer only)
Convert the given subtitle (specified with the \-sub option) to the time-based
SubViewer (SRT) subtitle format.
Creates a dumpsub.srt file in the current directory.
.
.TP
.B \-dumpsub (MPlayer only) (BETA CODE)
Dumps the subtitle substream from VOB streams.
Also see the \-dump*sub and \-vobsubout* options.
.
.TP
.B \-ffactor <number> (OSD only)
Resample the font alphamap.
Can be:
.PD 0
.RSs
.IPs 0
plain white fonts
.IPs 0.75
very narrow black outline (default)
.IPs 1
narrow black outline
.IPs 10
bold black outline
.RE
.PD 1
.
.TP
.B \-flip-hebrew (FriBiDi only)
Turns on flipping subtitles using FriBiDi.
.
.TP
.B \-font <path\ to\ font.desc\ file> (OSD only)
Search for the OSD/\:SUB fonts in an alternative directory (default for normal
fonts: ~/\:.mplayer/\:font/\:font.desc, default for FreeType fonts:
~/.mplayer/\:subfont.ttf).
.br
.I NOTE:
With FreeType, this option determines the path to the text font file.
With fontconfig, this option determines the fontconfig font name.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
\-font ~/\:.mplayer/\:arial-14/\:font.desc
.br
\-font ~/\:.mplayer/\:arialuni.ttf
.br
\-font 'Bitstream Vera Sans'
.RE
.PD 1
.
.TP
.B \-fontconfig (fontconfig only)
Enables the usage of fontconfig managed fonts.
.
.TP
.B \-forcedsubsonly
Display only forced subtitles for the DVD subtitle stream selected by e.g.\&
\-slang.
.
.TP
.B \-fribidi-charset <charset\ name> (FriBiDi only)
Specifies the character set that will be passed to FriBiDi when
decoding non-UTF-8 subtitles (default: ISO8859-8).
.
.TP
.B \-ifo <VOBsub\ ifo\ file>
Indicate the file that will be used to load palette and frame size for VOBsub
subtitles.
.
.TP
.B \-noautosub
Turns off automatic subtitle file loading.
.
.TP
.B \-osdlevel <0\-3> (MPlayer only)
Specifies which mode the OSD should start in.
.PD 0
.RSs
.IPs 0
subtitles only
.IPs 1
volume + seek (default)
.IPs 2
volume + seek + timer + percentage
.IPs 3
volume + seek + timer + percentage + total time
.RE
.PD 1
.
.TP
.B \-overlapsub
Allows the next subtitle to be displayed while the current one is
still visible (default is to enable the support only for specific
formats).
.
.TP
.B \-sid <ID> (also see \-slang option)
Display DVD subtitles in the language specified by <ID> (0\-31).
MPlayer prints the available subtitle languages when run in verbose (\-v) mode.
.
.TP
.B \-slang <country\ code[,country\ code,...]> (also see \-sid)
Specify a priority list of DVD subtitle languages to use.
Languages must be given as two letter country codes.
MPlayer prints the available subtitle languages when run in verbose (\-v) mode.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-slang hu,en"
Selects Hungarian and falls back on English if Hungarian is not available.
.RE
.PD 1
.
.TP
.B \-spuaa <mode> (OSD only)
Antialiasing/\:scaling mode for DVD/\:VOBsub.
A value of 16 may be added to <mode> in order to force scaling even
when original and scaled frame size already match.
This can be employed to e.g.\& smooth subtitles with gaussian blur.
Available modes are:
.PD 0
.RSs
.IPs 0
none (fastest, very ugly)
.IPs 1
approximate (broken?)
.IPs 2
full (slow)
.IPs 3
bilinear (default, fast and not too bad)
.IPs 4
uses swscaler gaussian blur (looks very good)
.RE
.PD 1
.
.TP
.B \-spualign <-1\-2> (OSD only)
Specify how SPU (DVD/\:VOBsub) subtitles should be aligned.
.PD 0
.RSs
.IPs -1
original position
.IPs 0
align at top (original/\:default behavior)
.IPs 1
align at center
.IPs 2
align at bottom
.RE
.PD 1
.
.TP
.B \-spugauss <0.0\-3.0> (OSD only)
Variance parameter of gaussian used by \-spuaa 4.
Higher means more blur (default: 1.0).
.
.TP
.B \-sub <subtitlefile1,subtitlefile2,...>
Use/\:display these subtitle files.
Only one file can be displayed at the same time.
.
.TP
.B \-sub-bg-alpha <0\-255>
Specify the alpha channel value for subtitles and OSD backgrounds.
Big values mean more transparency.
0 means completely transparent.
.
.TP
.B \-sub-bg-color <0\-255>
Specify the color value for subtitles and OSD backgrounds.
Currently subtitles are grayscale so this value is equivalente to the
intensity of the color.
255 means white and 0 black.
.
.TP
.B \-sub-demuxer <number> (\-subfile only) (BETA CODE)
Force subtitle demuxer type for \-subfile.
Give the demuxer ID as defined in subreader.h.
.
.TP
.B \-sub-fuzziness <mode>
Adjust matching fuzziness when searching for subtitles:
.PD 0
.RSs
.IPs 0
exact match
.IPs 1
Load all subs containing movie name.
.IPs 2
Load all subs in the current directory.
.RE
.PD 1
.
.TP
.B \-sub-no-text-pp
Disables any kind of text post processing done after loading the subtitles.
Used for debug purposes.
.
.TP
.B \-subalign <0\-2> (OSD only)
Specify how subtitles should be aligned with \-subpos.
.PD 0
.RSs
.IPs 0
align at top (original/\:default behavior)
.IPs 1
align at center
.IPs 2
align at bottom
.RE
.PD 1
.
.TP
.B \-subcc \ 
Display DVD Closed Caption (CC) subtitles.
These are NOT the VOB subtitles, these are special ASCII subtitles for the
hearing impaired encoded in the VOB userdata stream on most region 1 DVDs.
CC subtitles have not been spotted on DVDs from other regions so far.
.
.TP
.B \-subcp <codepage> (iconv only)
If your system supports iconv(3), you can use this option to
specify the subtitle codepage.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
\-subcp latin2
.br
\-subcp cp1250
.RE
.PD 1
.
.TP
.B \-subcp enca:<language>:<fallback codepage> (ENCA only)
You can specify your language using a two letter language code to
make ENCA detect the codepage automatically.
If unsure, enter anything and watch mplayer \-v output for available
languages.
Fallback codepage specifies the codepage to use, when autodetection fails.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-subcp enca:cs:latin2"
Guess the encoding, assuming the subtitles are Czech, fall back on
latin 2, if the detection fails.
.IPs "\-subcp enca:pl:cp1250"
Guess the encoding for Polish, fall back on cp1250.
.RE
.PD 1
.
.TP
.B \-subdelay <sec>
Delays subtitles by <sec> seconds.
Can be negative.
.
.TP
.B \-subfile <filename> (BETA CODE)
Currently useless.
Same as \-audiofile, but for subtitle streams (OggDS?).
.
.TP
.B \-subfont-autoscale <0\-3> (FreeType only)
Sets the autoscale mode.
.br
.I NOTE:
0 means that text scale and OSD scale are font heights in points.
.sp 1
The mode can be:
.sp 1
.PD 0
.RSs
.IPs 0
no autoscale
.IPs 1
proportional to movie height
.IPs 2
proportional to movie width
.IPs 3
proportional to movie diagonal (default)
.RE
.PD 1
.
.TP
.B \-subfont-blur <0\-8> (FreeType only)
Sets the font blur radius (default: 2).
.
.TP
.B \-subfont-encoding <value> (FreeType only)
Sets the font encoding.
When set to 'unicode', all the glyphs from the font file will be rendered and
unicode will be used (default: unicode).
.
.TP
.B \-subfont-osd-scale <0\-100> (FreeType only)
Sets the autoscale coefficient of the OSD elements (default: 6).
.
.TP
.B \-subfont-outline <0\-8> (FreeType only)
Sets the font outline thickness (default: 2).
.
.TP
.B \-subfont-text-scale <0\-100> (FreeType only)
Sets the subtitle text autoscale coefficient as percentage of the
screen size (default: 5).
.
.TP
.B \-subfps <rate>
Specify the framerate of the subtitle file (default: movie fps).
.br
.I NOTE:
Only for frame-based subtitle files, i.e.\& not MicroDVD format.
.
.TP
.B \-subpos <0\-100> (useful with \-vf expand) (OSD only)
Specify the position of subtitles on the screen.
The value is the vertical position of the subtitle in % of the screen height.
.
.TP
.B \-subwidth <10\-100> (OSD only)
Specify the maximum width of subtitles on the screen.
Useful for TV-out.
The value is the width of the subtitle in % of the screen width.
.
.TP
.B \-unicode
Tells MPlayer to handle the subtitle file as unicode.
.
.TP
.B \-utf8 \ \ 
Tells MPlayer to handle the subtitle file as UTF-8.
.
.TP
.B \-vobsub <VOBsub\ file\ without\ extension>
Specify a VOBsub file to use for subtitles.
Has to be the full pathname without extension, i.e.\& without
the '.idx', '.ifo' or '.sub'.
.
.TP
.B \-vobsubid <0\-31>
Specify the VOBsub subtitle ID.
.
.
.
.SH "AUDIO OUTPUT OPTIONS (MPLAYER ONLY)"
.
.TP
.B \-abs <value> (\-ao oss only) (OBSOLETE)
Override audio driver/\:card buffer size detection.
.
.TP
.B \-aofile <filename>
Override the default filename employed by \-ao pcm.
.
.TP
.B \-aop <list=plugin1,plugin2...:option1=value1:opt2=val2...>
Specify audio plugin(s) and their options
(also see the audio plugins section of the documentation).
.sp 1
Available options are:
.RSs
.IPs list=[plugins]
comma separated list of plugins (resample, surround, format, volume,
extrastereo, volnorm, delay)
.IPs delay=<sec>
example plugin, do not use (delay plugin only)
.IPs format=<format>
output format (format plugin only)
.IPs fout=<Hz>
output frequency (resample plugin only)
.IPs volume=<0\-255>
volume (volume plugin only)
.IPs mul=<value>
stereo coefficient (default: 2.5) (extrastereo plugin only)
.IPs softclip
compressor / 'soft-clipping' capabilities (volume plugin only)
.RE
.
.TP
.B \-delay <sec>
Audio delay in seconds (positive or negative float value).
.
.TP
.B \-format <0\-8192>
Select the format used for output from the filter layer (according to the
defines in libao2/\:afmt.h):
.PD 0
.RSs
.IPs 1
Mu-Law
.IPs 2
A-Law
.IPs 4
Ima-ADPCM
.IPs 8
unsigned 8-bit
.IPs 16
signed 16-bit (little-endian)
.IPs 32
signed 16-bit (big-endian)
.IPs 64
signed 8-bit
.IPs 128
unsigned 16-bit (little-endian)
.IPs 256
unsigned 16-bit (big-endian)
.IPs 512
MPEG (2) Audio
.IPs 1024
AC3
.IPs 4096
signed 32-bit (little-endian)
.IPs 8192
signed 32-bit (big-endian)
.RE
.PD 1
.
.TP
.B \-mixer <device>
Use a mixer device different from the default /dev/\:mixer.
For ALSA this is the mixer name.
.
.TP
.B \-mixer-channel <mixer line> (\-ao oss and \-ao alsa only)
This option will tell MPlayer to use a different channel for controlling
volume than the default PCM.
Options for OSS include
.B vol, pcm, line.
For a complete list of options look for SOUND_DEVICE_NAMES in
/usr/\:include/\:linux/\:soundcard.h.
For ALSA you can use the names e.g.\& alsamixer displays, like
.B Master, Line, PCM.
.
.TP
.B \-nowaveheader (\-ao pcm only)
Don't include wave header.
Used for raw PCM.
.
.TP
.B \-volstep <0\-100>
Set the step size of mixer volume changes in percent of the whole range
(default: 3).
.
.
.
.SH "AUDIO OUTPUT DRIVERS (MPLAYER ONLY)"
Audio output drivers are interfaces to different audio output facilities.
The syntax is:
.
.TP
.B \-ao <driver1[:suboption1[=value]:...],driver2,...[,]>
Specify a priority list of audio output drivers to be used.
.PP
If the list has a trailing ',' MPlayer will fall back on drivers not
contained in the list.
Suboptions are optional and can mostly be omitted.
.br
.I NOTE:
See \-ao help for a list of compiled-in audio output drivers.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-ao alsa,oss,"
Try the ALSA driver, then the OSS driver, then others.
.IPs "\-ao alsa:mmap:noblock:device=hw=0.3"
Sets noblock-mode, mmap-mode and the device-name as first card, fourth device.
.RE
.PD 1
.sp 1
FIXME: Document suboptions for sdl, arts, esd, jack, nas, macosx, sgi, sun,
dxr2, mpegpes, null, pcm, plugin.
.sp 1
Available audio output drivers are:
.
.TP
.B alsa\ \ \ 
ALSA 0.9/\:1.x audio output driver.
.PD 0
.RSs
.IPs mmap\ \ \ 
Sets experimental mmap-mode (does not work for more than 2 channels).
.IPs noblock
Sets noblock-mode.
.IPs device=<device>
Sets the device name.
Replace any ',' with '.' and any ':' with '=' in the ALSA device name.
.RE
.PD 1
.
.TP
.B alsa1x (OBSOLETE)
ALSA 1.x audio output driver.
Obsoleted by the general alsa audio output driver.
.
.TP
.B alsa9 (OBSOLETE)
ALSA 0.9 audio output driver.
Obsoleted by the general alsa audio output driver.
.
.TP
.B alsa5\ \ 
ALSA 0.5 audio output driver.
.
.TP
.B oss\ \ \ \ 
OSS audio output driver
.PD 0
.RSs
.IPs dsp-device
Sets the audio-output device (default: /dev/\:dsp).
.RE
.PD 1
.
.TP
.B sdl\ \ \ \ 
Highly platform independent SDL (Simple Directmedia Layer) library
audio output driver.
.
.TP
.B arts\ \ \ 
Audio output through the Arts daemon.
.
.TP
.B esd\ \ \ \ 
Audio output through the ESD daemon.
.
.TP
.B jack\ \ \ \ 
Audio output through JACK (Jack Audio Connection Kit).
.
.TP
.B nas\ \ \ \ 
Audio output through NAS.
.
.TP
.B macosx (Mac OS X only)
Native Mac OS X audio output driver.
.
.TP
.B sgi (SGI only)
Native SGI audio output driver.
.
.TP
.B sun (Sun only)
Native Sun audio output driver.
.
.TP
.B win32 (Windows only)
Native Windows waveout audio output driver.
.
.TP
.B dxr2 (also see \-dxr2) (DXR2 only)
Creative DXR2 specific output driver.
.
.TP
.B mpegpes (DVB only)
DVB specific output driver.
.
.TP
.B null\ \ \ 
Produces no audio output but maintains video playback speed.
Use \-nosound for benchmarking.
.
.TP
.B pcm (also see \-aofile)
Raw PCM/\:wave file writer audio output.
Writes the sound to ./audiodump.wav.
.
.TP
.B plugin\ \ 
Plugin audio output driver.
.
.
.
.SH "VIDEO OUTPUT OPTIONS (MPLAYER ONLY)"
.
.TP
.B \-aa* (\-vo aa only)
You can get a list and an explanation of available options executing
.I mplayer \-aahelp
.
.TP
.B \-adapter <value>
Set the graphics card that will receive the image.
Needs the \-vm option to work.
You can get a list of available cards when you run this option with \-v.
Works currently only with \-vo directx.
.
.TP
.B \-bpp <depth>
Override the autodetected color depth.
Only supported by the fbdev, dga, svga, vesa video output drivers.
.
.TP
.B \-brightness <-100\-100>
Adjust the brightness of the video signal (default: 0).
Not supported by all video output drivers.
.
.TP
.B \-contrast <-100\-100>
Adjust the contrast of the video signal (default: 0).
Not supported by all video output drivers.
.
.TP
.B \-dfbopts <value> (\-vo directfb only)
Specify a parameter list for the directfb video output driver.
.
.TP
.B \-display <name> (X11 only)
Specify the hostname and display number of the X server you want to display
on.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
\-display xtest.localdomain:0
.RE
.PD 1
.
.TP
.B \-double
Enables double buffering.
Fixes flicker by storing two frames in memory, and displaying one while
decoding another.
Can affect OSD negatively, but often it removes OSD flickering.
Needs twice the memory of a single buffer, so it won't work on cards with
very little video memory.
.
.TP
.B \-dr \ \ \ 
Turns on direct rendering (not supported by all codecs and video outputs)
.br
.I WARNING:
May cause OSD/\:SUB corruption!
.
.TP
.B \-dxr2 <option1:option2:...>
This option is used to control the dxr2 video output driver.
.RSs
.IPs ar-mode=<value>
aspect ratio mode (0 = normal, 1 = pan and scan, 2 = letterbox (default))
.IPs iec958-encoded
Set iec958 output mode to encoded.
.IPs iec958-decoded
Set iec958 output mode to decoded (default).
.IPs macrovision=<value>
macrovision mode (0 = off (default), 1 = agc, 2 = agc 2 colorstripe,
3 = agc 4 colorstripe)
.IPs mute\ 
mute sound output
.IPs unmute
unmute sound output
.IPs ucode=<value>
path to the microcode
.RE
.RS
.sp 1
.I TV output
.RE
.RSs
.IPs 75ire
enable 7.5 IRE output mode
.IPs no75ire
disable 7.5 IRE output mode (default)
.IPs bw\ \ \ 
b/\:w TV output
.IPs color
color TV output (default)
.IPs interlaced
interlaced TV output (default)
.IPs nointerlaced
disable interlaced TV output
.IPs norm=<value>
TV norm (ntsc (default), pal, pal60, palm, paln, palnc)
.IPs square-pixel
set pixel mode to square
.IPs ccir601-pixel
set pixel mode to ccir601
.RE
.RS
.sp 1
.I overlay
.RE
.RSs
.IPs cr-left=<0\-500>
Set the left cropping value (default: 50).
.IPs cr-right=<0\-500>
Set the right cropping value (default: 300).
.IPs cr-top=<0\-500>
Set the top cropping value (default: 0).
.IPs cr-bottom=<0\-500>
Set the bottom cropping value (default: 0).
.IPs ck-[r|g|b]=<0\-255>
Set the r(ed), g(reen) or b(lue) gain of the overlay color-key.
.IPs ck-[r|g|b]min=<0\-255>
minimum value for the respective color key
.IPs ck-[r|g|b]max=<0\-255>
maximum value for the respective color key
.IPs ignore-cache
Ignore cached overlay settings.
.IPs update-cache
Update cached overlay settings.
.IPs ol-osd
Enable overlay onscreen display.
.IPs nool-osd
Disable overlay onscreen display (default).
.IPs ol[h|w|x|y]-cor=<-20\-20>
Adjust the overlay size (h,w) and position (x,y) in case it does not
match the window perfectly (default: 0).
.IPs overlay
Activate overlay (default).
.IPs nooverlay
Activate TVout.
.IPs overlay-ratio=<1\-2500>
Tune the overlay (default: 1000).
.RE
.
.TP
.B \-fb <device> (\-vo fbdev or directfb only) (OBSOLETE)
Specifies the framebuffer device to use (default: /dev/\:fb0).
.
.TP
.B \-fbmode <modename> (\-vo fbdev only)
Change video mode to the one that is labeled as <modename> in
/etc/\:fb.modes.
.br
.I NOTE:
VESA framebuffer doesn't support mode changing.
.
.TP
.B \-fbmodeconfig <filename> (\-vo fbdev only)
Override framebuffer mode configuration file (default: /etc/\:fb.modes).
.
.TP
.B \-forcexv (\-vo sdl only)
Force using XVideo through the sdl video output driver.
.
.TP
.B \-fs (also see \-zoom)
Fullscreen playback (centers movie, and paints black bands around it).
Not supported by all video output drivers.
.
.TP
.B \-fsmode-dontuse <0\-31> (OBSOLETE, use the \-fs option)
Try this option if you still experience fullscreen problems.
.
.TP
.B \-fstype <type1,type2,...> (X11 only)
Specify a priority list of fullscreen modes to be used.
You can negate the modes by prefixing them with '\-'.
If you experience problems like the fullscreen window being covered
by other windows try using a different order.
.br
.I NOTE:
See \-fstype help for a full list of available modes.
.sp 1
The available types are:
.sp 1
.PD 0
.RSs
.IPs above
Use the _NETWM_STATE_ABOVE hint if available.
.IPs below
Use the _NETWM_STATE_BELOW hint if available.
.IPs fullscreen
Use the _NETWM_STATE_FULLSCREEN hint if available.
.IPs layer
Use the _WIN_LAYER hint with the default layer.
.IPs layer=<0..15>
Use the _WIN_LAYER hint with the given layer number.
.IPs netwm
Force NETWM style.
.IPs none\ 
Do not set fullscreen window layer.
.IPs stays_on_top
Use _NETWM_STATE_STAYS_ON_TOP hint if available.
.REss
.sp 1
.RS
.I EXAMPLE:
.RE
.PD 0
.RSs
.IPs layer,stays_on_top,above,fullscreen
Default order, will be used as a fallback if incorrect or
unsupported modes are specified.
.IPs \-fullscreen
Fixes fullscreen switching on OpenBox 1.x.
.RE
.PD 1
.
.TP
.B \-geometry x[%][:y[%]] or [WxH][+x+y]
Adjust where the output is on the screen initially.
The x and y specifications are in pixels measured from the top-left of the
screen to the top-left of the image being displayed, however if a percentage
sign is given after the argument it turns the value into a percentage of the
screen size in that direction.
It also supports the standard X11 \-geometry option format.
.br
.I NOTE:
This option is only supported by the x11, xmga, xv, xvmc, xvidix,
directx and tdfxfb video output drivers.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs 50:40
Places the window at x=50, y=40.
.IPs 50%:50%
Places the window in the middle of the screen.
.IPs 100%\ 
Places the window at the middle of the right edge of the screen.
.IPs 100%:100%
Places the window at the bottom right corner of the screen.
.RE
.PD 1
.
.TP
.B \-guiwid <window\ ID> (also see \-wid) (GUI only)
This tells the GUI to also use an X11 window and stick itself to the bottom
of the video, which is useful to embed a mini-GUI in a browser (with the
MPlayer plugin for instance).
.
.TP
.B \-hue <-100\-100>
Adjust the hue of the video signal (default: 0).
You can get a colored negative of the image with this option.
Not supported by all video output drivers.
.
.TP
.B \-monitor-dotclock <range[,range,...]> (\-vo fbdev and vesa only)
Specify the dotclock or pixelclock range of the monitor.
.
.TP
.B \-monitor-hfreq <range[,range,...]> (\-vo fbdev and vesa only)
Specify the horizontal frequency range of the monitor.
.
.TP
.B \-monitor-vfreq <range[,range,...]> (\-vo fbdev and vesa only)
Specify the vertical frequency range of the monitor.
.
.TP
.B \-monitoraspect <ratio> (also see \-aspect)
Set the aspect ratio of your monitor or TV screen.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
\-monitoraspect 4:3  or 1.3333
.br
\-monitoraspect 16:9 or 1.7777
.RE
.PD 1
.
.TP
.B \-nograbpointer
Do not grab the mouse pointer after a video mode change (\-vm).
Useful for multihead setups.
.
.TP
.B \-nokeepaspect
Do not keep window aspect ratio when resizing windows.
Only works with the x11, xv, xmga, xvidix, directx video output drivers.
Furthermore under X11 your window manager has to honor window aspect hints.
.
.TP
.B \-noxv (\-vo sdl only)
Disables using XVideo through the sdl video output driver.
.
.TP
.B \-ontop\ 
Makes the player window stay on top of other windows.
Supported by video output drivers which use X11, except SDL,
as well as directx and gl2.
.
.TP
.B \-panscan <0.0\-1.0>
Enables pan and scan functionality (cropping the sides of e.g.\& a 16:9
movie to make it fit a 4:3 display without black bands).
The range controls how much of the image is cropped.
Only works with the xv, xmga, mga and xvidix video output drivers.
.
.TP
.B \-refreshrate <Hz>
Set the monitor refreshrate in Hz.
Currently only supported by \-vo directx combined with the \-vm option.
.
.TP
.B \-rootwin
Play movie in the root window (desktop background).
Desktop background images may cover the movie window, though.
Only works with the x11, xv, xmga, xvidix, quartz and directx video output drivers.
.
.TP
.B \-saturation <-100\-100>
Adjust the saturation of the video signal (default: 0).
You can get grayscale output with this option.
Not supported by all video output drivers.
.
.TP
.B \-screenh <pixels>
Specify the vertical screen resolution for video output drivers which
do not know the screen resolution like fbdev, x11 and TVout.
.
.TP
.B \-screenw <pixels>
Specify the horizontal screen resolution for video output drivers which
do not know the screen resolution like fbdev, x11 and TVout.
.
.TP
.B \-stop-xscreensaver (X11 only)
Turns off xscreensaver at startup and turns it on again on exit.
.
.TP
.B \-vm \ \ \ 
Try to change to a different video mode.
Supported by the dga, x11, xv, sdl and directx video output drivers.
If used with the directx video output driver the \-screenw,
\-screenh, \-bpp and \-refreshrate options can be used to set
the new display mode.
.
.TP
.B \-vsync \ \ 
Enables VBI for the vesa, dfbmga and svga video output drivers.
.
.TP
.B \-wid <window\ ID> (also see \-guiwid) (X11 only)
This tells MPlayer to attach to an existing X11 window.
Useful to embed MPlayer in a browser (e.g.\& the plugger extension).
.
.TP
.B \-xineramascreen <0\-...>
In Xinerama configurations (i.e.\& a single desktop that spans across multiple
displays) this option tells MPlayer which screen to display movie on.
.
.TP
.B \-z <0\-9> (\-vo png only)
Specifies the compression level of the png video output driver.
0 is no compression, 9 is the maximum compression.
.
.TP
.B \-zrbw (\-vo zr only)
Display in black and white.
For optimal performance, this can be combined with '\-lavdopts gray'.
.
.TP
.B \-zrcrop <[width]x[height]+[x offset]+[y offset]> (\-vo zr only)
Select a part of the input image to display, multiple occurences
of this option switch on cinerama mode.
In cinerama mode the movie is distributed over more than one TV
(or beamer) to create a larger image.
Options appearing after the n-th \-zrcrop apply to the n-th MJPEG card, each
card should at least have a \-zrdev in addition to the \-zrcrop.
For examples, see the output of \-zrhelp and the Zr section of the
documentation.
.
.TP
.B \-zrdev <device> (\-vo zr only)
Specify the device special file that belongs to your MJPEG card, by default
the zr video output driver takes the first v4l device it can find.
.
.TP
.B \-zrfd (\-vo zr only)
Force decimation: Decimation, as specified by \-zrhdec and \-zrvdec, only
happens if the hardware scaler can stretch the image to its original size.
Use this option to force decimation.
.
.TP
.B \-zrhdec <1,2,4> (\-vo zr only)
Horizontal decimation: Ask the driver to send only every 2nd or 4th
line/\:pixel of the input image to the MJPEG card and use the scaler
of the MJPEG card to stretch the image to its original size.
.
.TP
.B \-zrhelp (\-vo zr only)
Display a list of all \-zr* options, their default values and a
cinerama mode example.
.
.TP
.B \-zrnorm <norm> (\-vo zr only)
Specify the TV norm as PAL or NTSC (default: no change).
.
.TP
.B \-zrquality <1\-20> (\-vo zr only)
A number from 1 (best) to 20 (worst) representing the JPEG encoding quality.
.
.TP
.B \-zrvdec <1,2,4> (\-vo zr only)
Vertical decimation: Ask the driver to send only every 2nd or 4th
line/\:pixel of the input image to the MJPEG card and use the scaler
of the MJPEG card to stretch the image to its original size.
.
.TP
.B \-zrxdoff <x display offset> (\-vo zr only)
If the movie is smaller than the TV screen, this option specifies the x
offset from the upper-left corner of the TV screen (default: centered).
.
.TP
.B \-zrydoff <y display offset> (\-vo zr only)
If the movie is smaller than the TV screen, this option specifies the y
offset from the upper-left corner of the TV screen (default: centered).
.
.
.
.SH "VIDEO OUTPUT DRIVERS (MPLAYER ONLY)"
Video output drivers are interfaces to different video output facilities.
The syntax is:
.
.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 ',' MPlayer will fall back on drivers not
contained in the list.
Suboptions are optional and can mostly be omitted.
.br
.I NOTE:
See \-vo help for a list of compiled-in video output drivers.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-vo xmga,xv,"
Try the Matrox X11 driver, then the Xv driver, then others.
.IPs "\-vo directx:noaccel"
Uses the DirectX driver with acceleration features turned off.
.RE
.PD 1
.sp 1
FIXME: Document suboptions for x11, xover, dga, sdl, vidix, xvidix, fbdev,
fbdev2, vesa, null, aa, bl, ggi, mga, xmga, syncfb, 3dfx, tdfx_vid,
tdfxfb, dxr2, dxr3, mpegpes, zr, zr2, yuv4mpeg, gif89a, jpeg, pgm, png, tga.
.sp 1
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 port=<number>
Select a specific XVideo port.
.RE
.PD 1
.
.TP
.B x11 (X11 only)
Shared memory video 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 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 dga (X11 only)
Play 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 video output driver on cards that support it.
.PD 0
.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 and sis_vid.
.RE
.PD 1
.
.TP
.B xvidix (X11 only)
X11 frontend for VIDIX
.PD 0
.RSs
.IPs <subdevice>
same as vidix
.RE
.PD 1
.
.TP
.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 winvidix (Windows only)
Windows frontend for VIDIX
.PD 0
.RSs
.IPs <subdevice>
same as vidix
.RE
.PD 1
.
.TP
.B directx (Windows only)
Video 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 video 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 device_id=<number>
Choose the display device to use in fullscreen.
.RE
.PD 1
.
.TP
.B fbdev (Linux only)
Uses the kernel framebuffer to play video.
.
.TP
.B fbdev2 (Linux only)
Uses the kernel framebuffer to play video,
alternative implementation.
.
.TP
.B vesa\ \ \ 
Very general video output driver that should work on any VESA VBE 2.0
compatible card.
.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
.RE
.PD 1
.
.TP
.B svga\ \ \ 
Play video using the SVGA library.
.PD 0
.RSs
.IPs "<video mode>"
Specify video mode to use.
The mode can be given in a <width>x<height>x<colors> format,
e.g.\& 640x480x16M or be a graphics mode number, e.g.\& 84.
.IPs bbosd
Draw OSD into black bands below the movie (slower).
.IPs native
Use only native drawing functions.
This avoids direct rendering, OSD and hardware acceleration.
.IPs retrace
Force frame switch on vertical retrace.
Usable only with \-double.
It has the same effect as the \-vsync option.
.IPs sq\ \ \ 
Try to select a video mode with square pixels.
.IPs vidix
Use svga with VIDIX.
.RE
.PD 1
.
.TP
.B gl\ \ \ \ \ 
OpenGL video 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 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 gl2\ \ \ \ 
OpenGL video 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 video output driver that works on a text console.
.
.TP
.B caca\ \ \ 
Color ASCII art video 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\ \ \ \ 
GGI graphics system video output driver
.
.TP
.B directfb
Play video using the DirectFB library.
.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).
.RE
.PD 1
.
.TP
.B dfbmga\ 
Matrox G400/\:G450/\:G550 specific video output driver that uses the
DirectFB library to make use of special hardware features.
Enables CRTC2 (second head), displaying video independently of the first head.
.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 framerate of the movie.
.RE
.PD 1
.
.TP
.B mga (Linux only)
Matrox specific video 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 video 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)
3Dfx specific video output driver.
FIXME: What's the difference between 3dfx, tdfxfb and tdfx_vid?
.
.TP
.B tdfxfb (Linux only)
This driver employs the tdfx framebuffer driver to play movies with
YUV acceleration.
FIXME: What's the difference between 3dfx, tdfxfb and tdfx_vid?
.
.TP
.B tdfx_vid (Linux only)
3Dfx specific video output driver.
Works in conjunction with a kernel module.
FIXME: What's the difference between 3dfx, tdfxfb and tdfx_vid?
.
.TP
.B dxr2 (also see \-dxr2) (DXR2 only)
Creative DXR2 specific video output driver.
.PD 0
.RSs
.IPs x11
Enables overlay.
.IPs xv
Enables overlay.
.RE
.PD 1
.
.TP
.B dxr3 (DXR3 only)
Sigma Designs em8300 MPEG decoder chip (Creative DXR3, Sigma Designs
Hollywood Plus) specific video output driver.
Also see the lavc video filter.
.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.
.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 mpegpes (DVB only)
DVB specific video output driver.
.PD 0
.RSs
.IPs card=<1\-4>
Specifies the device number to use if you have more than one DVB output card
(V3 API only, such as 1.x.y series drivers).
.RE
.PD 1
.
.TP
.B zr (also see \-zr* and \-zrhelp)
Video output driver for a number of MJPEG capture/\:playback cards.
.
.TP
.B zr2\ \ \ \ 
Video output driver for a number of MJPEG capture/\:playback cards,
second generation.
Also see the zrmjpeg video filter.
.
.TP
.B md5\ \ \ \ 
Generates images from each frame with the help of \-vo pgm and writes
their MD5 sums into a file.
Useful for debugging.
.PD 0
.RSs
.IPs filename
Allows specifying the output filename (default: ./md5).
.RE
.PD 1
.
.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.
The format is the same as the one employed by mjpegtools, so this is
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.
.PD 0
.RSs
.IPs [no]progressive
Specify standard or progressive JPEG (default: noprogressive).
.IPs [no]baseline
Specify use of baseline or not (default: baseline).
.IPs optimize=<0\-100>
optimization factor (default: 100)
.IPs smooth=<0\-100>
smooth factor (default: 0)
.IPs quality=<0\-100>
quality factor (default: 75)
.IPs outdir=<value>
Specify the directory to save the JPEG files to.
If not specified, all JPEG files are written to the current directory.
.IPs subdirs=<value>
If specified, MPlayer will create numbered subdirectories with the
specified prefix.
If it's not specified, no subdirectories are created
and all JPEG files are written to the same directory.
.IPs maxfiles=<value>
Maximum number of JPEG files to be saved per subdirectory in case subdirs
is specified.
Must be equal to or larger than 1 (default: 1000).
.RE
.PD 1
.
.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.
.
.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.
.
.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.
.
.
.
.SH "DECODING/\:FILTERING OPTIONS"
.
.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.
If the list has a trailing ',' MPlayer will fall back on codecs not
contained in the list.
.br
.I NOTE:
See \-ac help for a full list of available codecs.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-ac mp3acm"
Force the l3codeca.acm MP3 codec.
.IPs "\-ac mad,"
Try libmad first, then fall back on others.
.IPs "\-ac hwac3,a52,"
Try hardware AC3 passthrough, software AC3, then others.
.IPs "\-ac -ffmp3,"
Skip FFmpeg's MP3 decoder.
.RE
.PD 1
.
.TP
.B \-af <filter1[=parameter1:parameter2:...],filter2,...>
Activate a comma separated list of audio filters and their options.
Also see the audio filters section of the documentation.
.sp 1
Available filters are:
.RSs
.IPs resample[=srate[:sloppy][:type]]
Changes the sample rate of the audio stream to an integer srate in 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 when 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 bytes per sample and the format 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: Sets the desired gain in dB for all channels in the stream
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 input channels (1\-6)
.br
lij: How much of input channel j is mixed into output channel i.
.REss
.IPs sub[=fc:ch]
Add subwoofer channel.
.RSss
fc: cutoff frequency for low-pass filter (20Hz to 300Hz) (default: 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: 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
.
.TP
.B \-af-adv <force=(0\-3):list=(filters)> (also see \-af)
Specify advanced audio filter options:
.RSs
.IPs force=<0\-3>
Forces the insertion of audio filters to one of the following:
.RSss
0: completely automatic filter insertion (default)
.br
1: Optimize for accuracy.
.br
2: Optimize for speed.
.br
3: Turn off automatic filter insertion.
.REss
.IPs list=<filters>
Same as \-af.
.RE
.
.TP
.B \-afm <driver1,driver2,...>
Specify a priority list of audio codec families to be used, according
to their codec name in codecs.conf.
Falls back on the default codecs if none of the given codec families work.
.br
.I NOTE:
See \-afm help for a full list of available codec families.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-afm ffmpeg"
Try FFmpeg's libavcodec codecs first.
.IPs "\-afm acm,dshow"
Try Win32 codecs first.
.RE
.PD 1
.
.TP
.B \-aspect <ratio>
Override movie aspect ratio.
It is autodetected for MPEG files, but it cannot be done for most AVI files.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
\-aspect 4:3  or \-aspect 1.3333
.br
\-aspect 16:9 or \-aspect 1.7777
.RE
.PD 1
.
.TP
.B \-noaspect
Disable automatic movie aspect ratio compensation.
.
.TP
.B \-flip \ 
Flip image upside-down.
.
.TP
.B \-lavdopts <option1:option2:...> (DEBUG CODE)
Specify libavcodec decoding parameters.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
\-lavdopts bug=1
.RE
.PD 1
.sp 1
.RS
Available options are:
.RE
.RSs
.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 autodetection)
.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/\:version)
.br
128 (mpeg4): old standard qpel (autodetected per fourcc/\:version)
.br
256 (mpeg4): another qpel bug (autodetected per fourcc/\:version)
.br
512 (mpeg4): direct-qpel-blocksize bug (autodetected per fourcc/\:version)
.br
1024 (mpeg4): edge padding bug (autodetected per fourcc/\:version)
.REss
.IPs debug=<value>
debug:
.RSss
.br
0: disabled
.br
1: picture info
.br
2: rate control
.br
4: bitstream
.br
8: macroblock (MB) type
.br
16: quantizer parameter (QP)
.br
32: motion vector
.br
0x0040: motion vector visualization (use \-noslices)
.br
0x0080: macroblock (MB) skip
.br
0x0100: startcode
.br
0x0200: PTS
.br
0x0400: error resilience
.br
0x0800: memory management control operations (H.264)
.br
0x1000: bugs
.REss
.IPs ec=<value>
error concealment:
.RSss
1: Use strong deblock filter for damaged MBs.
.br
2: iterative motion vector (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: aggressive (More checks, but might cause problems even for valid bitstreams.)
.br
4: very aggressive
.REss
.IPs fast\ 
Enable optimizations that do not comply to the specification and might
potentially cause problems, like simpler dequantization, assuming use
of the default quantization matrix, assuming YUV 4:2:0, skipping a few
checks to detect damaged bitstreams).
.IPs gray\ 
grayscale only decoding (a bit faster than with color)
.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 "sb=<number> (MPEG2 only)"
Skip the given number of macroblock rows at the bottom.
.IPs "st=<number> (MPEG2 only)"
Skip the given number of macroblock rows at the top.
.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 vstats
Prints some statistics and stores them in ./vstats_*.log.
.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> (OpenDivX only) (OBSOLETE)
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, it is mostly
0\-6, where 0=disable, 6=slowest/\:best.
.
.TP
.B \-pp <quality> (also see \-vf pp)
Set the DLL postprocess level.
This option is no longer usable with \-vf pp.
It only works with Win32 DirectShow DLLs with internal postprocessing routines.
The valid range of \-pp values varies by codec, it is mostly
0\-6, where 0=disable, 6=slowest/\:best.
.
.TP
.B \-pphelp (also see \-vf pp)
Show a summary about the available postprocess filters and their usage.
.
.TP
.B \-ssf <mode>
Specifies SwScaler parameters.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
\-vf scale \-ssf lgb=3.0
.RE
.PD 1
.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
.RE
.PD 1
.
.TP
.B \-stereo <mode>
Select type of MP2/\:MP3 stereo output.
.PD 0
.RSs
.IPs 0
stereo
.IPs 1
left channel
.IPs 2
right channel
.RE
.PD 1
.
.TP
.B \-sws <software\ scaler\ type> (also see \-vf scale and \-zoom)
Specify the software scaler algorithm to be used with the \-zoom option.
This affects video output drivers which lack hardware acceleration, e.g.\& x11.
.sp 1
Available types are:
.sp 1
.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
.RE
.PD 1
.sp 1
.RS
.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).
.RE
.
.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.
If the list has a trailing ',' MPlayer will fall back on codecs not
contained in the list.
.br
.I NOTE:
See \-vc help for a full list of available codecs.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-vc divx"
Force Win32/\:VFW DivX codec, no fallback.
.IPs "\-vc divx4,"
Try divx4linux codec first, then fall back on others.
.IPs "\-vc -divxds,-divx,"
Skip Win32 DivX codecs.
.IPs "\-vc ffmpeg12,mpeg12,"
Try libavcodec's MPEG1/\:2 codec, then libmpeg2, then others.
.RE
.PD 1
.
.TP
.B \-vfm <driver1,driver2,...>
Specify a priority list of video codec families to be used, according
to their names in codecs.conf.
Falls back on the default codecs if none of the given codec families work.
.br
.I NOTE:
See \-vfm help for a full list of available codec families.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-vfm ffmpeg,dshow,vfw"
Try the libavcodec, then Directshow, then VfW codecs and fall back
on others, if they do not work.
.IPs "\-vfm xanim"
Try XAnim codecs first.
.RE
.PD 1
.
.TP
.B \-x <x> (MPlayer only)
Scale image to width <x> (if software/\:hardware scaling is available).
Disables aspect calculations.
.
.TP
.B \-xvidopts <option1:option2:...>
Specify additional parameters when decoding with XviD.
.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.
.RE
.PD 1
.
.TP
.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 \-y <y> (MPlayer only)
Scale image to height <y> (if software/\:hardware scaling is available).
Disables aspect calculations.
.
.TP
.B \-zoom\ \ 
Allow software scaling, where available.
Can be used to force scaling with \-vf scale.
.br
.I NOTE:
\-vf scale will ignore \-x / \-y / \-xy / \-fs / \-aspect without
\-zoom.
.
.
.
.SH "VIDEO FILTERS"
Video filters allow you to modify the video stream and its properties.
The syntax is:
.
.TP
.B \-vf <filter1[=parameter1:parameter2:...],filter2,...>
Setup a chain of video filters.
.
.TP
.B \-vop <...,filter2[=parameter1:parameter2:...],filter1> (OBSOLETE)
Setup a chain of video filters, to be applied in
.B reverse
order.
Deprecated in favor of \-vf.
.PP
Many parameters are optional and set to default values if omitted.
To explicitly use a default value set a parameter to '-1'.
Parameters w:h means width x height in pixels, x:y means x;y position counted
from the upper left corner of the bigger image.
.br
.I NOTE:
To get a full list of available video filters, see \-vf help.
.sp 1
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 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 cropdetect[=limit:round]
Calculates necessary cropping parameters and prints the recommended parameters
to stdout.
.PD 0
.RSs
.IPs limit
Threshold, which can be optionally specified from nothing (0) to
everything (255) (default: 24).
.br
.IPs round
Value which the width/height should be divisible by (default: 16).
The offset is automatically adjusted to center the video.
Use 2 to get only even dimensions (needed for 4:2:2 video).
16 is best when encoding to most video codecs.
.RE
.PD 1
.
.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 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 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.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.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 flip\ \ \ 
Flips the image upside down.
See also option \-flip.
.
.TP
.B mirror\ 
Mirrors the image on the Y axis.
.
.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.
.
.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).
.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 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 yuy2\ \ \ 
Forces software YV12/\:I420 or 422P to YUY2 conversion.
Useful for video cards/\:drivers with slow YV12 but fast YUY2 support.
.
.TP
.B yvu9\ \ \ 
Forces software YVU9 to YV12 colorspace conversion.
Deprecated in favor of the software scaler.
.
.TP
.B yuvcsp\ 
Clamps YUV color values to the CCIR 601 range without doing real conversion.
.
.TP
.B rgb2bgr[=swap]
RGB 24/\:32 <\-> BGR 24/\:32 colorspace conversion.
.PD 0
.RSs
.IPs swap\ 
Also perform  R <\-> B swapping.
.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)
.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.
.PD 0
.RSs
.IPs fourcc
format name like rgb15, bgr24, yv12, etc (default: yv12)
.RE
.PD 1
.
.TP
.B pp[=filter1[:option1[:option2...]]/\:[-]filter2...] (also see \-pphelp)
This option enables usage of MPlayer's internal postprocessing filter,
and also gives an interface where you can pass options to the named filter.
Subfilters must be separated by /.
Each filter defaults to 'c' (chrominance).
The keywords accept a '-' prefix to disable the option.
A ':' followed by a letter may be appended to the option to indicate its
scope:
.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).
.RE
.PD 1
.sp 1
.RS
.br
.I NOTE:
\-pphelp shows a list of available postprocessing filters.
.sp 1
.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.
.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)
.br
1: soft thresholding (better deringing, but blurrier)
.RE
.
.TP
.B qp=equation
quantizer parameter (QP) change filter
.RSs
.IPs equation
some equation like "2+2*sin(PI*qp)"
.RE
.
.TP
.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 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
.
.TP
.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 <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 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 luma\ 
spatial luma strength (default = 4)
.IPs chroma
spatial chroma strength (default = 3)
.IPs time\ 
temporal strength (default = 6)
.RE
.PD 1
.
.TP
.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 lavcdeint
Use libavcodec's deinterlace filter.
.
.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.
.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).
.RE
.PD 1
.
.TP
.B unsharp=l|cWxH:amount[:l|cWxH:amount]
Unsharp mask / gaussian blur.
.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
.RE
.
.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.
.PD 0
.RSs
.IPs d
deinterleave (placing one above the other)
.IPs i
interleave
.IPs s
swap fields (exchange even & odd lines)
.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.
.PD 0
.RSs
.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 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.
.br
.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.
.br
.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, 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 framerate.
.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.
.
.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 framerate.
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 filename (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:
.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
.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
.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)
.RE
.PD 1
.
.TP
.B boxblur=radius:power[:radius:power]
box blur
.PD 0
.RSs
.IPs radius
size of the filter
.IPs power
How often the filter should be applied.
.RE
.PD 1
.
.TP
.B sab=rad:pf:colorDiff[:rad:pf:colorDiff]
shape adaptive blur
.PD 0
.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)
.RE
.PD 1
.
.TP
.B smartblur=rad:strength:thresh[:rad:strength:thresh]
smart blur
.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)
.RE
.PD 1
.
.TP
.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
perspective correction
.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)
.RE
.PD 1
.
.TP
.B 2xsai\ \ 
Use the 2x scale and interpolate algorithm for scaling and smoothing images.
.
.TP
.B 1bpp\ \ \ 
1bpp bitmap to YUV/\:BGR 8/\:15/\:16/\:32 conversion
.
.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.
.PD 0
.RSs
.IPs lines
number of lines to select from the middle of the image (default: 12)
.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
.sp 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
.sp 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:    same as original
.br
255:  makes everything opaque
.br
-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
1: clear
.REss
.RE
.PD 1
.
.TP
.B framestep=I|[i]step
Renders only every nth frame or every Intra (key) frame.
.sp 1
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).
.sp 1
When a keyframe 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.).
.sp 1
If you call the filter with a numeric parameter 'step' then only one in
every 'step' frames is rendered.
.sp 1
If you put an 'i' (lowercase) before the number then an I! is printed
(like the I parameter).
.sp 1
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 :-)
.sp 1
The parameters are:
.sp 1
.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 "GENERAL ENCODING OPTIONS (MENCODER ONLY)"
.
.TP
.B \-audio-delay <0.0\-...>
Sets the audio delay field in the header.
Default is 0.0, negative values do not work.
This does not delay the audio while encoding, but the player will see the
default audio delay, sparing you the use of the \-delay option.
.
.TP
.B \-audio-density <1\-50>
Number of audio chunks per second (default is 2 for 0.5s long audio chunks).
.br
.I NOTE:
CBR only, VBR ignores this as it puts each packet in a new chunk.
.
.TP
.B \-audio-preload <0.0\-2.0>
Sets up the audio buffering time interval (default: 0.5s).
.
.TP
.B \-endpos <[[hh:]mm:]ss[.ms]|size[b|kb|mb]> (also see \-ss and \-sb)
Stop encoding at the given time or byte position.
.br
.I NOTE:
Byte position will not be accurate, as it can only stop at
a frame boundary.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-endpos 56"
Encode only 56 seconds.
.IPs "\-endpos 01:10:00"
Encode only 1 hour 10 minutes.
.IPs "\-endpos 100mb"
Encode only 100 MBytes.
.RE
.PD 1
.
.TP
.B \-ffourcc <fourcc>
Can be used to override the video fourcc of the output file.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-ffourcc div3"
Will have the output file contain 'div3' as video fourcc.
.RE
.PD 1
.
.TP
.B \-force-avi-aspect <0.2\-3.0>
Override the aspect stored in the AVI OpenDML vprp header.
This can be used to change the aspect ratio with \-ovc copy.
.
.TP
.B \-info <option1:option2:...> (AVI only)
Specify the info header of the resulting AVI file.
.sp 1
Available options are:
.RSs
.IPs help\ 
Show this description.
.IPs name=<value>
title of the work
.IPs artist=<value>
artist or author of the work
.IPs genre=<value>
original work category
.IPs subject=<value>
contents of the work
.IPs copyright=<value>
copyright information
.IPs srcform=<value>
original format of the digitized material
.IPs comment=<value>
general comments about the work
.RE
.
.TP
.B \-noautoexpand
Do not automatically insert the expand filter into the MEncoder filter chain.
Useful to control at which point of the filter chain subtitles are rendered
when hardcoding subtitles onto a movie.
.
.TP
.B \-noodml (\-of avi only)
Do not write OpenDML index for AVI files >1GB.
.
.TP
.B \-noskip
Do not skip frames.
.
.TP
.B \-o <filename>
Outputs to the given filename, instead of the default 'test.avi'.
.
.TP
.B \-oac <codec name>
Encode with the given audio codec (no default set).
.br
.I NOTE:
Use \-oac help to get a list of available audio codecs.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-oac copy"
no encoding, just streamcopy
.IPs "\-oac pcm"
Encode to uncompressed PCM.
.IPs "\-oac mp3lame"
Encode to MP3 (using LAME).
.IPs "\-oac lavc"
Encode with a libavcodec codec.
.RE
.PD 1
.
.TP
.B \-of <format> (BETA CODE!)
Encode to the specified container format (default: AVI).
.br
.I NOTE:
Use \-of help to get a list of available container formats.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-of avi"
Encode to AVI.
.IPs "\-of mpeg"
Encode to MPEG.
.IPs "\-of rawvideo"
raw video stream (no muxing - one video stream only)
.RE
.PD 1
.
.TP
.B \-ofps <fps>
Specify a frames per second (fps) value for the output file,
which can be different from that of the source material.
Must be set for variable fps (ASF, some MOV) and progressive
(29.97fps telecined MPEG) files.
.
.TP
.B \-ovc <codec name>
Encode with the given video codec (no default set).
.br
.I NOTE:
Use \-ovc help to get a list of available video codecs.
.sp 1
.I EXAMPLE:
.PD 0
.RSs
.IPs "\-ovc copy"
no encoding, just streamcopy
.IPs "\-ovc divx4"
Encode to DivX4/\:DivX5.
.IPs "\-ovc raw"
Encode to an arbitrary uncompressed format (use \-vf format to select).
.IPs "\-ovc lavc"
Encode with a libavcodec codec.
.RE
.PD 1
.
.TP
.B \-passlogfile <filename>
Dump first pass information to <filename> instead of the default divx2pass.log
in 2-pass encoding mode.
.
.TP
.B \-skiplimit <value>
Specify the maximum number of frames that may be skipped after
encoding one frame (\-noskiplimit for unlimited).
.
.TP
.B \-vobsubout <basename>
Specify the basename for the output .idx and .sub files.
This turns off subtitle rendering in the encoded movie and diverts it to
VOBsub subtitle files.
.
.TP
.B \-vobsuboutid <langid>
Specify the language two letter code for the subtitles.
This overrides what is read from the DVD or the .ifo file.
.
.TP
.B \-vobsuboutindex <index>
Specify the index of the subtitles in the output files (default: 0).
.
.
.
.SH "CODEC SPECIFIC ENCODING OPTIONS (MENCODER ONLY)"
You can specify codec specific encoding parameters using the following
syntax:
.
.TP
.B \-<codec>opts <option1[=value],option2,...>
.
.PP
Where <codec> may be: lavc, xvidenc, divx4, lame, x264enc
.
.
.SS divx4 (\-divx4opts)
DivX4 is obsolete and only supported for completeness.
For details about DivX4 options, read the source, most options are not
described here.
.
.TP
.B help\ \ \ 
get help
.
.TP
.B br=<value>
specify bitrate
.RSs
.IPs 4\-16000
(in kbit)
.IPs 16001\-24000000
(in bit)
.RE
.
.TP
.B key=<value>
maximum keyframe interval (in frames)
.
.TP
.B deinterlace
enable deinterlacing (avoid it, DivX4 is buggy)
.
.TP
.B q=<1\-5>
quality (1\-fastest, 5\-best)
.
.TP
.B min_quant=<1\-31>
minimum quantizer
.
.TP
.B max_quant=<1\-31>
maximum quantizer
.
.TP
.B rc_period=<value>
rate control period
.
.TP
.B rc_reaction_period=<value>
rate control reaction period
.
.TP
.B rc_reaction_ratio=<value>
rate control reaction ratio
.
.TP
.B crispness=<0\-100>
specify crispness/\:smoothness
.
.TP
.B pass=<1\-2>
With this you can encode 2pass DivX4 files.
First encode with pass=1, then with the same parameters, encode with
pass=2.
.
.TP
.B vbrpass=<0\-2>
Override the pass argument and use XviD VBR Library instead of DivX4 VBR.
Available options are:
.RSs
.IPs 0
one pass encoding (as in not putting pass on the command line)
.IPs 1
Analysis (first) pass of two pass encoding.
The resulting AVI file can be directed to /dev/\:null.
.IPs 2
Final (second) pass of two pass encoding.
.RE
.
.
.SS lame (\-lameopts)
.
.TP
.B help\ \ \ 
get help
.
.TP
.B vbr=<0\-4>
variable bitrate method
.PD 0
.RSs
.IPs 0
cbr
.IPs 1
mt
.IPs 2
rh (default)
.IPs 3
abr
.IPs 4
mtrh
.RE
.PD 1
.
.TP
.B abr\ \ \ \ 
average bitrate
.
.TP
.B cbr\ \ \ \ 
constant bitrate.
Forces also CBR mode encoding on subsequent ABR presets modes
.
.TP
.B br=<0\-1024>
specify bitrate in kBit (CBR and ABR only)
.
.TP
.B q=<0\-9>
quality (0\-highest, 9\-lowest) (only for VBR)
.
.TP
.B aq=<0\-9>
algorithmic quality (0\-best/\:slowest, 9\-worst/\:fastest)
.
.TP
.B ratio=<1\-100>
compression ratio
.
.TP
.B vol=<0\-10>
set audio input gain
.
.TP
.B mode=<0\-3>
(default: auto)
.PD 0
.RSs
.IPs 0
stereo
.IPs 1
joint-stereo
.IPs 2
dualchannel
.IPs 3
mono
.RE
.PD 1
.
.TP
.B padding=<0\-2>
.PD 0
.RSs
.IPs 0
no
.IPs 1
all
.IPs 2
adjust
.RE
.PD 1
.
.TP
.B fast\ \ \ 
switch on faster encoding on subsequent VBR presets modes, slightly lower
quality and higher bitrates.
.
.TP
.B highpassfreq=<freq>
Set a highpass filtering frequency in Hz.
Frequencies below the specified one will be cut off.
A value of -1 will disable filtering, a value of 0
will let LAME choose values automatically.
.
.TP
.B lowpassfreq=<freq>
Set a lowpass filtering frequency in Hz.
Frequencies above the specified one will be cut off.
A value of -1 will disable filtering, a value of 0
will let LAME choose values automatically.
.
.TP
.B preset=<value>
preset values
.RSs
.IPs medium
VBR encoding, good quality, 150\-180 kbps bitrate range.
.IPs standard
VBR encoding, high quality, 170\-210 kbps bitrate range.
.IPs extreme
VBR encoding, very high quality, 200\-240 kbps bitrate range.
.IPs insane
CBR encoding, highest preset quality, 320 kbps bitrate.
.IPs <8\-320>
ABR encoding at average given kbps bitrate.
.RE
.sp 1
.RS
.I EXAMPLE:
.RE
.PD 0
.RSs
.IPs fast:preset=standard
for most people on most music and already quite high in quality.
.IPs cbr:preset=192
encode with ABR presets at a 192 kbps forced constant bitrate.
.IPs preset=172
encode with ABR presets at a 172 kbps average bitrate.
.IPs preset=extreme
for people with extremely good hearing and similar equipment.
.IPs preset=help
print additional options and informations on presets settings.
.RE
.PD 1
.
.
.SS lavc (\-lavcopts)
Many lavc options are very specialized and tersely documented.
Read the source for full details.
.PP
.I EXAMPLE:
.PD 0
.RSs
.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
.RE
.PD 1
.
.TP
.B acodec=<value>
Audio codec (default: mp2):
.PD 0
.RSs
.IPs mp2
MPEG Layer 2
.IPs mp3
MPEG Layer 3
.IPs ac3
AC3
.IPs adpcm_ima_wav
IMA Adaptive PCM (4bits per sample, 4:1 compression)
.RE
.PD 1
.
.TP
.B abitrate=<value>
Audio bitrate in kBit (default 224).
.
.TP
.B atag=<value>
Use the specified Windows audio format tag (e.g.\& atag=0x55).
.
.TP
.B bit_exact
Use only bit exact algorithms (except (i)dct).
Additionally bit_exact disables several optimizations and thus
should only be used for regression tests, which need binary
identical files even if the encoder version changes.
This also suppresses the user_data header in MPEG-4 streams.
Do not use this option unless you know exactly what you are doing.
.
.TP
.B threads=<1\-8>
Maximum number of threads to use (default: 1).
May have a slight negative effect on motion estimation.
.RE
.
.TP
.B vcodec=<value>
Use the specified codec (default: mpeg4):
.PD 0
.RSs
.IPs mjpeg
Motion JPEG
.IPs ljpeg
Lossless JPEG
.IPs h263\ 
H.263
.IPs h263p
H.263+
.IPs mpeg4
DivX 4/\:5
.IPs msmpeg4
DivX 3
.IPs msmpeg4v2
MS MPEG4v2
.IPs wmv1
Windows Media Video, version 1 (AKA WMV7)
.IPs wmv2
Windows Media Video, version 2 (AKA WMV8)
.IPs rv10
an old RealVideo codec
.IPs mpeg1video
MPEG1 video
.IPs mpeg2video
MPEG2 video
.IPs huffyuv
HuffYUV
.IPs asv1
ASUS Video v1
.IPs asv2
ASUS Video v2
.IPs ffv1
FFmpeg's lossless video codec
.RE
.PD 1
.
.TP
.B vqmin=<1\-31>
minimum quantizer (pass\ 1/\:2)
.RSs
.IPs 1
Not recommended (much larger file, little quality difference and weird side
effects: msmpeg4, h263 will be very low quality, ratecontrol will be confused
resulting in lower quality and some decoders will not be able to decode it).
.IPs 2
Recommended for normal mpeg4/\:mpeg1video encoding (default).
.IPs 3
Recommended for h263(p)/\:msmpeg4.
The reason for preferring 3 over 2 is that 2 could lead to overflows
(this will be fixed for h263(p) by changing the quantizer per MB in
the future, msmpeg4 cannot be fixed as it does not support that).
.RE
.
.TP
.B lmin=<0.01\-255.0>
Minimum lagrange multiplier for ratecontrol, you probably want it to be
equal to or lower than vqmin (default: 2.0).
.RE
.
.TP
.B lmax=<0.01\-255.0>
maximum lagrange multiplier for ratecontrol (default: 31.0)
.RE
.
.TP
.B vqscale=<1\-31>
Constant quantizer /\: constant quality encoding (selects fixed quantizer mode).
A lower value means better quality but larger files (default: 0 (disabled)).
1 is not recommended (see vqmin for details).
.
.TP
.B vqmax=<1\-31>
maximum quantizer (pass\ 1/\:2) 10\-31 should be a sane range (default: 31)
.
.TP
.B mbqmin=<1\-31>
minimum macroblock quantizer (pass\ 1/\:2) (default: 2)
.
.TP
.B mbqmax=<1\-31>
maximum macroblock quantizer (pass\ 1/\:2) (default: 31)
.
.TP
.B vqdiff=<1\-31>
maximum quantizer difference between I or P frames (pass\ 1/\:2) (default: 3)
.
.TP
.B vmax_b_frames=<0\-4>
maximum number of B frames between non B frames:
.PD 0
.RSs
.IPs 0
no B frames (default)
.IPs 0\-2
sane range for MPEG4
.RE
.PD 1
.
.TP
.B vme=<0\-5>
motion estimation method.
.br
.I NOTE:
0\-3 currently ignores the amount of Bits spent,
so quality may be low.
Available methods are:
.PD 0
.RSs
.IPs 0
none (very low quality)
.IPs 1
full (slow)
.IPs 2
log (low quality)
.IPs 3
phods (low quality)
.IPs 4
EPZS (default)
.IPs 5
X1 (experimental)
.RE
.PD 1
.
.TP
.B me_range=<0\-9999>
motion estimation search range, 0 (default) means unlimited
.
.TP
.B mbd=<0\-2>
Macroblock decision algorithm (high quality mode), encode each macro
block in all modes and choose the best.
This is slow but results in better quality and file size.
.PD 0
.RSs
.IPs 0
use mbcmp (default)
.IPs 1
select the MB mode which needs the fewest bits (=vhq)
.IPs 2
select the MB mode which has the best rate distortion
.RE
.PD 1
.
.TP
.B vhq\ \ \ \ 
Same as mbd=1, kept for compatibility reasons.
.
.TP
.B v4mv\ \ \ 
Allow 4 motion vectors per macroblock (slightly better quality).
.
.TP
.B obmc\ \ \ 
overlapped block motion compensation (H.263+)
.
.TP
.B loop\ \ \ 
loop filter (H.263+)
note, this is broken
.
.TP
.B inter_threshold <-1000\-1000>
Does absolutely nothing at the moment.
.
.TP
.B keyint=<0\-300>
maximum interval between keyframes in frames.
Keyframes are needed for seeking as seeking is only possible to a keyframe but
keyframes need more space than other frames so larger numbers here mean
slightly smaller files, but less precise seeking, 0 means no keyframes.
Values >300 are not recommended as the quality might be bad depending upon
decoder, encoder and luck.
For a strict MPEG1/\:2/\:4 compliance this would have to be <=132.
(default: 250 or one keyframe every ten seconds in a 25fps movie)
.
.TP
.B sc_threshold=<-1000000\-1000000>
Threshold for scene change detection.
Libavcodec inserts a keyframe when it detects a scene change.
You can specify the sensitivity of the detection with this option.
-1000000 means there is a scene change detected at every frame, 1000000 means
no scene changes are detected (default 0).
.
.TP
.B vb_strategy=<0\-1>
strategy to choose between I/\:P/\:B frames (pass\ 2):
.RSs
.IPs 0
always use the maximum number of B frames (default)
.IPs 1
avoid B frames in high motion scenes (will cause bitrate misprediction)
.RE
.
.TP
.B vpass=<1\-2>
Activates internal two pass mode, only specify if you wish to use two pass
encoding.
.PD 0
.RSs
.IPs 1
first pass
.IPs 2
second pass
.RE
.PD 1
.sp 1
.RS
huffyuv:
.RE
.PD 0
.RSs
.IPs "pass 1"
Saves statistics.
.IPs "pass 2"
Encodes with an optimal Huffman table based upon statistics
from the first pass.
.RE
.PD 1
.
.TP
.B aspect=<x/\:y>
Store movie aspect internally, just like MPEG files.
Much nicer solution than rescaling, because quality isn't decreased.
Only MPlayer will play these files correctly, other players will display
them with wrong aspect.
The aspect parameter can be given as a ratio or a floating point number.
.sp 1
.RS
.I EXAMPLE:
.RE
.RSs
.PD 0
.IPs "aspect=16/\:9 or aspect=1.78"
.PD 1
.RE
.
.TP
.B autoaspect
Same as the aspect option, but automatically computes aspect, taking
into account all the adjustments (crop/\:expand/\:scale/\:etc.) made in the
filter chain.
.
.TP
.B vbitrate=<value>
Specify bitrate (pass\ 1/\:2).
Warning: 1kBit = 1000 Bits.
.RSs
.IPs 4\-16000
(in kbit)
.IPs 16001\-24000000
(in bit)
.IPs 800
default
.RE
.
.TP
.B vratetol=<value>
approximated filesize tolerance in kBit.
1000\-100000 is a sane range.
(warning: 1kBit = 1000 Bits)
(default: 8000)
.br
.I NOTE:
vratetol should not be too large during the second pass or there might
be problems if vrc_(min|max)rate is used.
.
.TP
.B vrc_maxrate=<value>
maximum bitrate in kbit/\:sec (pass\ 1/\:2)
.
.TP
.B vrc_minrate=<value>
minimum bitrate in kbit/\:sec (pass\ 1/\:2)
.
.TP
.B vrc_buf_size=<value>
buffer size in kbit (pass\ 1/\:2).
For MPEG1/\:2 this also sets the vbv buffer size, use 327 for VCD,
917 for SVCD and 1835 for DVD.
.
.TP
.B vrc_buf_aggressivity
currently useless
.
.TP
.B vrc_strategy
Dummy, reserved for future use.
.
.TP
.B vb_qfactor=<-31.0\-31.0>
quantizer factor between B and non B frames (pass\ 1/\:2) (default: 1.25)
.
.TP
.B vi_qfactor=<-31.0\-31.0>
(pass\ 1/\:2) (default: 0.8)
.
.TP
.B vb_qoffset=<-31.0\-31.0>
quantizer offset between B and non B frames (pass\ 1/\:2) (default: 1.25)
.
.TP
.B vi_qoffset=<-31.0\-31.0>
(pass\ 1/\:2) (default: 0.0)
.br
if v{b|i}_qfactor > 0
.br
I/\:B-Frame quantizer = P-Frame quantizer * v{b|i}_qfactor + v{b|i}_qoffset
.br
else
.br
do normal ratecontrol (dont lock to next P frame quantizer) and
set q= -q * v{b|i}_qfactor + v{b|i}_qoffset
.
.TP
.B \ 
Tip: To do constant quantizer encoding with different quantizers for
I/\:P and B frames you can use:
lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/\:ip_quant>
.
.TP
.B vqblur=<0.0\-1.0> (pass 1)
Quantizer blur, larger values will average the quantizer more over
time (slower change).
.RSs
.IPs 0.0
qblur disabled
.IPs 0.5
(default)
.IPs 1.0
average the quantizer over all previous frames
.RE
.
.TP
.B vqblur=<0.0\-99.0> (pass 2)
Quantizer gaussian blur, larger values will average the quantizer more
over time (slower change) (default: 0.5).
.
.TP
.B vqcomp=<value>
quantizer compression, depends upon vrc_eq (pass\ 1/\:2) (default: 0.5)
.
.TP
.B vrc_eq=<equation>
main ratecontrol equation (pass\ 1/\:2):
.RE
.RSs
.IPs 1\ \ \ \ 
constant bitrate
.IPs tex\ \ 
constant quality
.IPs 1+(tex/\:avgTex-1)*qComp
approximately the equation of the old ratecontrol code
.IPs tex^qComp
with qcomp 0.5 or something like that (default)
.RE
.PP
.RS
infix operators: +,-,*,/,^
.RE
.PP
.RS
variables:
.RE
.RSs
.IPs tex\ \ 
texture complexity
.IPs iTex,pTex
intra, non intra texture complexity
.IPs avgTex
average texture complexity
.IPs avgIITex
average intra texture complexity in I frames
.IPs avgPITex
average intra texture complexity in P frames
.IPs avgPPTex
average non intra texture complexity in P frames
.IPs avgBPTex
average non intra texture complexity in B frames
.IPs mv\ \ \ 
Bits used for motion vectors
.IPs fCode
maximum length of motion vector in log2 scale
.IPs iCount
number of intra macroblocks / number of macroblocks
.IPs var\ \ 
spatial complexity
.IPs mcVar
temporal complexity
.IPs qComp
qcomp from the command line
.IPs "isI, isP, isB"
is 1 if picture type is I/\:P/\:B else 0
.IPs Pi,E\ 
see your favorite math book
.RE
.PP
.RS
functions:
.RE
.RSs
.IPs max(a,b),min(a,b)
maximum / minimum
.IPs gt(a,b)
is 1 if a>b, 0 otherwise
.IPs lt(a,b)
is 1 if a<b, 0 otherwise
.IPs eq(a,b)
is 1 if a==b, 0 otherwise
.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
.RE
.
.TP
.B vrc_override=<options>
User specified quality for specific parts (ending, credits, ..) (pass\ 1/\:2).
The options are <start-frame>, <end-frame>, <quality>[/\:<start-frame>,
<end-frame>, <quality>[/\:...]]:
.RSs
.IPs "quality (2\-31)"
quantizer
.IPs "quality (-500\-0)"
quality correction in %
.RE
.
.TP
.B vrc_init_cplx=<0\-1000>
initial complexity (pass\ 1)
.
.TP
.B vqsquish=<0,1>
specify how to keep the quantizer between qmin and qmax (pass\ 1/\:2):
.PD 0
.RSs
.IPs 0
use clipping
.IPs 1
use a nice differentiable function (default)
.RE
.PD 1
.
.TP
.B vlelim=<-1000\-1000>
Sets single coefficient elimination threshold for luminance.
Negative values will also consider the dc coefficient (should be at least -4
or lower for encoding at quant=1):
.PD 0
.RSs
.IPs 0
disabled (default)
.IPs -4
(JVT recommendation)
.RE
.PD 1
.
.TP
.B vcelim=<-1000\-1000>
Sets single coefficient elimination threshold for chrominance.
Negative values will also consider the dc coefficient (should be at least -4
or lower for encoding at quant=1):
.PD 0
.RSs
.IPs 0
disabled (default)
.IPs 7
(JVT recommendation)
.RE
.
.TP
.B vstrict=<-1,0,1>
strict standard compliance
.RSs
.IPs 0
disabled (default)
.IPs 1
only recommended if you want to feed the output into the MPEG4 reference
decoder
.IPs -1
allows non-standard YV12 huffyuv encoding (20% smaller files, but cannot be
played by the official huffyuv codec)
.RE
.PD 1
.
.TP
.B vdpart\ 
data partitioning.
Adds 2 Bytes per video packet, improves error-resistance when transferring over
unreliable channels (eg.\& streaming over the internet)
Each video packet will be encoded in 3 separate partitions:
.PD 0
.RSs
.IPs "1. MVs"
(movement)
.IPs "2. DC coefficients"
(low res picture)
.IPs "3. AC coefficients"
(details)
.RE
.PD 1
.
.TP
.B \ 
MV & DC are most important, loosing them looks far worse than loosing
the AC and the 1. & 2. partition.
(MV&DC) are far smaller than the 3. partition (AC) meaning that errors
will hit the AC partition much more often than the MV&DC partitions.
Thus, the picture will look better with partitioning than without,
as without partitioning an error will trash AC/\:DC/\:MV equally.
.
.TP
.B vpsize=<0\-10000>
video packet size, improves error-resistance (also see vdpart):
.RSs
.IPs 0
disabled (default)
.IPs 100-1000
good choice
.RE
.
.TP
.B ss\ \ \ \ \ 
slice structured mode for H.263+
.
.TP
.B gray\ \ \ 
grayscale only encoding (faster)
.
.TP
.B vfdct=<0\-10>
dct algorithm:
.PD 0
.RSs
.IPs 0
automatically select a good one (default)
.IPs 1
fast integer
.IPs 2
accurate integer
.IPs 3
mmx
.IPs 4
mlib
.IPs 5
altivec
.IPs 6
floating point AAN
.RE
.PD 1
.
.TP
.B idct=<0\-99>
idct algorithm.
.br
.I NOTE:
To the best of our knowledge all these IDCTs do pass the IEEE1180 tests.
.PD 0
.RSs
.IPs 0
automatically select a good one (default)
.IPs 1
jpeg reference integer
.IPs 2
simple
.IPs 3
simplemmx
.IPs 4
libmpeg2mmx (inaccurate, DON'T USE for encoding with keyint >100)
.IPs 5
ps2
.IPs 6
mlib
.IPs 7
arm
.IPs 8
altivec
.IPs 9
sh4
.RE
.PD 1
.
.TP
.B lumi_mask=<0.0\-1.0>
luminance masking
.br
.I WARNING:
Be careful, overly large values can cause disastrous things.
.br
.I WARNING:
Large values might look good on some monitors but may look horrible
on other monitors:
.RSs
.IPs 0.0
disabled (default)
.IPs 0.0\-0.3
sane range
.RE
.
.TP
.B dark_mask=<0.0\-1.0>
darkness masking
.br
.I WARNING:
Be careful, overly large values can cause disastrous things.
.br
.I WARNING:
Large values might look good on some monitors but may look horrible
on other monitors / TV / TFT:
.RSs
.IPs 0.0
disabled (default)
.IPs 0.0\-0.3
sane range
.RE
.
.TP
.B tcplx_mask=<0.0\-1.0>
temporal complexity masking (default: 0.0 (disabled))
.
.TP
.B scplx_mask=<0.0\-1.0>
Spatial complexity masking.
Larger values help against blockiness, if no deblocking filter is used for
decoding.
.br
.I HINT:
Crop any black borders completely as they will reduce the quality
of the macroblocks (also applies without scplx_mask).
.RSs
.IPs 0.0
disabled (default)
.IPs 0.0\-0.5
sane range
.RE
.
.TP
.B p_mask=<0.0\-1.0>
inter MB masking (default: 0.0 (disabled))
.
.TP
.B naq\ \ \ \ 
Normalize adaptive quantization (experimental).
When using adaptive quantization (*_mask), the average per-MB quantizer may no
longer match the requested frame-level quantizer.
Naq will attempt to adjust the per-MB quantizers to maintain the proper
average.
.
.TP
.B ildct\ \ 
use interlaced dct
.
.TP
.B ilme\ \ \ 
Use interlaced motion estimation (mutually exclusive with qpel).
.
.TP
.B alt\ \ \ \ 
use alternative scantable
.
.TP
.B top=<-1\-1>\ \ \ 
.RSs
.IPs -1
automatic
.IPs 0
bottom field first
.IPs 1
top field first
.RE
.
.TP
.B format=<value>
.RSs
.IPs YV12
default
.IPs 444P
for ffv1
.IPs 422P
for huffyuv, lossless jpeg and ffv1
.IPs 411P,YVU9
for lossless jpeg and ffv1
.IPs BGR32
for lossless jpeg and ffv1
.RE
.
.TP
.B pred\ \ \ 
(for huffyuv)
.PD 0
.RSs
.IPs 0
left prediction
.IPs 1
plane/\:gradient prediction
.IPs 2
median prediction
.RE
.PD 1
.
.TP
.B pred\ \ \ 
(for lossless JPEG)
.PD 0
.RSs
.IPs 0
left prediction
.IPs 1
top prediction
.IPs 2
topleft prediction
.IPs 3
plane/\:gradient prediction
.IPs 6
mean prediction
.RE
.PD 1
.
.TP
.B coder\ \ 
(for ffv1)
.PD 0
.RSs
.IPs 0
vlc coding (golomb rice)
.IPs 1
arithmetic coding (cabac)
.RE
.PD 1
.
.TP
.B context
(for ffv1)
.PD 0
.RSs
.IPs 0
small context model
.IPs 1
large context model
.RE
.PD 1
.
.TP
.B qpel\ \ \ 
Use quarter pel motion compensation (mutually exclusive with ilme).
Hint: This seems only useful for high bitrate encodings.
.
.TP
.B ildctcmp=<0\-2000>
comparison function for interlaced dct decision
.
.TP
.B precmp=<0\-2000>
comparison function for motion estimation pre pass
.
.TP
.B cmp=<0\-2000>
comparison function for full pel motion estimation
.
.TP
.B subcmp=<0\-2000>
comparison function for sub pel motion estimation
.
.TP
.B mbcmp=<0\-2000>
comparison function for the macroblock decision, only used if mbd=0
.PD 0
.RSs
.IPs "0 (SAD)"
sum of absolute differences, fast (default)
.IPs "1 (SSE)"
sum of squared errors
.IPs "2 (SATD)"
sum of absolute hadamard transformed differences
.IPs "3 (DCT)"
sum of absolute dct transformed differences
.IPs "4 (PSNR)"
sum of the squared quantization errors (don't use, low quality)
.IPs "5 (BIT)"
number of bits needed for the block
.IPs "6 (RD)"
rate distortion optimal, slow
.IPs "7 (ZERO)"
0
.IPs "8 (VSAD)"
sum of absolute vertical differences
.IPs "9 (VSSE)"
sum of squared vertical differences
.IPs "10 (NSSE)"
noise preserving sum of squared differences
.IPs +256\ 
use chroma too, doesn't work (correctly) with B frames currently
.RE
.PD 1
.
.TP
.B nssew=<0\-100>
NSSE weight, larger weights will result in more noise,
with 0 NSSE is identical to SSE.
.
.TP
.B predia=<-99\-6>
Diamond type and size for motion estimation pre pass
.
.TP
.B dia=<-99\-6>
Diamond type & size for motion estimation.
.br
.I NOTE:
The sizes of the normal diamonds and shape adaptive ones don't have
the same meaning.
.RSs
.IPs -3
shape adaptive (fast) diamond with size 3
.IPs -2
shape adaptive (fast) diamond with size 2
.IPs -1
experimental
.IPs  1
normal size=1 diamond (default) =EPZS type diamond
.nf
.ne
      0
     000
      0
.fi
.IPs 2
normal size=2 diamond
.nf
.ne
      0
     000
    00000
     000
      0
.fi
.RE
.
.TP
.B trell\ \ 
Trellis searched quantization.
This will find the optimal encoding for each 8x8 block.
Trellis searched quantization is quite simple a optimal quantization in the PSNR
vs bitrate sense (assuming that there would be no rounding errors introduced
by the IDCT, which is obviously not the case) it simply finds a block for
the minimum of error and lambda*bits.
.PD 0
.RSs
.IPs lambda
quantizer parameter (QP) dependant constant
.IPs bits\ 
amount of bits needed to encode the block
.IPs error
sum of squared errors of the quantization
.RE
.PD 1
.
.TP
.B cbp\ \ \ \ 
Rate distorted optimal coded block pattern.
Will select the coded block pattern which minimizes distortion + lambda*rate.
This can only be used together with trellis quantization.
.
.TP
.B mv0\ \ \ \ 
Try to encode each MB with MV=<0,0> and choose the better one.
This has no effect if mbd=0.
.
.TP
.B qprd (mbd=2 only)
rate distorted optimal quantizer parameter (QP) for the given
lambda of each macroblock
.
.TP
.B last_pred=<0\-99>
Amount of motion predictors from the previous frame
.PD 0
.RSs
.IPs 0
(default)
.IPs a
will use 2a+1 x 2a+1 macroblock square of motion vector predictors from the
previous frame
.RE
.PD 1
.
.TP
.B preme=<0\-2>
motion estimation pre-pass
.PD 0
.RSs
.IPs 0
disabled
.IPs 1
only after I frames (default)
.IPs 2
always
.RE
.PD 1
.
.TP
.B subq=<1\-8>
subpel refinement quality (for qpel) (default: 8 (high quality)).
.br
.I NOTE:
This has a significant effect on speed.
.
.TP
.B psnr\ \ \ 
print the PSNR (peak signal to noise ratio) for the whole video after encoding
and store the per frame PSNR in a file with a name like 'psnr_hhmmss.log'.
Returned values are in dB (decibel), the higher the better.
.
.TP
.B mpeg_quant
Use MPEG quantizers instead of H.263.
.
.TP
.B aic\ \ \ \ 
ac prediction (=advanced intra prediction for H.263+)
.br
.I NOTE:
vqmin should be 8 or larger for AIC H.263+.
.
.TP
.B aiv\ \ \ \ 
alternatice inter vlc for H.263+
.
.TP
.B umv\ \ \ \ 
unlimited MVs (H.263+ only)
Allow encoding of abritarily long MVs.
.
.TP
.B ibias=<-256\-256>
intra quantizer bias (256 equals 1.0, MPEG style quantizer default: 96,
H.263 style quantizer default: 0)
.br
.I NOTE:
The H.263 MMX quantizer cannot handle positive biases (set vfdct=1 or 2),
the MPEG MMX quantizer cannot handle negative biases (set vfdct=1 or 2).
.
.TP
.B pbias=<-256\-256>
inter quantizer bias (256 equals 1.0, MPEG style quantizer default: 0,
H.263 style quantizer default: -64)
.br
.I NOTE:
The H.263 MMX quantizer cannot handle positive biases (set vfdct=1 or 2),
the MPEG MMX quantizer cannot handle negative biases (set vfdct=1 or 2).
.br
.I HINT:
A more positive bias (-32 \- -16 instead of -64) seems to improve the PSNR.
.
.TP
.B nr=<0\-100000>
noise reduction, 0 is disabled
.
.TP
.B qns=<0\-3>
Quantizer noise shaping, reduces ringing artefacts, larger values are slower
but may not result in better quality.
This can and should be used together with trellis quantization, in which case
the trellis quantization (optimal for constant weight) will be used as
startpoint for the iterative search.
.PD 0
.RSs
.IPs 0
disabled (default)
.IPs 1
only lower the absolute value of coefficients
.IPs 2
only change coefficients before the last non zero coefficient + 1
.IPs 3
try all
.RE
.PD 1
.
.TP
.B inter_matrix=<comma separated matrix>
Use custom inter matrix.
It needs a comma separated string of 64 integers.
.
.TP
.B intra_matrix=<comma separated matrix>
Use custom intra matrix.
It needs a comma separated string of 64 integers.
.
.TP
.B vqmod_amp
experimental quantizer modulation
.
.TP
.B vqmod_freq
experimental quantizer modulation
.
.TP
.B dc\ \ \ \ \ 
intra DC precision in bits (default: 8).
If you specify vcodec=mpeg2video this value can be 8, 9, 10 or 11.
.
.TP
.B cgop\ \ \ 
Close all GOPs.
Currently it doesn't work (yet).
.
.
.SS nuv (\-nuvopts)
.
Nuppel video is based on rtjpeg and lzo.
By default frames are first encoded with rtjpeg and then compressed with lzo.
But both passes can be enabled or not.
So you can in fact output raw i420, lzo compressed i420, rtjpeg, or the
default lzo compressed rtjpeg.
.br
.I NOTE:
The nuvrec documentation contains some advice and examples about the
settings to use for the most common TV encodings.
.
.TP
.B c=<0\-20>
chrominance threshold
.
.TP
.B l=<0\-20>
luminance threshold
.
.TP
.B nolzo \ 
Disable the lzo compression.
.
.TP
.B q=<3\-255>
Set the quality level.
.
.TP
.B raw \ \ \ 
Disable rtjpeg encoding.
.
.TP
.B rtjpeg\ 
Enable rtjpeg encoding.
.
.
.SS xvidenc (\-xvidencopts)
.
There are three modes available: constant bitrate (CBR), fixed quantizer and
2pass.
.
.TP
.B pass=<1|2>
Specify the pass in 2pass mode.
.
.TP
.B bitrate=<value>
Sets the bitrate to be used in kbits/\:second if <16000 or in bits/\:second
if >16000.
If <value> is negative, XviD will use its absolute value as the target size
(in kbytes) of the video and compute the associated bitrate automagically.
(CBR or 2pass mode, default: 687 kbits/\:s)
.
.TP
.B fixed_quant=<1\-31>
Switch to fixed quantizer mode and specify the quantizer to be used.
.
.TP
.B me_quality=<0\-6>
This option controls the motion estimation subsystem.
The higher the value, the more precise the estimation should be.
The more precise the motion estimation is, the more bits can be saved.
Precision is gained at the expense of CPU time so decrease this setting if
you need realtime encoding.
(default: 6)
.
.TP
.B interlacing
Encode the fields of interlaced video material.
Turn this option on for interlaced content.
.br
.I NOTE:
Should you rescale the video, you would need an interlace-aware resizer,
which you can activate with -vf scale=<width>:<height>:1.
.
.TP
.B 4mv\ \ \ \ 
Use 4 motion vectors per macroblock.
This might give better compression, but slows down encoding.
.br
.I WARNING:
This option is deprecated in XviD-1.0.x, as all is now taken care of
by the me_quality option.
When me_quality > 4, 4mv is activated.
.
.TP
.B rc_reaction_delay_factor=<value>
This parameter controls the delay in frames before the CBR rate controller
will react to bitrate changes and will try to compensate the change to obtain
a constant bitrate over an averaging range of frames.
.
.TP
.B rc_averaging_period=<value>
Real CBR is hard to achieve.
Depending on the video material, bitrate can be variable, and hard to predict.
That's why XviD uses an averaging period for which it guarantees a given
amount of bits (minus a small variation).
This settings expresses the "number of frames" for which XviD averages
bitrate and tries to achieve CBR.
.
.TP
.B rc_buffer=<value>
size of the rate control buffer
.
.TP
.B quant_range=<1\-31>\-<1\-31>[/\:<1\-31>\-<1\-31>]
CBR mode: min & max quantizer for all frames (default: 2\-31)
.br
2pass mode: min & max quantizer for I/\:P frames (default: 2\-31/\:2\-31)
.
.TP
.B min_key_interval=<value>
minimum interval between keyframes (default: 0, 2pass only)
.
.TP
.B max_key_interval=<value>
maximum interval between keyframes (default: 10*fps)
.
.TP
.B mpeg_quant
Use MPEG quantizers instead of H.263.
For high bitrates, you will find that MPEG quantization preserves more detail.
For low bitrates, the smoothing of H.263 will give you less block noise.
When using custom matrices, MPEG must be used.
.
.TP
.B mod_quant
Decide whether to use MPEG or H.263 quantizers on a frame-by-frame basis.
.br
.I WARNING:
This will generate an illegal bitstream, and most likely not be decodable
by any MPEG4 decoder besides libavcodec or XviD.
(2pass mode only)
.
.TP
.B greyscale
Make XviD discard chroma planes so the encoded video is greyscale only.
Note that this does not speed up encoding, it just prevents chroma data
from being written in the last stage of encoding.
.
.TP
.B debug\ \ 
Save per-frame statistics in ./xvid.dbg.
This is NOT the 2pass control file.
.
.TP
.B keyframe_boost=<0\-1000>
Shift some bits from the pool for other frame types to intra frames,
thus improving keyframe quality.
(default: 0, 2pass mode only)
.
.TP
.B kfthreshold=<value>
(default: 10, 2pass mode only)
.
.TP
.B kfreduction=<0\-100>
The above two settings can be used to adjust the size of keyframes that
you consider too close to the first (in a row).
kfthreshold sets the range in which keyframes are reduced, and
kfreduction determines the bitrate reduction they get.
The last i-frame will get treated normally.
(default: 30, 2pass mode only)
.RE
.
.PP
.sp 1
The following options are only available with the latest stable
releases of XviD 1.0.x (api4).
.
.TP
.B packed\ 
Create a bitstream which can be decoded delay-free.
.br
.I WARNING:
This will generate an illegal bitstream, and WILL NOT be
decodable by ISO-MPEG4 decoders except DivX/\:libavcodec/\:XviD.
.br
.I WARNING:
This will also store a fake DivX version in the file so the bug
autodetection of some decoders might be confused.
.
.TP
.B divx5bvop
generate DivX5 compatible B-frames (default: on)
.
.TP
.B qpel\ \ \ 
MPEG4 uses a half pixel precision for its motion search by default.
The standard proposes a mode where encoders are allowed to use quarter
pixel precision.
This option usually results in a sharper image.
Unfortunately it has a great impact on bitrate and sometimes the
higher bitrate use will prevent it from giving a better image
quality at a fixed bitrate.
It's better to test with and without this option and see whether it
is worth activating.
.
.TP
.B gmc\ \ \ \ 
Enable Global Motion Compensation, which makes XviD generate special
frames (GMC-frames) which are well suited for Pan/\:Zoom/\:Rotating images.
Whether or not the use of this option will save bits is highly
dependent on the source material.
.
.TP
.B trellis
Trellis Quantization is a kind of adaptive quantization method that
saves bits by modifying quantized coefficients to make them more
compressible by the entropy encoder.
Its impact on quality is good, and if VHQ uses too much CPU for you,
this setting can be a good alternative to save a few bits (and gain
quality at fixed bitrate) at a lesser cost than with VHQ.
.
.TP
.B cartoon
Activate this if your encoded sequence is an anime/\:cartoon.
It modifies some XviD internal thresholds so XviD takes better decisions on
frame types and motion vectors for flat looking cartoons.
.
.TP
.B chroma_me
The usual motion estimation algorithm uses only the luminance information to
find the best motion vector.
However for some video material, using the chroma planes can help find
better vectors.
This setting toggles the use of chroma planes for motion estimation.
.
.TP
.B chroma_opt
Enable a chroma optimizer prefilter.
It will do some extra magic on color information to minimize the
stepped-stairs effect on edges.
It will improve quality at the cost of encoding speed.
It reduces PSNR by nature, as the mathematical deviation to the original
picture will get bigger, but the subjective image quality will raise.
Since it works with color information, you might want to turn it off when
encoding in greyscale.
.
.TP
.B reduced
Enable encoding reduced-resolution frames.
.br
.I WARNING:
The bitstream created is outside any MPEG-4 profile!
This means it most likely won't be decodable by anything except XviD.
.
.TP
.B max_bframes=<0\-4>
maximum number of B frames to put between I/\:P frames (default: 0)
.
.TP
.B bquant_ratio=<0\-1000>
quantizer ratio between B and non B frames, 150=1.50 (default: 150)
.
.TP
.B bquant_offset=<-1000\-1000>
quantizer offset between B and non B frames, 100=1.00 (default: 100)
.
.TP
.B bf_threshold=<-255\-255>
Sometimes B frames do not look good, and introduce artifacts when most of
the frame is static and some small zones have high motion (in a static
scene with a man talking, his mouth will probably look bad if what is
surrounding the man and his mouth is completly static).
This setting allows you to favorize or not, the use of B frames.
The higher the value, the higher the probability of B frames being used.
(default: 0)
.
.TP
.B hq_ac\ \ 
Activates High Quality AC coefficient prediction from neighbor blocks.
.
.TP
.B vhq=<0\-4>
The motion search algorithm is based on a search in the usual color domain
and tries to find a motion vector that minimizes the difference between the
reference frame and the encoded frame.
With this setting activated, XviD will also use the frequency domain (DCT)
to search for a motion vector that minimizes not only the spatial
difference but also the encoding length of the block.
Fastest to slowest:
.PD 0
.RSs
.IPs 0
off (default)
.IPs 1
mode decision (inter/\:intra MB)
.IPs 2
limited search
.IPs 3
medium search
.IPs 4
wide search
.RE
.PD 1
.
.TP
.B aspect=<x/\:y | f (float value)>
Store movie aspect internally, just like MPEG files.
Much nicer solution than rescaling, because quality isn't decreased.
MPlayer and a few others players will play these files correctly, others
will display them with the wrong aspect.
The aspect parameter can be given as a ratio or a floating point number.
.
.TP
.B autoaspect
Same as the aspect option, but automatically computes aspect, taking
into account all the adjustments (crop/\:expand/\:scale/\:etc.) made in the
filter chain.
.
.TP
.B psnr\ \ \ 
Print the PSNR (peak signal to noise ratio) for the whole video after encoding
and store the per frame PSNR in a file with a name like 'psnr_hhmmss.log' in
the current directory.
Returned values are in dB (decibel), the higher the better.
.
.
.SS x264enc (\-x264encopts)
.
.TP
.B bitrate=<value>
Sets the bitrate to be used in kbits/\:second (default: off).
This is required if you want a CBR (constant bitrate) encode.
.
.TP
.B iframe=<value>
I frame frequency (default: 60)
.
.TP
.B frameref=<value>
Number of previous frames used as predictors in a P-frame (default: 1).
.br
.I NOTE:
As of x264 r38 this feature is not implemented yet.
.
.TP
.B idrframe=<value>
Each <value> I-Frames are IDR-Frames (default: 2).
In H.264, I-Frames do not necessarily bound a closed GOP because it is
allowable for a P-frame to be predicted from more frames than just the one
frame before it (also see frameref).
Therefore, I-frames are not necessarily seekable.
IDR-Frames restrict subsequent P-frames from referring to any frame
prior to the IDR-Frame.
.
.TP
.B bframe=<value>
number of B-Frames between I- and P-Frames (default: 0)
.
.TP
.B deblock=<0|1>
Use deblocking filter (default: on).
.
.TP
.B deblockalpha=<-6-6>
AlphaC0 parameter of deblocking filter (default: 0).
This adjusts thresholds for the H.264 deblocking filter.
First, this parameter adjusts the maximum amount of change that the filter is
allowed to cause on any one pixel.
Secondly, this parameter affects the threshold for difference across the
edge being filtered.
A positive value reduces blocking artifacts more, but will also smear details.
.
.TP
.B deblockbeta=<-6-6>
Beta parameter of deblocking filter (default: 0).
Affects the maximum allowed gradient within two adjacent blocks.
.
.TP
.B cabac
Use CABAC (Context-Adaptive Binary Arithmetic Coding).
.
.TP
.B cabacidc=<value>
Initial value of CABAC IDC.
The encoder must choose a context for each block it encodes, but for the
first block in a frame, there are no prior blocks to predict the context.
Adjusting this may affect bitrate by a fraction of a percent, but it doesn't
directly affect distortion.
.RSs
-1: Encoder chooses context, usually 0 (default).
.br
0: low complexity
.br
1: medium complexity
.br
2: high complexity
.REss
.
.TP
.B qp_constant=<2-51>
This selects the quantizer to use.
20-40 is a useful range (default: 26).
Lower values result in better fidelity, but higher bitrates.
Note that quantization in H.264 works differently from MPEG[124].
H.264's quantizer parameter (QP) is on a logarithmic scale.
As an example, the bitrate difference between QP=20 and QP=40
is about a factor of 10.
Useful quantizers in H.264 tend to be very large compared to MPEG[124].
.br
.I NOTE:
This option takes effect even if you specify a CBR encode.
In such a case, the first encoded frame will use the quantization factor you
specified, but in later frames, the ratecontrol decides what quants to use.
.
.TP
.B qp_min=<2-51> (CBR only)
Minimum quantizer, 20-40 seems to be a useful range (default: 2).
.
.TP
.B qp_max=<2-51>  (CBR only)
Maximum quantizer
.
.TP
.B qp_step=<value>
Maximum Value by which the quantizer may be incremented/decremented between
frames.
.
.TP
.B rc_buffer_size=<value>
ratecontrol buffer size (default: 1 second's worth at the bitrate you
specified)
.
.TP
.B rc_init_buffer=<value>
Set the initial ratecontrol buffer (default: 1/4 of rc_buffer_size)
.
.TP
.B rc_sens=<0-100>
ratecontrol sensitivity (default: 100)
.
.TP
.B ip_factor=<value>
quantizer factor between I amd P frames (default: 2.0)
.
.TP
.B pb_factor=<value>
quantizer factor between P and B frames (default: 2.0)
.
.TP
.B pass=<1|2>
Enable 2-pass mode.
The first pass saves statistics.
.
.TP
.B qcompress=<0-1>
quantizer compression (default: 0.6).
This affects the ratecontrol: a lower value makes the
bitrate more constant, while a higher value makes the quantization parameter
more constant.
.
.TP
.B qblur=<0-1>
Temporal blur of the quantization parameter (default: 0.5).
Lower values allow the quantizer value to jump around more,
higher values force it to vary more smoothly.
.
.TP
.B fullinter
Use all available interframe analysis methods (i4x4, psub8x8, psub16x16)
(default: 4x4, psub16x16).
.
.TP
.B log=<-1-3>
Adjust the amount of logging info printed to the screen.
.RSs
-1: none
.br
 0: errors (for debugging x264)
.br
 1: warnings
.br
 2: PSNR and other analysis stats when the encode finishes (default)
.br
 3: PSNR, QP, frametype, size, and other stats for every frame
.REss
.
.TP
.B psnr
Print signal-to-noise ratio statistics.
.
.
.\" --------------------------------------------------------------------------
.\" Files
.\" --------------------------------------------------------------------------
.
.SH FILES
.
.TP
/usr/\:/local\:etc/\:mplayer/\:mplayer.conf
system-wide settings
.
.TP
~/.mplayer/\:config
user settings
.
.TP
~/.mplayer/\:input.conf
input bindings (see '\-input keylist' for the full list)
.
.TP
~/.mplayer/\:gui.conf
GUI configuration file
.
.TP
~/.mplayer/\:gui.pl
GUI playlist
.
.TP
~/.mplayer/\:font/
font directory (There must be a font.desc file and files with .RAW extension.)
.
.TP
~/.mplayer/\:DVDkeys/
cached CSS keys
.
.TP
Assuming that /path/\:to/\:movie.avi is played, MPlayer searches for sub files
in this order:
.RS
/path/\:to/\:movie.sub
.br
~/.mplayer/\:sub/\:movie.sub
.br
~/.mplayer/\:default.sub
.RE
.PD 1
.
.
.\" --------------------------------------------------------------------------
.\" Examples
.\" --------------------------------------------------------------------------
.
.SH EXAMPLES
.
.TP
.B quickstart DVD playing:
mplayer dvd://1
.
.TP
.B Play in Japanese with English subtitles:
mplayer dvd://1 \-alang ja \-slang en
.
.TP
.B Play only chapters 5, 6, 7:
mplayer dvd://1 \-chapter 5-7
.
.TP
.B Play only titles 5, 6, 7:
mplayer dvd://5-7
.
.TP
.B Play a multiangle DVD:
mplayer dvd://1 \-dvdangle 2
.
.TP
.B Play from a different DVD device:
mplayer dvd://1 \-dvd-device /dev/\:dvd2
.
.TP
.B Stream from HTTP:
mplayer http://mplayer.hq/\:example.avi
.
.TP
.B Stream using RTSP:
mplayer rtsp://server.example.com/\:streamName
.
.TP
.B Convert subtitles to MPsub format:
mplayer dummy.avi \-sub source.sub \-dumpmpsub
.
.TP
.B Convert subtitles to MPsub format without watching the movie:
mplayer /dev/\:zero \-rawvideo on:pal:fps=xx \-vc null \-vo null \-noframedrop
\-benchmark \-sub source.sub \-dumpmpsub
.
.TP
.B input from standard V4L:
mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420
\-vo xv
.
.TP
.B Playback on Zoran cards (old style, deprecated):
mplayer \-vo zr \-vf scale=352:288 file.avi
.
.TP
.B Playback on Zoran cards (new style):
mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi
.
.TP
.B Encode DVD title #2, only selected chapters:
mencoder dvd://2 \-chapter 10-15 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
.
.TP
.B Encode DVD title #2, resizing to 640x480:
mencoder dvd://2 \-vf scale=640:480 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
.
.TP
.B Encode DVD title #2, resizing to 512xHHH (keep aspect ratio):
mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o title2.avi \-oac copy
\-ovc lavc \-lavcopts vcodec=mpeg4
.
.TP
.B The same, but with bitrate set to 1800kBit and optimized macroblocks:
mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc
\-lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
.
.TP
.B The same, but with MJPEG compression
mencoder dvd://2 \-o titel2.avi \-ovc lavc
\-lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800 \-oac copy
.
.TP
.B Encode all *.jpg files in the current dir:
mencoder "mf://*.jpg" \-mf fps=25 \-o output.avi \-ovc lavc \-lavcopts vcodec=mpeg4
.
.TP
.B Encode from a tuner (specify a format with \-vf format):
mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
.
.TP
.B Encode from a pipe:
rar p test-SVCD.rar | mencoder \-ovc lavc \-lavcopts vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
.
.
.\" --------------------------------------------------------------------------
.\" Bugs, authors, standard disclaimer
.\" --------------------------------------------------------------------------
.
.SH BUGS
If you find one, report it to us, but please make sure you have read all
of the documentation first.
Many bugs are the result of incorrect setup or parameter usage.
The bug reporting section of the documentation (DOCS/\:HTML/\:en/\:bugreports.html)
explains how to create useful bug reports.
.
.
.
.SH AUTHORS
MPlayer was initially written by Arpad Gereöffy.
See the AUTHORS file for a list of some of the many other contributors.
.PP
MPlayer is (C) 2000\-2004 The MPlayer Team
.PP
This man page was written mainly by Gabucino, Jonas Jermann and Diego Biurrun.
It is maintained by Diego Biurrun.
Please send mails about it to the MPlayer-DOCS mailing list.
.\" end of file