# MPlayer

NAME
SYNOPSIS
DESCRIPTION
KEYBOARD CONTROL
USAGE
GENERAL OPTIONS
PLAYER OPTIONS (MPLAYER ONLY)
DEMUXER/STREAM OPTIONS
OSD/SUB OPTIONS
AUDIO OUTPUT OPTIONS (MPLAYER ONLY)
AUDIO OUTPUT DRIVERS (MPLAYER ONLY)
VIDEO OUTPUT OPTIONS (MPLAYER ONLY)
VIDEO OUTPUT DRIVERS (MPLAYER ONLY)
DECODING/FILTERING OPTIONS
AUDIO FILTERS
VIDEO FILTERS
GENERAL ENCODING OPTIONS (MENCODER ONLY)
CODEC SPECIFIC ENCODING OPTIONS (MENCODER ONLY)
FILES
EXAMPLES OF MPLAYER USAGE
EXAMPLES OF MENCODER USAGE
BUGS
AUTHORS

## NAME

| mplayer - movie player mencoder - movie encoder

## SYNOPSIS

| mplayer [options] [ file | URL | playlist | - ]

| mplayer [global options] file1 [specific options] [file2] [specific options]

| mplayer [global options] {group of files and options} [group specific options]

| mplayer dvd://[title | [start_title]-end_title ] [options]

| mplayer vcd://track[/device]

| mplayer tv://[channel] [options]

| mplayer dvb://[card_number@]channel [options]

| mplayer mf://filemask [-mf options] [options]

| mplayer [cdda|cddb]://track[:speed][/device] [options]

| mplayer cue://file[:track] [options]

| mplayer [file|mms[t]|http|http_proxy|rt[s]p|ftp|udp]:// [user:passwd@]URL[:port] [options]

| mplayer sdp://file [options]

| mplayer mpst://host[:port]/URL [options]

| mplayer tivo://host/list [options]

| mplayer tivo://host/llist [options]

| mplayer tivo://host/fsid [options]

| gmplayer [options] [-skin skin]

| mencoder [options] [ file | URL | - ] [-o file]

| mencoder [global options] file1 [specific options] [file2] [specific options]

## DESCRIPTION

| 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.

| MPlayer supports a wide range of video and audio output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fb- dev, AAlib, libcaca, DirectFB, Quartz, Mac OS X CoreVideo, 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 sup- port software or hardware scaling, so you can enjoy movies in fullscreen mode.

| MPlayer has an onscreen display (OSD) for status informa- tion, 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 (Mi- croDVD, SubRip, OGM, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS and our own: MPsub) and DVD subti- tles (SPU streams, VOBsub and Closed Captions).

| mencoder (MPlayer's Movie Encoder) is a simple movie en- coder, designed to encode MPlayer-playable movies (see above) to other MPlayer-playable formats (see below). It encodes to MPEG-4 (DivX/XviD), one of the libavcodec codecs and PCM/MP3/VBRMP3 audio in 1, 2 or 3 passes. Fur- thermore it has stream copying abilities, a powerful fil- ter system (crop, expand, flip, postprocess, rotate, scale, noise, rgb/yuv conversion) and more.

| gmplayer is MPlayer with a graphical user interface. It has the same options as MPlayer.

| Usage examples to get you started quickly can be found at the end of this man page.

| Also see the HTML documentation!

## 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.

| general control

| <- and ->

| Seek backward/forward 10 seconds.

| up and down

| Seek backward/forward 1 minute.

| pgup and pgdown

| Seek backward/forward 10 minutes.

| [ and ]

| Decreases/increases current playback speed by 10%.

| { and }

| Halves/doubles current playback speed.

| Backspace

| Reset playback speed to normal.

| < and >

| backward/forward in playlist

| HOME and END

| next/previous playtree entry in the parent list

| INS and DEL

| next/previous alternative source (ASX playlist only)

| p / SPACE

| Pause movie (pressing again unpauses).

| .

| Step forward. Pressing once will pause movie, every consecutive press will play one frame and then go into pause mode again (any other key unpauses).

| q / ESC

| Stop playing and quit.

| + and -

| Adjust audio delay by +/- 0.1 seconds.

| / and *

| Decrease/increase volume.

| 9 and 0

| Decrease/increase volume.

| m

| Mute sound.

| #

| Cycle through the available audio tracks.

| f

| Toggle fullscreen (also see -fs).

| T

| Toggle stay-on-top (also see -ontop).

| w and e

| Decrease/increase pan-and-scan range.

| o

| Toggle OSD states: none / seek / seek + timer / seek + timer + total time.

| d

| Toggle frame dropping states: none / skip display / skip decoding (see -framedrop and -hardframedrop).

| v

| Toggle subtitle visibility.

| b / j

| Cycle through the available subtitles.

| F

| Toggle displaying "forced subtitles".

| a

| Toggle subtitle aligment: top/middle/bot- tom.

| z and x

| Adjust subtitle delay by +/- 0.1 seconds.

| r and t

| Move subtitles up/down.

| i

| Set EDL mark.

| (The following keys are valid only when using a hardware accelerated video output (xv, (x)vidix, (x)mga, etc), the software equalizer (-vf eq or -vf eq2) or hue filter (-vf hue).

| 1 and 2

| Adjust contrast.

| 3 and 4

| Adjust brightness.

| 5 and 6

| Adjust hue.

| 7 and 8

| Adjust saturation.

| (The following keys are valid only when using the quartz or macosx video output driver.)

| command + 0

| Resize movie window to half its original size.

| command + 1

| Resize movie window to its original size.

| command + 2

| Resize movie window to double its original size.

| command + f

| Toggle fullscreen (also see -fs).

| command + [ and command + ]

| Set movie window alpha.

| GUI keyboard control

| ENTER

| Start playing.

| s

| Stop playing.

| l

| Load file.

| c

| Skin browser.

| p

| Toggle playlist.

| TV input control

| h and k

| Select previous/next channel.

| n

| Change norm.

| u

| Change channel list.

## USAGE

| Every 'flag' option has a 'noflag' counterpart, e.g. the opposite of the -fs option is -nofs.

| If an option is marked as (XXX only), it will only work in combination with the XXX option or if XXX is compiled in.

| NOTE: The suboption parser (used for example for -ao pcm suboptions) supports a special kind of string-escaping in- tended for use with external GUIs. It has the following format: %n%string_of_length_n EXAMPLE: mplayer -ao pcm:file=%10%C:test.wav test.avi

| You can put all of the options in a configuration file which will be read every time MPlayer is run. The sys- tem-wide configuration file 'mplayer.conf' is in your con- figuration 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 op- tions given on the command line override either. The syn- tax of the configuration files is 'option=<value>', every- thing 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.

| EXAMPLE:

    # 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
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.

## GENERAL OPTIONS

| -codecs-file <filename> (also see -afm, -ac, -vfm, -vc)

| Use the specified file instead of system wide in- stalled or builtin codecs.conf.

| -include <configuration file>

| Specify configuration file to be parsed after the default ones.

| -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. Particular- ly useful on slow terminals or broken ones which do not properly handle carriage return (i.e. r).

| -priority <prio> (Windows only)

| Set process priority for MPlayer according to Win- dows predefined priorities. Possible values of <prio>:

| idle|belownormal|normal|abovenormal|high|real- time

| WARNING: Using realtime priority can cause system lockup.

| -v, -verbose

| Increment verbose level (more -v means more ver- bosity).

| 0

| only some informational output (default)

| 1

| some basic debug infos, avi header, func- tion values (init debug)

| 2

| print avi indexes, chunk inputs, more debug infos (player debug)

| 3

| prints everything related to input parsers (parser debug)

## PLAYER OPTIONS (MPLAYER ONLY)

| -autoq <quality> (use with -vf [s]pp)

| Dynamically changes the level of postprocessing de- pending on the available spare CPU time. The num- ber 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.

| -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 au- dio 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 tim- ing 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 op- tion on, for all sound drivers.

| -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. NOTE: With this option MPlayer will also ignore frame duration when playing only video (you can think of that as infinite fps).

| -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, xover, xv (see -vo xv:ck), xvmc (see -vo xv:ck) and directx video output drivers.

| -nocolorkey

| Disables colorkeying. Only supported by the cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix, xover, xv (see -vo xv:ck) and xvmc (see -vo xv:ck) video output drivers.

| -crash-debug (DEBUG CODE)

| Automatically attaches gdb upon crash or SIGTRAP. Support must be compiled in by configuring with --enable-crash-debug or by having a .developer file in the source tree.

| -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.

| -enqueue (GUI only)

| Enqueue files given on the command line in the playlist instead of playing them immediately.

| -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. Cur- rently the following drivers are fixed-vo compli- ant: gl, gl2, mga, svga, x11, xmga, xv, xvidix and dfbmga.

| -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.

| -h, -help, --help

| Show short summary of options.

| -hardframedrop

| More intense frame dropping (breaks decoding). Leads to image distortion!

| -identify

| Show file parameters in an easily parseable format. Also prints more detailed information about subti- tle and audio track languages and IDs. The wrapper script TOOLS/midentify suppresses the other MPlayer output and (hopefully) shellescapes the filenames.

| -input <commands>

| This option can be used to configure certain parts of the input system. Paths are relative to ~/ .mplayer/. NOTE: Autorepeat is currently only supported by joysticks.

| Available commands are:

| conf=<filename>

| Specify input configuration file other than the default ~/.mplayer/input.conf. ~/ .mplayer/<filename> is assumed if no full path is given.

| ar-delay

| Delay in msec before we start to autorepeat a key (0 to disable).

| ar-rate

| Number of key presses to generate per sec- ond on autorepeat.

| keylist

| Prints all keys that can be bound to com- mands.

| cmdlist

| Prints all commands that can be bound to keys.

| js-dev

| Specifies the joystick device to use (de- fault: /dev/input/js0).

| file=<filename>

| Read commands from the given file. Mostly useful with a FIFO. 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.

| -key-fifo-size <2-65000>

| Specify the size of the FIFO that buffers key events (default: 10). A FIFO of size n can buffer (n-1) events. If it is too small some events may be lost (leading to "stuck mouse buttons" and simi- lar effects). If it is too big, MPlayer may seem to hang while it processes the buffered events. To get the same behaviour as before this option was introduced, set it to 2 for Linux or 1024 for Win- dows.

| -lircconf <filename> (LIRC only)

| Specifies a configuration file for LIRC (default: ~/.lircrc).

| -list-options

| Prints all available options.

| -loop <number>

| Loops movie playback <number> times. 0 means for- ever.

| -menu (OSD menu only)

| Turn on OSD menu support.

| -menu-cfg <filename> (OSD menu only)

| Use an alternative menu.conf.

| -menu-root <value> (OSD menu only)

| Specify the main menu.

| -menu-startup (OSD menu only)

| Display the main menu at MPlayer startup.

| -noconsolecontrols

| Prevent MPlayer from reading key events from stan- dard 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 com- mands.

| -nojoystick

| Turns off joystick support.

| -nolirc

| Turns off LIRC support.

| -nomouseinput (X11 only)

| Disable mouse button press/release input (mozplay- erxp's context menu relies on this option).

| -nortc (RTC only)

| Turns off usage of the Linux RTC (realtime clock - /dev/rtc) as timing mechanism.

| -playlist <filename>

| Play files according to a playlist file (ASX, Winamp, SMIL, or one-file-per-line format). NOTE: This option is considered an entry so options found after it will apply only to the elements of this playlist. FIXME: This needs to be clarified and documented thoroughly.

| -really-quiet (also see -quiet)

| Display even less output and status messages than with -quiet.

| -rtc-device <device>

| Use the specified device for RTC timing.

| -shuffle

| Play files in random order.

| -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/.

| EXAMPLE:

| -skin fittyfene

| Tries /usr/local/share/mplayer/Skin/fit- tyfene and afterwards ~/.mplayer/Skin/fit- tyfene.

| -slave (also see -input)

| Switches on slave mode, in which MPlayer works as a backend for other programs. Instead of intercept- ing keyboard events, MPlayer will read commands separated by a newline (n) from stdin. NOTE: See -input cmdlist for a list of slave com- mands and DOCS/tech/slave.txt for their descrip- tion.

| -softsleep

| Use high-quality software timers instead of the RTC. As precise as the RTC without requiring spe- cial privileges. Comes at the price of higher CPU consumption.

| -sstep <sec>

| Skip <sec> seconds after every frame. The normal framerate of the movie is kept, so playback is ac- celerated. Since MPlayer can only seek to the next keyframe this may be inexact.

## DEMUXER/STREAM OPTIONS

| -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 con- tains the required range compression information.

| -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 audio 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.

| -alang <language code[,language code,...]> (also see -aid)

| Specify a priority list of audio languages to use. Different container formats employ different lan- guage codes. DVDs use ISO 639-1 two letter lan- guage codes, Matroska and NUT use ISO 639-2 three letter language codes while OGM uses a free-form identifier. MPlayer prints the available languages when run in verbose (-v) mode.

| EXAMPLE:

| mplayer dvd://1 -alang hu,en

| Chooses the Hungarian language track on a DVD and falls back on English if Hungarian is not available.

| mplayer -alang jpn exam- ple.mkv

| Plays a Matroska file in Japanese.

| -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.

| -audiofile <filename>

| Play audio from an external file (WAV, MP3 or Ogg Vorbis) while viewing a movie.

| -audiofile-cache <kBytes>

| Enables caching for the stream used by -audiofile, using the specified amount of memory.

| -bandwidth <value> (network only)

| Specify the maximum bandwidth for network streaming (for servers that are able to send content in dif- ferent bitrates). Useful if you want to watch live streamed media behind a slow connection.

| -cache <kBytes>

| This option specifies how much memory (in kBytes) to use when precaching a file or URL. Especially useful on slow media.

| -cache-min <percentage>

| Playback will start when the cache has been filled up to <percentage> of the total.

| -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.

| -cdda <option1:option2> (CDDA only)

| This option can be used to tune the CD Audio read- ing feature of MPlayer.

| Available options are:

| speed=<value>

| Set CD spin speed.

| paranoia=<0-2>

| Set paranoia level.

| 0: disable checking 1: overlap checking only (default) 2: full data correction and verification

| generic-dev=<value>

| Use specified generic SCSI device.

| sector-size=<value>

| Set atomic read size.

| overlap=<value>

| Force minimum overlap search during verifi- cation to <value> sectors.

| 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.

| toc-offset=<value>

| Add <value> sectors to the values reported when addressing tracks. May be negative.

| (no)skip

| (Never) accept imperfect data reconstruc- tion.

| -cdrom-device <path to device>

| Specify the CD-ROM device (default: /dev/cdrom).

| -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 with the help of the channels audio filter (unless mixing from mono to stereo, then the mono channel is repeated in both output channels). The routing will be the default routing for the channels filter. If the number of output channels is smaller than the number of input channels, re- sults 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 chan- nels 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. NOTE: This option is honored by codecs (AC3 only), filters (surround) and audio output drivers (OSS at least).

| Available options are:

| 2

| stereo

| 4

| surround

| 6

| full 5.1

| -chapter <chapter ID>[-<end chapter ID>] (DVD on- ly)

| Specify which chapter to start playing at. Option- ally specify which chapter to end playing at (de- fault: 1).

| -cookies (network only)

| Send cookies when making HTTP requests.

| -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.

| -demuxer <number>

| Force demuxer type. Give the demuxer ID as defined in libmpdemux/demuxer.h. -demuxer 17 forces MP3.

| -dumpaudio (MPlayer only)

| Dumps raw compressed audio stream to ./stream.dump (useful with MPEG/AC3). If you give more than one of -dumpaudio, -dumpvideo, -dumpstream on the com- mand line only the last one will work.

| -dumpfile <filename> (MPlayer only)

| Specify which file MPlayer should dump to. Should be used together with -dumpaudio / -dumpvideo / -dumpstream.

| -dumpstream (MPlayer only)

| Dumps the raw stream to ./stream.dump. Useful when ripping from DVD or network. If you give more than one of -dumpaudio, -dumpvideo, -dumpstream on the command line only the last one will work.

| -dumpvideo (MPlayer only)

| Dump raw compressed video stream to ./stream.dump (not very usable). If you give more than one of -dumpaudio, -dumpvideo, -dumpstream on the command line only the last one will work.

| -dvbin <options> (DVB only)

| Pass the following parameters to the DVB input mod- ule, in order to override the default ones:

| card=<1-4>

| Specifies using card number 1-4 (default: 1).

| file=<filename>

| Instructs MPlayer to read the channels list from <filename>. Default is ~/.mplayer/ channels.conf.{sat,ter,cbl,atsc} (based on your card type) or ~/.mplayer/channels.conf as a last resort.

| -dvd-device <path to device> (DVD only)

| Specify the DVD device (default: /dev/dvd). You can also specify a directory that contains files previously copied directly from a DVD (with e.g. vobcopy). Note that using -dumpstream is usually a better way to copy DVD titles in the first place (see the examples).

| -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).

| -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.

| -forceidx

| Force index rebuilding. Useful for files with bro- ken 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). NOTE: This option only works if the underlying me- dia supports seeking (i.e. not with stdin, pipe, etc).

| -fps <float value>

| Override video framerate. Useful if the original value is wrong or missing.

| -frames <number>

| Play/convert only first <number> frames, then quit.

| -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 espe- cially when seeking backwards since it has to rewind to the beginning to find an exact frame po- sition.

| -idx (also see -forceidx)

| Rebuilds index of files if no index was found, al- lowing seeking. Useful with broken/incomplete downloads, or badly created files. NOTE: This option only works if the underlying me- dia supports seeking (i.e. not with stdin, pipe, etc).

| -ipv4-only-proxy (network only)

| Skip the proxy for IPv6 addresses. It will still be used for IPv4 connections.

| -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. NOTE: This option is obsolete now that MPlayer has OpenDML support.

| -mc <seconds/frame>

| maximum A-V sync correction per frame (in seconds)

| -mf <option1:option2:...>

| Used when decoding from multiple PNG or JPEG files.

| Available options are:

| w=<value>

| output width (default: autodetect)

| h=<value>

| output height (default: autodetect)

| fps=<value>

| output fps (default: 25)

| type=<value>

| input file type (available: jpeg, png, tga, sgi)

| -ni (AVI only)

| Force usage of non-interleaved AVI parser (fixes playback of some bad AVI files).

| -nobps (AVI only)

| Do not use average byte/second value for A-V sync. Helps with some AVI files with broken header.

| -noextbased

| Disables extension-based demuxer selection. By de- fault, when the file type (demuxer) cannot be de- tected 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.

| -passwd <password> (also see -user) (network on- ly)

| Specify password for HTTP authentication.

| -prefer-ipv4 (network only)

| Use IPv4 on network connections. Falls back on IPv6 automatically.

| -prefer-ipv6 (IPv6 network only)

| Use IPv6 on network connections. Falls back on IPv4 automatically.

| -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.

| Available options are:

| on

| Use raw audio demuxer.

| channels=<value>

| number of channels

| rate=<value>

| rate in samples per second

| samplesize=<value>

| sample size in bytes

| bitrate=<value>

| bitrate for rawaudio files

| format=<value>

| fourcc in hex

| -rawvideo <option1:option2:...>

| This option lets you play raw video files.

| Available options are:

| on

| Use raw video demuxer.

| fps=<value>

| rate in frames per second (default: 25.0)

| sqcif|qcif|cif|4cif|pal|ntsc

| set standard image size

| w=<value>

| image width in pixels

| h=<value>

| image height in pixels

| i420|yv12|yuy2|y8

| set colorspace

| format=<value>

| colorspace (fourcc) in hex

| size=<value>

| frame size in Bytes

| -rtsp-stream-over-tcp (LIVE.COM only)

| Used with 'rtsp://' URLs to specify that the re- sulting 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 in- ternet connection that does not pass incoming UDP packets (see http://www.live.com/mplayer/).

| -saveidx <filename>

| Force index rebuilding and dump the index to <file- name>. Currently this only works with AVI files. NOTE: This option is obsolete now that MPlayer has OpenDML support.

| -sb <byte position> (also see -ss)

| Seek to byte position. Useful for playback from CD-ROM images or VOB files with junk at the begin- ning.

| -speed <0.01-100>

| Slow down or speed up playback by the factor given as parameter. Not guaranteed to work correctly with -oac copy.

| -srate <Hz>

| Selects the output sample rate to be used (of course sound cards have limits on this). If the sample frequency selected is different from that of the current media, the resample or lavcresample au- dio filter will be inserted into the audio filter layer to compensate for the difference. The type of resampling can be controlled by the -af-adv op- tion. The default is fast resampling that may cause distortion.

| -ss <time> (also see -sb)

| Seek to given time position.

| EXAMPLE:

| -ss 56

| Seeks to 56 seconds.

| -ss 01:10:00

| Seeks to 1 hour 10 min.

| -tskeepbroken

| Tells MPlayer not to discard TS packets reported as broken in the stream. Sometimes needed to play corrupted MPEG-TS files.

| -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.

| -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.

| -tv <option1:option2:...> (TV only)

| This option tunes various properties of the TV cap- ture module. For watching TV with MPlayer, use 'tv://' or 'tv://<channel_number>' or even 'tv://<channel_name> (see option channels for chan- nel_name below) as a movie URL.

| Available options are:

| noaudio

| no sound

| driver=<value>

| available: dummy, v4l, v4l2, bsdbt848

| device=<value>

| Specify TV device (default: /dev/video0).

| input=<value>

| Specify input (default: 0 (TV), see console output for available inputs).

| freq=<value>

| Specify the frequency to set the tuner to (e.g. 511.250). Not compatible with the channels parameter.

| 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.

| width=<value>

| output window width

| height=<value>

| output window height

| fps=<value>

| framerate at which to capture video (frames per second)

| buffersize=<value>

| maximum size of the capture buffer in megabytes (default: dynamical)

| norm=<value>

| For bsdbt848 and v4l, PAL, SECAM, NTSC are available. For v4l2, see the console out- put for a list of all available norms, also see the normid option below.

| normid=<value> (v4l2 only)

| Sets the TV norm to the given numeric ID. The TV norm depends on the capture card. See the console output for a list of avail- able TV norms.

| channel=<value>

| Set tuner to <value> channel.

| chanlist=<value>

| available: europe-east, europe-west, us-bcast, us-cable, etc

| channels=<chan- nel>-<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_chan- nel, tv_set_channel and tv_last_channel will be usable for a remote control (see LIRC). Not compatible with the frequency parameter. NOTE: The channel number will then be the position in the 'channels' list, beginning with 1. EXAMPLE: tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1

| [brightness|con- trast|hue|saturation]=<-100-100>

| Set the image equalizer on the card.

| audiorate=<value>

| Set audio capture bitrate.

| forceaudio

| Capture audio even if there are no audio sources reported by v4l.

| alsa

| Capture from ALSA.

| amode=<0-3>

| Choose an audio mode:

| 0: mono 1: stereo 2: language 1 3: language 2

| 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.

| adevice=<value>

| Set an audio device. <value> should be /dev/xxx for OSS and a hardware ID for AL- SA. You must replace any ':' by a '.' in the hardware ID for ALSA.

| audioid=<value>

| Choose an audio output of the capture card, if it has more than one.

| [volume|bass|treble|bal- ance]=<0-65535> (v4l1)

| [volume|bass|treble|bal- ance]=<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.

| 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 sound card.

| 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 decima- tion value (see below).

| decimation=<1|2|4>

| choose the size of the picture that will be compressed by hardware MJPEG compression:

| 1: full size 704x576 PAL 704x480 NTSC 2: medium size 352x288 PAL 352x240 NTSC 4: small size 176x144 PAL 176x120 NTSC

| quality=<0-100>

| Choose the quality of the JPEG compression (< 60 recommended for full size).

| -user <username> (also see -passwd) (network on- ly)

| Specify username for HTTP authentication.

| -user-agent <string>

| Use <string> as user agent for HTTP streaming.

| -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.

| -vivo <sub-options> (DEBUG CODE)

| Force audio parameters for the VIVO demuxer (for debugging purposes).

## OSD/SUB OPTIONS

| NOTE: Also see -vf expand.

| -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.

| -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.

| -dumpmpsub (MPlayer only)

| Convert the given subtitle (specified with the -sub option) to MPlayer's subtitle format, MPsub. Cre- ates a dump.mpsub file in the current directory.

| -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 directo- ry.

| -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.

| -dumpsub (MPlayer only) (BETA CODE)

| Dumps the subtitle substream from VOB streams. Al- so see the -dump*sub and -vobsubout* options.

| -ffactor <number> (OSD only)

| Resample the font alphamap. Can be:

| 0

| plain white fonts

| 0.75

| very narrow black outline (default)

| 1

| narrow black outline

| 10

| bold black outline

| -flip-hebrew (FriBiDi only)

| Turns on flipping subtitles using FriBiDi.

| -noflip-hebrew-commas

| Change FriBiDi's assumptions about the placements of commas in subtitles. Use this if commas in sub- titles are shown at the start of a sentence instead of at the end.

| -font <path to font.desc file> (OSD only)

| Search for the OSD/SUB fonts in an alternative di- rectory (default for normal fonts: ~/.mplayer/font/ font.desc, default for FreeType fonts: ~/.mplayer/ subfont.ttf). NOTE: With FreeType, this option determines the path to the text font file. With fontconfig, this option determines the fontconfig font name.

| EXAMPLE:

| -font ~/.mplayer/arial-14/font.desc -font ~/.mplayer/arialuni.ttf -font 'Bitstream Vera Sans'

| -fontconfig (fontconfig only)

| Enables the usage of fontconfig managed fonts.

| -forcedsubsonly

| Display only forced subtitles for the DVD subtitle stream selected by e.g. -slang.

| -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).

| -ifo <VOBsub ifo file>

| Indicate the file that will be used to load palette and frame size for VOBsub subtitles.

| -noautosub

| Turns off automatic subtitle file loading.

| -osdlevel <0-3> (MPlayer only)

| Specifies which mode the OSD should start in.

| 0

| subtitles only

| 1

| volume + seek (default)

| 2

| volume + seek + timer + percentage

| 3

| volume + seek + timer + percentage + total time

| -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).

| -sid <ID> (also see -slang)

| Display the subtitle stream specified by <ID> (0-31). MPlayer prints the available subtitle IDs when run in verbose (-v) mode.

| -slang <language code[,language code,...]> (also see -sid)

| Specify a priority list of subtitle languages to use. Different container formats employ different language codes. DVDs use ISO 639-1 two letter lan- guage codes, Matroska uses ISO 639-2 three letter language codes while OGM uses a free-form identifi- er. MPlayer prints the available languages when run in verbose (-v) mode.

| EXAMPLE:

| mplayer dvd://1 -slang hu,en

| Chooses the Hungarian subtitle track on a DVD and falls back on English if Hungarian is not available.

| mplayer -slang jpn exam- ple.mkv

| Plays a Matroska file with Japanese subti- tles.

| -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:

| 0

| none (fastest, very ugly)

| 1

| approximate (broken?)

| 2

| full (slow)

| 3

| bilinear (default, fast and not too bad)

| 4

| uses swscaler gaussian blur (looks very good)

| -spualign <-1-2> (OSD only)

| Specify how SPU (DVD/VOBsub) subtitles should be aligned.

| -1

| original position

| 0

| align at top (original/default behavior)

| 1

| align at center

| 2

| align at bottom

| -spugauss <0.0-3.0> (OSD only)

| Variance parameter of gaussian used by -spuaa 4. Higher means more blur (default: 1.0).

| -sub <subtitlefile1,subtitlefile2,...>

| Use/display these subtitle files. Only one file can be displayed at the same time.

| -sub-bg-alpha <0-255>

| Specify the alpha channel value for subtitles and OSD backgrounds. Big values mean more transparen- cy. 0 means completely transparent.

| -sub-bg-color <0-255>

| Specify the color value for subtitles and OSD back- grounds. Currently subtitles are grayscale so this value is equivalente to the intensity of the color. 255 means white and 0 black.

| -sub-demuxer <number> (-subfile only) (BETA CODE)

| Force subtitle demuxer type for -subfile. Give the demuxer ID as defined in subreader.h.

| -sub-fuzziness <mode>

| Adjust matching fuzziness when searching for subti- tles:

| 0

| exact match

| 1

| Load all subs containing movie name.

| 2

| Load all subs in the current directory.

| -sub-no-text-pp

| Disables any kind of text post processing done af- ter loading the subtitles. Used for debug purpos- es.

| -subalign <0-2> (OSD only)

| Specify how subtitles should be aligned with -sub- pos.

| 0

| Align at top (original/default behavior).

| 1

| Align at center.

| 2

| Align at bottom.

| -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 sub- titles have not been spotted on DVDs from other re- gions so far.

| -subcp <codepage> (iconv only)

| If your system supports iconv(3), you can use this option to specify the subtitle codepage.

| EXAMPLE:

| -subcp latin2 -subcp cp1250

| -subcp enca:<language>:<fallback codepage> (ENCA only)

| You can specify your language using a two letter language code to make ENCA detect the codepage au- tomatically. If unsure, enter anything and watch mplayer -v output for available languages. Fall- back codepage specifies the codepage to use, when autodetection fails.

| EXAMPLE:

| -subcp enca:cs:latin2

| Guess the encoding, assuming the subtitles are Czech, fall back on latin 2, if the de- tection fails.

| -subcp enca:pl:cp1250

| Guess the encoding for Polish, fall back on cp1250.

| -subdelay <sec>

| Delays subtitles by <sec> seconds. Can be nega- tive.

| -subfile <filename> (BETA CODE)

| Currently useless. Same as -audiofile, but for subtitle streams (OggDS?).

| -subfont-autoscale <0-3> (FreeType only)

| Sets the autoscale mode. NOTE: 0 means that text scale and OSD scale are font heights in points.

| The mode can be:

| 0

| no autoscale

| 1

| proportional to movie height

| 2

| proportional to movie width

| 3

| proportional to movie diagonal (default)

| -subfont-blur <0-8> (FreeType only)

| Sets the font blur radius (default: 2).

| -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).

| -subfont-osd-scale <0-100> (FreeType only)

| Sets the autoscale coefficient of the OSD elements (default: 6).

| -subfont-outline <0-8> (FreeType only)

| Sets the font outline thickness (default: 2).

| -subfont-text-scale <0-100> (FreeType only)

| Sets the subtitle text autoscale coefficient as percentage of the screen size (default: 5).

| -subfps <rate>

| Specify the framerate of the subtitle file (de- fault: movie fps). NOTE: Only for frame-based subtitle files, i.e. Mi- croDVD format.

| -subpos <0-100> (useful with -vf expand) (OSD on- ly)

| Specify the position of subtitles on the screen. The value is the vertical position of the subtitle in % of the screen height.

| -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.

| -unicode

| Tells MPlayer to handle the subtitle file as uni- code.

| -utf8

| Tells MPlayer to handle the subtitle file as UTF-8.

| -vobsub <VOBsub file without extension>

| Specify a VOBsub file to use for subtitles. Has to be the full pathname without extension, i.e. with- out the '.idx', '.ifo' or '.sub'.

| -vobsubid <0-31>

| Specify the VOBsub subtitle ID.

## AUDIO OUTPUT OPTIONS (MPLAYER ONLY)

| -abs <value> (-ao oss only) (OBSOLETE)

| Override audio driver/card buffer size detection.

| -delay <sec>

| Audio delay in seconds (positive or negative float value).

| -format <format> (also see the format audio fil- ter)

| Select the sample format used for output from the audio filter layer to the sound card. The values that <format> can adopt are listed below in the de- scription of the format audio filter.

| -mixer <device>

| Use a mixer device different from the default /dev/ mixer. For ALSA this is the mixer name.

| -mixer-channel <mixer line>[,mixer index] (-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 vol, pcm, line. For a complete list of options look for SOUND_DE- VICE_NAMES in /usr/include/linux/soundcard.h. For ALSA you can use the names e.g. alsamixer displays, like Master, Line, PCM. NOTE: ALSA mixer channel names followed by a number must be specified in the <name,number> format, i.e. a channel labeled 'PCM 1' in alsamixer must be con- verted to PCM,1.

| -softvol

| Force the use of the software mixer, instead of us- ing the sound card mixer.

| -softvol-max <10.0-10000.0>

| Set the maximum amplification level in percent (de- fault: 110). A value of 200 will allow you to ad- just the volume up to a maximum of double the cur- rent level. With values below 100 the initial vol- ume (which is 100%) will be above the maximum, which e.g. the OSD cannot display correctly.

| -volstep <0-100>

| Set the step size of mixer volume changes in per- cent of the whole range (default: 3).

## AUDIO OUTPUT DRIVERS (MPLAYER ONLY)

| Audio output drivers are interfaces to different audio output facilities. The syntax is:

| -ao <driver1[:suboption1[=value]:...],driv- er2,...[,]>

| Specify a priority list of audio output drivers to be used.

| If the list has a trailing ',' MPlayer will fall back on drivers not contained in the list. Suboptions are option- al and can mostly be omitted. NOTE: See -ao help for a list of compiled-in audio output drivers.

| EXAMPLE:

| -ao alsa,oss,

| Try the ALSA driver, then the OSS driver, then others.

| -ao alsa:mmap:noblock:de- vice=hw=0.3

| Sets noblock-mode, mmap-mode and the de- vice-name as first card, fourth device.

| Available audio output drivers are:

| alsa

| ALSA 0.9/1.x audio output driver

| mmap

| Sets experimental mmap-mode (does not work for more than 2 channels).

| noblock

| Sets noblock-mode.

| device=<device>

| Sets the device name. Replace any ',' with '.' and any ':' with '=' in the ALSA device name. Make sure you do not set this when you want hwac3 output via S/PDIF, unless you really know how to set it correctly.

| alsa5

| ALSA 0.5 audio output driver

| oss

| OSS audio output driver

| dsp-device

| Sets the audio-output device (default: /dev/dsp).

| sdl

| highly platform independent SDL (Simple Directmedia Layer) library audio output driver

| <driver>

| Explicitly choose the SDL audio driver to use (default: let SDL choose).

| arts

| audio output through the Arts daemon

| esd

| audio output through the ESD daemon

| <server>

| Explicitly choose the ESD server to use (default: localhost).

| jack

| audio output through JACK (Jack Audio Connection Kit)

| port=<name>

| Connects to the port with the given name (default: physical port).

| nas

| audio output through NAS

| macosx (Mac OS X only)

| native Mac OS X audio output driver

| sgi (SGI only)

| native SGI audio output driver

| sun (Sun only)

| native Sun audio output driver

| <device>

| Explicitly choose the audio device to use (default: /dev/audio).

| win32 (Windows only)

| native Windows waveout audio output driver

| dsound (Windows only)

| DirectX DirectSound audio output driver

| device=<devicenum>

| Sets the device number to use. Playing a file with -v will show a list of available devices.

| dxr2 (also see -dxr2) (DXR2 only)

| Creative DXR2 specific output driver

| mpegpes (DVB only)

| DVB specific output driver

| null

| Produces no audio output but maintains video play- back speed. Use -nosound for benchmarking.

| pcm

| raw PCM/wave file writer audio output

| (no)waveheader

| Include or do not include the wave header (default: included). When not included, raw PCM will be generated.

| file=<filename>

| Write the sound to <filename> instead of the default audiodump.wav. If nowaveheader is specified, the default is audiodump.pcm.

| plugin

| plugin audio output driver

## VIDEO OUTPUT OPTIONS (MPLAYER ONLY)

| -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.

| -bpp <depth>

| Override the autodetected color depth. Only sup- ported by the fbdev, dga, svga, vesa video output drivers.

| -brightness <-100-100>

| Adjust the brightness of the video signal (default: 0). Not supported by all video output drivers.

| -contrast <-100-100>

| Adjust the contrast of the video signal (default: 0). Not supported by all video output drivers.

| -display <name> (X11 only)

| Specify the hostname and display number of the X server you want to display on.

| EXAMPLE:

| -display xtest.localdomain:0

| -dr

| Turns on direct rendering (not supported by all codecs and video outputs) WARNING: May cause OSD/SUB corruption!

| -dxr2 <option1:option2:...>

| This option is used to control the dxr2 video out- put driver.

| ar-mode=<value>

| aspect ratio mode (0 = normal, 1 = pan-and-scan, 2 = letterbox (default))

| iec958-encoded

| Set iec958 output mode to encoded.

| iec958-decoded

| Set iec958 output mode to decoded (de- fault).

| macrovision=<value>

| macrovision mode (0 = off (default), 1 = agc, 2 = agc 2 colorstripe, 3 = agc 4 col- orstripe)

| mute

| mute sound output

| unmute

| unmute sound output

| ucode=<value>

| path to the microcode

| TV output

| 75ire

| enable 7.5 IRE output mode

| no75ire

| disable 7.5 IRE output mode (default)

| bw

| b/w TV output

| color

| color TV output (default)

| interlaced

| interlaced TV output (default)

| nointerlaced

| disable interlaced TV output

| norm=<value>

| TV norm (ntsc (default), pal, pal60, palm, paln, palnc)

| square-pixel

| set pixel mode to square

| ccir601-pixel

| set pixel mode to ccir601

| overlay

| cr-left=<0-500>

| Set the left cropping value (default: 50).

| cr-right=<0-500>

| Set the right cropping value (default: 300).

| cr-top=<0-500>

| Set the top cropping value (default: 0).

| cr-bottom=<0-500>

| Set the bottom cropping value (default: 0).

| ck-[r|g|b]=<0-255>

| Set the r(ed), g(reen) or b(lue) gain of the overlay color-key.

| ck-[r|g|b]min=<0-255>

| minimum value for the respective color key

| ck-[r|g|b]max=<0-255>

| maximum value for the respective color key

| ignore-cache

| Ignore cached overlay settings.

| update-cache

| Update cached overlay settings.

| ol-osd

| Enable overlay onscreen display.

| nool-osd

| Disable overlay onscreen display (default).

| 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).

| overlay

| Activate overlay (default).

| nooverlay

| Activate TVout.

| overlay-ratio=<1-2500>

| Tune the overlay (default: 1000).

| -fbmode <modename> (-vo fbdev only)

| Change video mode to the one that is labeled as <modename> in /etc/fb.modes. NOTE: VESA framebuffer doesn't support mode chang- ing.

| -fbmodeconfig <filename> (-vo fbdev only)

| Override framebuffer mode configuration file (de- fault: /etc/fb.modes).

| -fs (also see -zoom)

| Fullscreen playback (centers movie, and paints black bands around it). Not supported by all video output drivers.

| -fsmode-dontuse <0-31> (OBSOLETE, use the -fs op- tion)

| Try this option if you still experience fullscreen problems.

| -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. NOTE: See -fstype help for a full list of available modes.

| The available types are:

| above

| Use the _NETWM_STATE_ABOVE hint if avail- able.

| below

| Use the _NETWM_STATE_BELOW hint if avail- able.

| fullscreen

| Use the _NETWM_STATE_FULLSCREEN hint if available.

| layer

| Use the _WIN_LAYER hint with the default layer.

| layer=<0...15>

| Use the _WIN_LAYER hint with the given lay- er number.

| netwm

| Force NETWM style.

| none

| Do not set fullscreen window layer.

| stays_on_top

| Use _NETWM_STATE_STAYS_ON_TOP hint if available.

| EXAMPLE:

| lay- er,stays_on_top,above,fullscreen

| Default order, will be used as a fallback if incorrect or unsupported modes are spec- ified.

| -fullscreen

| Fixes fullscreen switching on OpenBox 1.x.

| -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 direc- tion. It also supports the standard X11 -geometry option format. If an external window is specified using the -wid option, then the x and y coordinates are relative to the top-left corner of the window rather than the screen. NOTE: This option is only supported by the x11, xm- ga, xv, xvmc, xvidix, gl, gl2, directx and tdfxfb video output drivers.

| EXAMPLE:

| 50:40

| Places the window at x=50, y=40.

| 50%:50%

| Places the window in the middle of the screen.

| 100%

| Places the window at the middle of the right edge of the screen.

| 100%:100%

| Places the window at the bottom right cor- ner of the screen.

| -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).

| -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.

| -monitor-dotclock <range[,range,...]> (-vo fbdev and vesa only)

| Specify the dotclock or pixelclock range of the monitor.

| -monitor-hfreq <range[,range,...]> (-vo fbdev and vesa on- ly)

| Specify the horizontal frequency range of the moni- tor.

| -monitor-vfreq <range[,range,...]> (-vo fbdev and vesa on- ly)

| Specify the vertical frequency range of the moni- tor.

| -monitoraspect <ratio> (also see -aspect)

| Set the aspect ratio of your monitor or TV screen.

| EXAMPLE:

| -monitoraspect 4:3 or 1.3333 -monitoraspect 16:9 or 1.7777

| -nodouble

| Disables double buffering, mostly for debugging purposes. Double buffering fixes flicker by stor- ing two frames in memory, and displaying one while decoding another. It can affect OSD negatively, but often removes OSD flickering.

| -nograbpointer

| Do not grab the mouse pointer after a video mode change (-vm). Useful for multihead setups.

| -nokeepaspect

| Do not keep window aspect ratio when resizing win- dows. Only works with the x11, xv, xmga, xvidix, directx video output drivers. Furthermore under X11 your window manager has to honor window aspect hints.

| -ontop

| Makes the player window stay on top of other win- dows. Supported by video output drivers which use X11, except SDL, as well as directx, macosx, quartz, ggi and gl2.

| -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, gl, quartz, macosx and xvidix video output drivers.

| -refreshrate <Hz>

| Set the monitor refreshrate in Hz. Currently only supported by -vo directx combined with the -vm op- tion.

| -rootwin

| Play movie in the root window (desktop background). Desktop background images may cover the movie win- dow, though. Only works with the x11, xv, xmga, xvidix, quartz, macosx and directx video output drivers.

| -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.

| -screenh <pixels>

| Specify the vertical screen resolution for video output drivers which do not know the screen resolu- tion like fbdev, x11 and TVout.

| -screenw <pixels>

| Specify the horizontal screen resolution for video output drivers which do not know the screen resolu- tion like fbdev, x11 and TVout.

| -stop-xscreensaver (X11 only)

| Turns off xscreensaver at startup and turns it on again on exit.

| -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 -re- freshrate options can be used to set the new dis- play mode.

| -vsync

| Enables VBI for the vesa, dfbmga and svga video output drivers.

| -wid <window ID> (also see -guiwid) (X11, OpenGL and Di- rectX only)

| This tells MPlayer to attach to an existing window. Useful to embed MPlayer in a browser (e.g. the plugger extension).

| -xineramascreen <0-...>

| In Xinerama configurations (i.e. a single desktop that spans across multiple displays) this option tells MPlayer which screen to display the movie on.

| -zrbw (-vo zr only)

| Display in black and white. For optimal perfor- mance, this can be combined with '-lavdopts gray'.

| -zrcrop <[width]x[height]+[x offset]+[y offset]> (-vo zr only)

| Select a part of the input image to display, multi- ple 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 larg- er 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.

| -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.

| -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.

| -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.

| -zrhelp (-vo zr only)

| Display a list of all -zr* options, their default values and a cinerama mode example.

| -zrnorm <norm> (-vo zr only)

| Specify the TV norm as PAL or NTSC (default: no change).

| -zrquality <1-20> (-vo zr only)

| A number from 1 (best) to 20 (worst) representing the JPEG encoding quality.

| -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.

| -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).

| -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).

## VIDEO OUTPUT DRIVERS (MPLAYER ONLY)

| Video output drivers are interfaces to different video output facilities. The syntax is:

| -vo <driver1[:suboption1[=value]:...],driv- er2,...[,]>

| Specify a priority list of video output drivers to be used.

| If the list has a trailing ',' MPlayer will fall back on drivers not contained in the list. Suboptions are option- al and can mostly be omitted. NOTE: See -vo help for a list of compiled-in video output drivers.

| EXAMPLE:

| -vo xmga,xv,

| Try the Matrox X11 driver, then the Xv driver, then others.

| -vo directx:noaccel

| Uses the DirectX driver with acceleration features turned off.

| Available video output drivers are:

| 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. For information about what colorkey is used and how it is drawn run MPlayer with -v option and look out for the lines tagged with [xv common] at the beginning.

| port=<number>

| Select a specific XVideo port.

| ck=<cur|use|set>

| Select the source from which the colorkey is taken (default: cur).

| cur

| The default takes the colorkey cur- rently set in Xv.

| use

| Use but do not set the colorkey from MPlayer (use -colorkey option to change it).

| set

| Same as use but also sets the sup- plied colorkey.

| ck-method=<man|bg|auto>

| Sets the colorkey drawing method (default: man).

| man

| Draw the colorkey manually (reduces flicker in some cases).

| bg

| Set the colorkey as window back- ground.

| auto

| Let Xv draw the colorkey.

| x11 (X11 only)

| Shared memory video output driver without hardware acceleration that works whenever X11 is present.

| xover (X11 only)

| Adds X11 support to all overlay based video output drivers. Currently only supported by tdfx_vid.

| <vo_driver>

| Select the driver to use as source to over- lay on top of X11.

| xvmc (X11 with -vc ffmpeg12mc only)

| Video output driver that uses the XvMC (X Video Mo- tion Compensation) extension of XFree86 4.x to speed up MPEG-1/2 and VCR2 decoding.

| port=<number>

| Select a specific XVideo port.

| (no)benchmark

| Disables image display. Necessary for proper benchmarking of drivers that change image buffers on monitor retrace only (nVidia). Default is not to disable image display (nobenchmark).

| (no)queue

| Queue frames for display to allow more par- allel work of the video hardware. May add a small (not noticeable) constant A/V desync (default: noqueue).

| (no)sleep

| Use sleep function while waiting for ren- dering to finish (not recomended on Linux) (default: nosleep).

| ck=cur|use|set

| Same as -vo xv:ck (see -vo xv).

| ck-method=man|bg|auto

| Same as -vo xv:ck-method (see -vo xv).

| dga (X11 only)

| Play video through the XFree86 Direct Graphics Ac- cess extension. Considered obsolete.

| sdl (SDL only)

| Highly platform independent SDL (Simple Directmedia Layer) library video output driver. Since SDL uses its own X11 layer, MPlayer X11 options do not have any effect on SDL.

| driver=<driver>

| Explicitly choose the SDL driver to use.

| (no)forcexv

| Use XVideo through the sdl video output driver (default: forcexv).

| (no)hwaccel

| Use hardware accelerated scaler (default: hwaccel).

| vidix

| VIDIX (VIDeo Interface for *niX) is an interface to the video acceleration features of different graph- ics cards. Very fast video output driver on cards that support it.

| <subdevice>

| Explicitly choose the VIDIX subdevice driv- er to use. Available subdevice drivers are cyberblade_vid, mach64_vid, mga_crtc2_vid, mga_vid, nvidia_vid, pm3_vid, radeon_vid, rage128_vid, sis_vid and unichrome_vid.

| xvidix (X11 only)

| X11 frontend for VIDIX

| <subdevice>

| same as vidix

| cvidix

| Generic and platform independent VIDIX frontend, can even run in a textconsole with nVidia cards.

| <subdevice>

| same as vidix

| winvidix (Windows only)

| Windows frontend for VIDIX

| <subdevice>

| same as vidix

| directx (Windows only)

| Video output driver that uses the DirectX inter- face.

| noaccel

| Turns off hardware acceleration. Try this option if you have display problems.

| 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 for- mat=yuy2.

| device_id=<number>

| Choose the display device to use in fullscreen.

| fs_res=<width>:<height>

| Specify the fullscreen resolution (useful on slow systems).

| macosx (Mac OS X 10.4 or 10.3.9 with QuickTime 7)

| Mac OS X CoreVideo video output driver

| device_id=<number>

| Choose the display device to use in fullscreen.

| fbdev (Linux only)

| Uses the kernel framebuffer to play video.

| <device>

| Explicitly choose the fbdev device name to use (e.g. /dev/fb0) or the name of the VIDIX subdevice if the device name starts with 'vidix' (e.g. 'vidixsis_vid' for the sis driver).

| fbdev2 (Linux only)

| Uses the kernel framebuffer to play video, alterna- tive implementation.

| <device>

| Explicitly choose the fbdev device name to use (default: /dev/fb0).

| vesa

| Very general video output driver that should work on any VESA VBE 2.0 compatible card.

| dga

| Turns on DGA mode.

| nodga

| Turns off DGA mode.

| neotv_pal

| Activate the NeoMagic TV out and set it to PAL norm.

| neotv_ntsc

| Activate the NeoMagic TV out and set it to NTSC norm.

| vidix

| Use the VIDIX driver.

| lvo:

| Activate the Linux Video Overlay on top of VESA mode.

| svga

| Play video using the SVGA library.

| <video mode>

| Specify video mode to use. The mode can be given in a <width>x<height>x<colors> for- mat, e.g. 640x480x16M or be a graphics mode number, e.g. 84.

| bbosd

| Draw OSD into black bands below the movie (slower).

| native

| Use only native drawing functions. This avoids direct rendering, OSD and hardware acceleration.

| retrace

| Force frame switch on vertical retrace. Usable only with -double. It has the same effect as the -vsync option.

| sq

| Try to select a video mode with square pix- els.

| vidix

| Use svga with VIDIX.

| gl

| OpenGL video output driver. Simple version, video size must be smaller than the maximum texture size of your OpenGL implementation. Intended to work even with the most simple OpenGL implementations.

| (no)manyfmts

| Enables support for more (RGB and BGR) col- or formats. Needs OpenGL version >= 1.2.

| slice-height=<0-...>

| Number of lines copied to texture in one piece (default: 4). 0 for whole image.

| (no)osd

| Enable or disable support for OSD rendering via OpenGL (default: enabled). Mostly for testing, you should use -osdlevel 0 to dis- able OSD.

| (no)scaled-osd

| Changes the way the OSD behaves when the size of the window changes (default: dis- abled). When enabled behaves more like the other video output drivers, which is better for fixed-size fonts. Disabled looks much better with FreeType fonts and uses the borders in fullscreen mode.

| (no)aspect

| Enable or disable aspect scaling and pan-and-scan support (default: enabled). Disabling might increase speed.

| gl2

| OpenGL video output driver, second generation. Supports OSD and videos larger than the maximum texture size.

| null

| Produces no video output. Useful for benchmarking.

| aa

| ASCII art video output driver that works on a text console. You can get a list and an explanation of available suboptions executing mplayer -vo aa:help

| caca

| Color ASCII art video output driver that works on a text console.

| bl

| Video playback using the Blinkenlights UDP proto- col. This driver is highly hardware specific.

| <subdevice>

| Explicitly choose the Blinkenlights subde- vice driver to use. It's something like arcade:host=localhost:2323 or hdl:file=name1,file=name2. You must speci- fy a subdevice.

| ggi

| GGI graphics system video output driver

| <driver>

| Explicitly choose the GGI driver to use. Replace any ',' that would appear in the driver string by a '.'.

| directfb

| Play video using the DirectFB library.

| (no)input

| Use the DirectFB instead of the MPlayer keyboard code (default: enabled).

| buffermode=single|dou- ble|triple

| Double and triple buffering give best re- sults if you want to avoid tearing issues. Triple buffering is more efficent than dou- ble buffering as it doesn't block MPlayer while waiting for the vertical retrace. Single buffering should be avoided (de- fault: single).

| 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/un- smooth motions watching interlaced film ma- terial.

| layer=N

| Will force layer with ID N for playback (default: -1 - auto).

| dfbopts=<list>

| Specify a parameter list for DirectFB.

| dfbmga

| Matrox G400/G450/G550 specific video output driver that uses the DirectFB library to make use of spe- cial hardware features. Enables CRTC2 (second head), displaying video independently of the first head.

| (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.

| (no)spic

| Make use of the Matrox sub picture layer to display the OSD (default: enabled).

| (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.

| (no)input

| Use the DirectFB instead of the MPlayer keyboard code (default: disabled).

| buffermode=single|dou- ble|triple

| Double and triple buffering give best re- sults if you want to avoid tearing issues. Triple buffering is more efficent than dou- ble buffering as it doesn't block MPlayer while waiting for the vertical retrace. Single buffering should be avoided (de- fault: triple).

| 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/un- smooth motions watching interlaced film ma- terial.

| tvnorm=pal|ntsc|auto

| Will set the TV norm of the Matrox card without the need for modifying /etc/di- rectfbrc (default: disabled). Valid norms are pal = PAL, ntsc = NTSC. Special norm is auto (auto-adjust using PAL/NTSC) be- cause it decides which norm to use by look- ing at the framerate of the movie.

| 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.

| <device>

| Explicitly choose the Matrox device name to use (default: /dev/mga_vid).

| xmga (Linux, X11 only)

| The mga video output driver, running in an X11 win- dow.

| <device>

| Explicitly choose the Matrox device name to use (default: /dev/mga_vid).

| 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 re- trace of your monitor.

| 3dfx (Linux only)

| 3Dfx specific video output driver. This driver di- rectly uses the 3Dfx hardware on top of X11. Only 16 bpp are supported. FIXME: It' ok the difference between 3dfx, tdfxfb and tdfx_vid?

| tdfxfb (Linux only)

| This driver employs the tdfx framebuffer driver to play movies with YUV acceleration on 3Dfx cards. FIXME: It' ok the difference between 3dfx, tdfxfb and tdfx_vid?

| <device>

| Explicitly choose the fbdev device name to use (default: /dev/fb0).

| tdfx_vid (Linux only)

| 3Dfx specific video output driver. This driver di- rectly uses the tdfx_vid kernel module. FIXME: It' ok the difference between 3dfx, tdfxfb and td- fx_vid?

| <device>

| Explicitly choose the device name to use (default: /dev/tdfx_vid).

| dxr2 (also see -dxr2) (DXR2 only)

| Creative DXR2 specific video output driver.

| <vo_driver>

| Output video subdriver to use as overlay (x11, xv).

| 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.

| overlay

| Activates the overlay instead of TVOut.

| prebuf

| Turns on prebuffering.

| sync

| Will turn on the new sync-engine.

| norm=<norm>

| Specifies the TV norm.

| 0: Does not change current norm (de- fault). 1: Auto-adjust using PAL/NTSC. 2: Auto-adjust using PAL/PAL-60. 3: PAL 4: PAL-60 5: NTSC

| <0-3>

| Specifies the device number to use if you have more than one em8300 card.

| mpegpes (DVB only)

| Video output driver for DVB cards that writes the output to an MPEG-PES file if no DVB card is in- stalled.

| 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).

| <filename>

| Allows specifying the output filename (de- fault: ./grab.mpg).

| zr (also see -zr* and -zrhelp)

| Video output driver for a number of MJPEG capture/ playback cards.

| zr2 (also see the zrmjpeg video filter)

| Video output driver for a number of MJPEG capture/ playback cards, second generation.

| dev=<device>

| Specifies the device to use.

| pal

| Activate PAL video norm.

| secam

| Activate SECAM video norm.

| ntsc

| Activate NTSC video norm.

| prebuf

| Activate prebuffering, not yet supported.

| md5sum

| Calculate MD5 sums of each frame and write them to a file. Supports RGB24 and YV12 colorspaces. Use- ful for debugging.

| outfile=<value>

| Specify the output filename (default: ./md5sums).

| yuv4mpeg

| Transforms the video stream into a sequence of un- compressed YUV 4:2:0 images and stores it in a file (default: ./stream.yuv). The format is the same as the one employed by mjpegtools, so this is useful if you want to process the video with the mjpeg- tools suite. It supports the YV12, RGB (24 bpp) and BGR (24 bpp) format. You can combine it with the -fixed-vo option to concatenate files with the same dimensions and fps value.

| interlaced

| Write the output as interlaced frames, top field first.

| interlaced_bf

| Write the output as interlaced frames, bot- tom field first.

| file=<filename>

| Write the output to <filename> instead of the default stream.yuv.

| NOTE: If you don't specify any option the output is progressive (i.e. not interlaced).

| gif89a

| Output each frame into a single animated GIF file in the current directory. It supports only RGB format with 24 bpp and the output is converted to 256 colors.

| <fps>

| Float value to specify framerate (default: 5.0).

| <filename>

| Specify the output filename (default: ./out.gif).

| NOTE: You must specify the framerate before the filename or the framerate will be part of the file- name.

| EXAMPLE:

| mplayer video.nut -vo gif89a:15.0:test.gif

| jpeg

| Output each frame into a JPEG file in the current directory. Each file takes the frame number padded with leading zeros as name.

| [no]progressive

| Specify standard or progressive JPEG (de- fault: noprogressive).

| [no]baseline

| Specify use of baseline or not (default: baseline).

| optimize=<0-100>

| optimization factor (default: 100)

| smooth=<0-100>

| smooth factor (default: 0)

| quality=<0-100>

| quality factor (default: 75)

| outdir=<dirname>

| Specify the directory to save the JPEG files to (default: ./).

| subdirs=<prefix>

| Create numbered subdirectories with the specified prefix to save the files in in- stead of the current directory.

| maxfiles=<value>

| Maximum number of files to be saved per subdirectory. Must be equal to or larger than 1 (default: 1000).

| pnm

| Output each frame into a PNM file in the current directory. Each file takes the frame number padded with leading zeros as name. It supports PPM, PGM and PGMYUV files in both raw and ASCII mode. Also see pnm(5), ppm(5) and pgm(5).

| ppm

| Write PPM files (default).

| pgm

| Write PGM files.

| pgmyuv

| Write PGMYUV files. PGMYUV is like PGM, but it also contains the U and V plane, ap- pended at the bottom of the picture.

| raw

| Write PNM files in raw mode (default).

| ascii

| Write PNM files in ASCII mode.

| outdir=<dirname>

| Specify the directory to save the PNM files to (default: ./).

| subdirs=<prefix>

| Create numbered subdirectories with the specified prefix to save the files in in- stead of the current directory.

| maxfiles=<value>

| Maximum number of files to be saved per subdirectory. Must be equal to or larger than 1 (default: 1000).

| png

| Output each frame into a PNG file in the current directory. Each file takes the frame number padded with leading zeros as name. 24bpp RGB and BGR for- mats are supported.

| z=<0-9>

| Specifies the compression level. 0 is no compression, 9 is maximum compression.

| tga

| Output each frame into a Targa file in the current directory. Each file takes the frame number padded with leading zeros as name. The purpose of this video output driver is to have a simple lossless image writer to use without any external library. It supports the BGR[A] color format, with 15, 24 and 32 bpp. You can force a particular format with the format video filter.

| EXAMPLE:

| mplayer video.nut -vf format=bgr15 -vo tga

## DECODING/FILTERING OPTIONS

| -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. NOTE: See -ac help for a full list of available codecs.

| EXAMPLE:

| -ac mp3acm

| Force the l3codeca.acm MP3 codec.

| -ac mad,

| Try libmad first, then fall back on others.

| -ac hwac3,a52,

| Try hardware AC3 passthrough, software AC3, then others.

| -ac -ffmp3,

| Skip FFmpeg's MP3 decoder.

| -af-adv <force=(0-3):list=(filters)> (also see -af)

| Specify advanced audio filter options:

| force=<0-7>

| Forces the insertion of audio filters to one of the following:

| 0: completely automatic filter insertion (default) 1: Optimize for accuracy. 2: Optimize for speed. Warning: Some features in the audio filters may silently fail, and the sound quality may drop. 3: Use no automatic insertion of filters and no optimization. Warning: It may be possible to crash MPlayer using this setting. 4: Use automatic insertion of filters according to 0 above, but use floating point processing when possible. 5: Use automatic insertion of filters according to 1 above, but use floating point processing when possible. 6: Use automatic insertion of filters according to 2 above, but use floating point processing when possible. 7: Use no automatic insertion of filters according to 3 above, and use floating point processing when possible.

| list=<filters>

| Same as -af.

| -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. NOTE: See -afm help for a full list of available codec families.

| EXAMPLE:

| -afm ffmpeg

| Try FFmpeg's libavcodec codecs first.

| -afm acm,dshow

| Try Win32 codecs first.

| -aspect <ratio> (also see -zoom)

| Override movie aspect ratio, in case aspect infor- mation is incorrect or missing in the file being played.

| EXAMPLE:

| -aspect 4:3 or -aspect 1.3333 -aspect 16:9 or -aspect 1.7777

| -noaspect

| Disable automatic movie aspect ratio compensation.

| -flip

| Flip image upside-down.

| -lavdopts <option1:option2:...> (DEBUG CODE)

| Specify libavcodec decoding parameters.

| EXAMPLE:

| -lavdopts bug=1

| Available options are:

| bug=<value>

| Manually work around encoder bugs.

| 0: nothing 1: autodetect bugs (default) 2 (msmpeg4v3): some old lavc generated msmpeg4v3 files (no autodetection) 4 (mpeg4): XviD interlacing bug (autode- tected if fourcc==XVIX) 8 (mpeg4): UMP4 (autodetected if four- cc==UMP4) 16 (mpeg4): padding bug (autodetected) 32 (mpeg4): illegal vlc bug (autodetect- ed per fourcc) 64 (mpeg4): XviD and DivX qpel bug (au- todetected per fourcc/version) 128 (mpeg4): old standard qpel (autode- tected per fourcc/version) 256 (mpeg4): another qpel bug (autode- tected per fourcc/version) 512 (mpeg4): direct-qpel-blocksize bug (autodetected per fourcc/version) 1024 (mpeg4): edge padding bug (autode- tected per fourcc/version)

| debug=<value>

| Display debugging information.

| 0: disabled 1: picture info 2: rate control 4: bitstream 8: macroblock (MB) type 16: per-block quantization parameter (QP) 32: motion vector 0x0040: motion vector visualization (use -noslices) 0x0080: macroblock (MB) skip 0x0100: startcode 0x0200: PTS 0x0400: error resilience 0x0800: memory management control opera- tions (H.264) 0x1000: bugs 0x2000: Visualize quantization parameter (QP), lower QP are tinted greener. 0x4000: Visualize block types.

| ec=<value>

| Set error concealment strategy.

| 1: Use strong deblock filter for damaged MBs. 2: iterative motion vector (MV) search (slow) 3: all (default)

| er=<value>

| Set error resilience strategy.

| 0: disabled 1: careful (Should work with broken en- coders.) 2: normal (default) (Works with compli- ant encoders.) 3: aggressive (More checks, but might cause problems even for valid bit- streams.) 4: very aggressive

| fast

| Enable optimizations which do not comply to the specification and might potentially cause problems, like simpler dequantiza- tion, assuming use of the default quantiza- tion matrix, assuming YUV 4:2:0 and skip- ping a few checks to detect damaged bit- streams.

| gray

| grayscale only decoding (a bit faster than with color)

| 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.

| lowres=<number>[,<w>]

| Decode at lower resolutions. Low resolu- tion decoding is not supported by all codecs, and it will often result in ugly artifacts. This is not a bug, but a side effect of not decoding at full resolution.

| 0: disabled 1: 1/2 resolution 2: 1/4 resolution 3: 1/8 resolution

| If <w> is specified lowres decoding will be used only if the width of the video is ma- jor than or equal to <w>.

| sb=<number> (MPEG-2 only)

| Skip the given number of macroblock rows at the bottom.

| st=<number> (MPEG-2 only)

| Skip the given number of macroblock rows at the top.

| vismv=<value>

| Visualize motion vectors.

| 0: disabled 1: Visualize forward predicted MVs of P-frames. 2: Visualize forward predicted MVs of B-frames. 4: Visualize backward predicted MVs of B-frames.

| vstats

| Prints some statistics and stores them in ./vstats_*.log.

| -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 libav- codec codecs.

| -nosound

| Do not play/encode sound. Useful for benchmarking.

| -novideo

| Do not play/encode video.

| -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 perfor- mance. The valid range of -oldpp values varies by codec, it is mostly 0-6, where 0=disable, 6=slow- est/best.

| -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=slow- est/best.

| -pphelp (also see -vf pp)

| Show a summary about the available postprocess fil- ters and their usage.

| -ssf <mode>

| Specifies software scaler parameters.

| EXAMPLE:

| -vf scale -ssf lgb=3.0

| lgb=<0-100>

| gaussian blur filter (luma)

| cgb=<0-100>

| gaussian blur filter (chroma)

| ls=<0-100>

| sharpen filter (luma)

| cs=<0-100>

| sharpen filter (chroma)

| chs=<h>

| chroma horizontal shifting

| cvs=<v>

| chroma vertical shifting

| -stereo <mode>

| Select type of MP2/MP3 stereo output.

| 0

| stereo

| 1

| left channel

| 2

| right channel

| -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.

| Available types are:

| 0

| fast bilinear

| 1

| bilinear

| 2

| bicubic (good quality) (default)

| 3

| experimental

| 4

| nearest neighbour (bad quality)

| 5

| area

| 6

| luma bicubic / chroma bilinear

| 7

| gauss

| 8

| sincR

| 9

| lanczos

| 10

| natural bicubic spline

| NOTE: Some -sws options are tunable. The descrip- tion of the scale video filter has further informa- tion.

| -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. NOTE: See -vc help for a full list of available codecs.

| EXAMPLE:

| -vc divx

| Force Win32/VFW DivX codec, no fallback.

| -vc divx4,

| Try divx4linux codec first, then fall back on others.

| -vc -divxds,-divx,

| Skip Win32 DivX codecs.

| -vc ffmpeg12,mpeg12,

| Try libavcodec's MPEG-1/2 codec, then libm- peg2, then others.

| -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. NOTE: See -vfm help for a full list of available codec families.

| EXAMPLE:

| -vfm ffmpeg,dshow,vfw

| Try the libavcodec, then Directshow, then VfW codecs and fall back on others, if they do not work.

| -vfm xanim

| Try XAnim codecs first.

| -x <x> (also see -zoom) (MPlayer only)

| Scale image to width <x> (if software/hardware scaling is available). Disables aspect calcula- tions.

| -xvidopts <option1:option2:...>

| Specify additional parameters when decoding with XviD. NOTE: Since libavcodec is faster than XviD you might want to use the libavcodec postprocessing filter (-vf pp) and decoder (-vfm ffmpeg) instead.

| XviD's internal postprocessing filters:

| deblock-chroma

| chroma deblock filter

| deblock-luma

| luma deblock filter

| dering-luma

| luma deringing filter

| dering-chroma

| chroma deringing filter

| filmeffect

| Adds artificial film grain to the video. May increase perceived quality, while low- ering true quality.

| rendering methods:

| dr2

| Activate direct rendering method 2.

| nodr2

| Deactivate direct rendering method 2.

| -xy <value> (also see -zoom)

| value<=8

| Scale image by factor <value>.

| value>8

| Set width to value and calculate height to keep correct aspect ratio.

| -y <y> (also see -zoom) (MPlayer only)

| Scale image to height <y> (if software/hardware scaling is available). Disables aspect calcula- tions.

| -zoom

| Allow software scaling, where available. This will allow scaling with output drivers (like x11, fbdev) that do not support hardware scaling where MPlayer disables scaling by default for performance rea- sons.

## AUDIO FILTERS

| Audio filters allow you to modify the audio stream and its properties. The syntax is:

| -af <filter1[=parameter1:parameter2:...],fil- ter2,...>

| Setup a chain of audio filters.

| NOTE: To get a full list of available audio filters, see -af help.

| Available filters are:

| resample[=srate[:sloppy[:type]]]

| Changes the sample rate of the audio stream. Can be used if you have a fixed frequency sound card or if you are stuck with an old sound card that is on- ly capable of max 44.1kHz. This filter is automat- ically enabled if necessary. It only supports 16-bit integer and float in native-endian format as input. NOTE: With MEncoder, you need to also use -srate <srate>.

| <srate>

| output sample frequency in Hz. The valid range for this parameter is 8000 to 192000. If the input and output sample frequency are the same or if this parameter is omit- ted the filter is automatically unloaded. A high sample frequency normally improves the audio quality, especially when used in combination with other filters.

| <sloppy>

| Allow (1) or disallow (0) the output fre- quency to differ slightly from the frequen- cy given by <srate> (default: 1). Can be used if the startup of the playback is ex- tremely slow.

| <type>

| Selects which resampling method to use.

| 0: linear interpolation (fast, poor quality especially when upsampling) 1: polyphase filterbank and integer pro- cessing 2: polyphase filterbank and floating point processing (slow, best quality)

| EXAMPLE:

| mplayer -af resam- ple=44100:0:0

| would set the output frequency of the re- sample filter to 44100Hz using exact output frequency scaling and linear interpolation.

| lavcresample[=srate[:length[:linear[:count[:cut- off]]]]]

| Changes the sample rate of the audio stream to an integer <srate> in Hz. It only supports the 16-bit native-endian format. NOTE: With MEncoder, you need to also use -srate <srate>.

| <srate>

| the output sample rate

| <length>

| length of the filter with respect to the lower sampling rate (default: 16)

| <linear>

| if 1 then filters will be linearly interpo- lated between polyphase entries

| <count>

| log2 of the number of polyphase entries (..., 10->1024, 11->2048, 12->4096, ...) (default: 10->1024)

| <cutoff>

| cutoff frequency (0.0-1.0), default set de- pending upon filter length

| sweep[=speed]

| Produces a sine sweep.

| <0.0-1.0>

| Sine function delta, use very low values to hear the sweep.

| hrtf[=flag]

| Head-related transfer function: Converts multichan- nel audio to 2 channel output for headphones, pre- serving the spatiality of the sound.

| Flag Meaning

| m matrix decoding of the rear channel

| s 2-channel matrix decoding

| 0 no matrix decoding (default)

| equalizer=[g1:g2:g3:...:g10]

| 10 octave band graphic equalizer, implemented using 10 IIR band pass filters. This means that it works regardless of what type of audio is being played back. The center frequencies for the 10 bands are:

| No. frequency

| 0 31.25 Hz

| 1 62.50 Hz

| 2 125.00 Hz

| 3 250.00 Hz

| 4 500.00 Hz

| 5 1.00 kHz

| 6 2.00 kHz

| 7 4.00 kHz

| 8 8.00 kHz

| 9 16.00 kHz

| If the sample rate of the sound being played is lower than the center frequency for a frequency band, then that band will be disabled. A known bug with this filter is that the characteristics for the uppermost band are not completely symmetric if the sample rate is close to the center frequency of that band. This problem can be worked around by upsampling the sound using the resample filter be- fore it reaches this filter.

| <g1>:<g2>:<g3>:...:<g10>

| floating point numbers representing the gain in dB for each frequency band (-12-12)

| EXAMPLE:

| mplayer -af equaliz- er=11:11:10:5:0:-12:0:5:12:12 media.avi

| Would amplify the sound in the upper and lower frequency region while canceling it almost completely around 1kHz.

| chan- nels=nch[:nr:from1:to1:from2:to2:from3:to3:...]

| Can be used for adding, removing, routing and copy- ing audio channels. If only <nch> is given the de- fault routing is used, it works as follows: If the number of output channels is bigger than the number of input channels empty channels are inserted (ex- cept mixing from mono to stereo, then the mono channel is repeated in both of the output chan- nels). If the number of output channels is smaller than the number of input channels the exceeding channels are truncated.

| <nch>

| number of output channels (1-6)

| <nr>

| number of routes (1-6)

| <from1:to1:from2:to2:from3:to3:...>

| Pairs of numbers between 0 and 5 that de- fine where to route each channel.

| EXAMPLE:

| mplayer -af chan- nels=4:4:0:1:1:0:2:2:3:3 me- dia.avi

| Would change the number of channels to 4 and set up 4 routes that swap channel 0 and channel 1 and leave channel 2 and 3 intact. Observe that if media containing two chan- nels was played back, channels 2 and 3 would contain silence but 0 and 1 would still be swapped.

| mplayer -af chan- nels=6:4:0:0:0:1:0:2:0:3 me- dia.avi

| Would change the number of channels to 6 and set up 4 routes that copy channel 0 to channels 0 to 3. Channel 4 and 5 will con- tain silence.

| format[=format] (also see -format)

| Convert between different sample formats. Automat- ically enabled when needed by the sound card or an- other filter.

| <format>

| Sets the desired format. The general form is 'sbe', where 's' denotes the sign (ei- ther 's' for signed or 'u' for unsigned), 'b' denotes the number of bits per sample (16, 24 or 32) and 'e' denotes the endian- ness ('le' means little-endian, 'be' big-endian and 'ne' the endianness of the computer MPlayer is running on). Valid values (amongst others) are: 's16le', 'u32be' and 'u24ne'. Exceptions to this rule that are also valid format specifiers: u8, s8, floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 and imaadpcm.

| volume[=v[:sc]]

| Implements software volume control. Use this fil- ter with caution since it can reduce the signal to noise ratio of the sound. In most cases it is best to set the level for the PCM sound to max, leave this filter out and control the output level to your speakers with the master volume control of the mixer. In case your sound card has a digital PCM mixer instead of an analog one, and you hear dis- tortion, use the MASTER mixer instead. If there is an external amplifier connected to the computer (this is almost always the case), the noise level can be minimized by adjusting the master level and the volume knob on the amplifier until the hissing noise in the background is gone. This filter has a second feature: It measures the overall maximum sound level and prints out that level when MPlayer exits. This volume estimate can be used for setting the sound level in MEncoder such that the maximum dynamic range is utilized. NOTE: This filter is not reentrant and can there- fore only be enabled once for every audio stream.

| <v>

| Sets the desired gain in dB for all chan- nels in the stream from -200dB to +60dB, where -200dB mutes the sound completely and +60dB equals a gain of 1000 (default: 0).

| <sc>

| Turns soft clipping on (1) or off (0). Soft-clipping can make the sound more smooth if very high volume levels are used. Enable this option if the dynamic range of the loudspeakers is very low. WARNING: This feature creates distortion and should be considered a last resort.

| EXAMPLE:

| mplayer -af volume=10.1:0 me- dia.avi

| Would amplify the sound by 10.1dB and hard-clip if the sound level is too high.

| pan=n[:l01:l02:...l10:l11:l12:...ln0:ln1:ln2:...]

| Mixes channels arbitrarily. Basically a combina- tion of the volume and the channels filter that can be used to down-mix many channels to only a few, e.g. stereo to mono or vary the "width" of the cen- ter speaker in a surround sound system. This fil- ter is hard to use, and will require some tinkering before the desired result is obtained. The number of options for this filter depends on the number of output channels. An example how to downmix a six-channel file to two channels with this filter can be found in the examples section near the end.

| <n>

| number of input channels (1-6)

| <lij>

| How much of input channel j is mixed into output channel i (0-1).

| EXAMPLE:

| mplayer -af pan=1:0.5:0.5 -channels 1 media.avi

| Would down-mix from stereo to mono.

| mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 me- dia.avi

| Would give 3 channel output leaving chan- nels 0 and 1 intact, and mix channels 0 and 1 into output channel 2 (which could be sent to a subwoofer for example).

| sub[=fc:ch]

| Adds a subwoofer channel to the audio stream. The audio data used for creating the subwoofer channel is an average of the sound in channel 0 and channel 1. The resulting sound is then low-pass filtered by a 4th order Butterworth filter with a default cutoff frequency of 60Hz and added to a separate channel in the audio stream. Warning: Disable this filter when you are playing DVDs with Dolby Digital 5.1 sound, otherwise this filter will disrupt the sound to the subwoofer.

| <fc>

| cutoff frequency in Hz for the low-pass filter (20Hz to 300Hz) (default: 60Hz) For the best result try setting the cutoff fre- quency as low as possible. This will im- prove the stereo or surround sound experi- ence.

| <ch>

| Determines the channel number in which to insert the sub-channel audio. Channel num- ber can be between 0 and 5 (default: 5). Observe that the number of channels will automatically be increased to <ch> if nec- essary.

| EXAMPLE:

| mplayer -af sub=100:4 -chan- nels 5 media.avi

| Would add a sub-woofer channel with a cut- off frequency of 100Hz to output channel 4.

| center

| Creates a center channel from the front channels. May currently be low quality as it does not imple- ment a high-pass filter for proper extraction yet, but averages and halves the channels instead.

| <ch>

| Determines the channel number in which to insert the center channel. Channel number can be between 0 and 5 (default: 5). Ob- serve that the number of channels will au- tomatically be increased to <ch> if neces- sary.

| surround[=delay]

| Decoder for matrix encoded surround sound like Dol- by Surround. Many files with 2 channel audio actu- ally contain matrixed surround sound. Requires a sound card supporting at least 4 channels.

| <delay>

| delay time in ms for the rear speakers (0 to 1000) (default: 20) This delay should be set as follows: If d1 is the distance from the listening position to the front speak- ers and d2 is the distance from the listen- ing position to the rear speakers, then the delay should be set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2.

| EXAMPLE:

| mplayer -af surround=15 -channels 4 media.avi

| Would add surround sound decoding with 15ms delay for the sound to the rear speakers.

| delay[=ch1:ch2:...]

| Delays the sound to the loudspeakers such that the sound from the different channels arrives at the listening position simultaneously. It is only use- ful if you have more than 2 loudspeakers.

| ch1,ch2,...

| The delay in ms that should be imposed on each channel (floating point number between 0 and 1000).

| To calculate the required delay for the different channels do as follows:

| 1.

| Measure the distance to the loudspeakers in me- ters in relation to your listening position, giving you the distances s1 to s5 (for a 5.1 system). There is no point in compensating for the subwoofer (you will not hear the difference anyway).

| 2.

| Subtract the distances s1 to s5 from the maximum distance, i.e. s[i] = max(s) - s[i]; i = 1...5.

| 3.

| Calculate the required delays in ms as d[i] = 1000*s[i]/342; i = 1...5.

| EXAMPLE:

| mplayer -af de- lay=10.5:10.5:0:0:7:0 media.avi

| Would delay front left and right by 10.5ms, the two rear channels and the sub by 0ms and the center channel by 7ms.

| export[=mmapped_file[:nsamples]]

| Exports the incoming signal to other processes us- ing memory mapping (mmap()). Memory mapped areas contain a header:

    int nch                      /*number of channels*/
    int size                     /*buffer size*/
    unsigned long long counter   /*Used to keep sync, updated every
                                   time new data is exported.*/
The rest is payload (non-interleaved) 16 bit data.

| <mmapped_file>

| file to map data to (default: ~/.mplayer/ mplayer-af_export)

| <nsamples>

| number of samples per channel (default: 512)

| EXAMPLE:

| mplayer -af ex- port=/tmp/mplayer-af_export:1024 media.avi

| Would export 1024 samples per channel to '/tmp/mplayer-af_export'.

| extrastereo[=mul]

| (Linearly) increases the difference between left and right channels which adds some sort of "live" effect to playback.

| <mul>

| Sets the difference coefficient (default: 2.5). 0.0 means mono sound (average of both channels), with 1.0 sound will be un- changed, with -1.0 left and right channels will be swapped.

| volnorm[=method]

| Maximizes the volume without distorting the sound.

| <method>

| Sets the used method.

| 1: Use a single sample to smooth the variations via the standard weighted mean over past samples (default). 2: Use several samples to smooth the variations via the standard weighted mean over past samples.

| ladspa=file:label[:controls...]

| Load a LADSPA (Linux Audio Developer's Simple Plug- in API) plugin. This filter is reentrant, so mul- tiple LADSPA plugins can be used at once.

| <file>

| Specifies the LADSPA plugin library file. If LADSPA_PATH is set, it searches for the specified file. If it is not set, you must supply a fully specified pathname.

| <label>

| Specifies the filter within the library. Some libraries contain only one filter, but others contain many of them. Entering 'help' here, will list all available fil- ters within the specified library, which eliminates the use of 'listplugins' from the LADSPA SDK.

| <controls>

| Controls are zero or more floating point values that determine the behaviour of the loaded plugin (for example delay, threshold or gain). In verbose mode (add -v to the MPlayer command line), all available con- trols and their valid ranges are printed. This eliminates the use of 'analyseplugin' from the LADSPA SDK.

| comp

| Compressor/expander filter usable for microphone input. Prevents artifacts on very loud sound and raises the volume on very low sound. This filter is untested, maybe even unusable.

| gate

| Noise gate filter similar to the comp audio filter. This filter is untested, maybe even unusable.

## VIDEO FILTERS

| Video filters allow you to modify the video stream and its properties. The syntax is:

| -vf <filter1[=parameter1:parameter2:...],fil- ter2,...>

| Setup a chain of video filters.

| -vop <...,filter2[=parameter1:parame- ter2:...],filter1> (OBSOLETE)

| Setup a chain of video filters, to be applied in reverse order. Deprecated in favor of -vf.

| Many parameters are optional and set to default values if omitted. To explicitly use a default value set a parame- ter to '-1'. Parameters w:h means width x height in pix- els, x:y means x;y position counted from the upper left corner of the bigger image. NOTE: To get a full list of available video filters, see -vf help.

| Video filters are managed in lists. There are a few com- mands to manage the filter list.

| -vf-add <filter1[,filter2,...]>

| Appends the filters given as arguments to the fil- ter list.

| -vf-pre <filter1[,filter2,...]>

| Prepends the filters given as arguments to the fil- ter list.

| -vf-del <index1[,index2,...]>

| Deletes the filters at the given indexes. Index numbers start at 0, negative numbers address the end of the list (-1 is the last).

| -vf-clr

| Completely empties the filter list.

| With filters that support it, you can access parameters by their name.

| -vf <filter>=help

| Prints the parameter names and parameter value ranges for a particular filter.

| -vf <filter=named_parameter1=value1[:named_parame- ter2=val- ue2:...]>

| Sets a named parameter to the given value. Use on and off or yes and no to set flag parameters.

| Available filters are:

| crop[=w:h:x:y]

| Crops the given part of the image and discards the rest. Useful to remove black bands from widescreen movies.

| <w>,<h>

| Cropped width and height, defaults to orig- inal width and height.

| <x>,<y>

| Position of the cropped picture, defaults to center.

| cropdetect[=limit:round]

| Calculates necessary cropping parameters and prints the recommended parameters to stdout.

| <limit>

| Threshold, which can be optionally speci- fied from nothing (0) to everything (255) (default: 24).

| <round>

| Value which the width/height should be di- visible 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.

| rectangle[=w:h:x:y]

| The plugin responds to the input.conf directive 'change_rectangle' that takes two parameters.

| <w>,<h>

| width and height (default: -1, maximum pos- sible width where boundaries are still vis- ible.)

| <x>,<y>

| top left corner position (default: -1, up- permost leftmost)

| expand[=w:h:x:y:o]

| Expands (not scales) movie resolution to the given value and places the unscaled original at coordi- nates x, y. Can be used for placing subtitles/OSD in the resulting black bands.

| <w>,<h>

| Expanded width,height (default: original width,height). Negative values for w and h are treated as offsets to the original size.

| EXAMPLE:

| ex- pand=0:-50:0:0

| Adds a 50 pixel border to the bottom of the picture.

| <x>,<y>

| position of original image on the expanded image (default: center)

| <o>

| OSD/subtitle rendering

| 0: disable (default) 1: enable

| flip (also see -flip)

| Flips the image upside down.

| mirror

| Mirrors the image on the Y axis.

| rotate[=<0-7>]

| Rotates the image by 90 degrees and optionally flips it. For values between 4-7 rotation is only done if the movie geometry is portrait and not landscape.

| 0

| Rotate by 90 degrees clockwise and flip (default).

| 1

| Rotate by 90 degrees clockwise.

| 2

| Rotate by 90 degrees counterclockwise.

| 3

| Rotate by 90 degrees counterclockwise and flip.

| scale[=w:h[:inter- laced[:chr_drop[:param[:param2[:pre- size]]]]]]

| Scales the image with the software scaler (slow) and performs a YUV<->RGB colorspace conversion (al- so see -sws).

| <w>,<h>

| scaled width/height (default: original width/height) NOTE: If -zoom is used, and underlying fil- ters (including libvo) are incapable of scaling, it defaults to d_width/d_height!

| 0: scaled d_width/d_height -1: original width/height -2: Calculate w/h using the other di- mension and the prescaled aspect ratio. -3: Calculate w/h using the other di- mension and the original aspect ratio. -(n+8): Like -n above, but rounding the dimension to the closest multiple of 16.

| <interlaced>

| Toggle interlaced scaling.

| 0: off (default) 1: on

| <chr_drop>

| chroma skipping

| 0: Use all available input lines for chroma. 1: Use only every 2. input line for chroma. 2: Use only every 4. input line for chroma. 3: Use only every 8. input line for chroma.

| <param>[:<param2>] (also see -sws)

| Set some scaling parameters depending on the type of scaler selected with -sws.

| -sws 2 (bicubic): B (blurring) and C (ringing) 0.00:0.60 default 0.00:0.75 VirtualDubs "precise bicubic" 0.00:0.50 Catmull-Rom spline 0.33:0.33 Mitchell-Netravali spline 1.00:0.00 cubic B-spline -sws 7 (gaussian): sharpness (0 (soft) - 100 (sharp)) -sws 9 (lanczos): filter length (1-10)

| <presize>

| Scale to preset sizes.

| qntsc: 352x240 (NTSC quarter screen) qpal: 352x288 (PAL quarter screen) ntsc: 720x480 (standard NTSC) pal: 720x576 (standard PAL) sntsc: 640x480 (square pixel NTSC) spal: 768x576 (square pixel PAL)

| dsize[=aspect|w:h]

| Changes the intended display size/aspect at an ar- bitrary 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 af- fects what later scalers (software or hardware) will do when auto-scaling to correct aspect.

| yuy2

| Forces software YV12/I420/422P to YUY2 conversion. Useful for video cards/drivers with slow YV12 but fast YUY2 support.

| yvu9

| Forces software YVU9 to YV12 colorspace conversion. Deprecated in favor of the software scaler.

| yuvcsp

| Clamps YUV color values to the CCIR 601 range with- out doing real conversion.

| rgb2bgr[=swap]

| RGB 24/32 <-> BGR 24/32 colorspace conversion.

| swap

| Also perform R <-> B swapping.

| palette

| RGB/BGR 8 -> 15/16/24/32bpp colorspace conversion using palette.

| format[=fourcc]

| Restricts the colorspace for the next filter with- out doing any conversion. Use together with the scale filter for a real conversion. NOTE: For a list of available formats see for- mat=fmt=help.

| <fourcc>

| format name like rgb15, bgr24, yv12, etc (default: yuy2)

| noformat[=fourcc]

| Restricts the colorspace for the next filter with- out doing any conversion. Unlike the format fil- ter, this will allow any colorspace except the one you specify. NOTE: For a list of available formats see nofor- mat=fmt=help.

| <fourcc>

| format name like rgb15, bgr24, yv12, etc (default: yv12)

| pp[=filter1[:option1[:option2...]]/[-]filter2...] (also see -pphelp)

| Enables the specified chain of postprocessing sub- filters. Subfilters must be separated by '/' and can be disabled by prepending a '-'. Each subfil- ter and some options have a short and a long name that can be used interchangeably, i.e. dr/dering are the same. All subfilters share common options to determine their scope:

| a/autoq

| Automatically switch the subfilter off if the CPU is too slow.

| c/chrom

| Do chrominance filtering, too (default).

| y/nochrom

| Do luminance filtering only (no chromi- nance).

| n/noluma

| Do chrominance filtering only (no lumi- nance).

| NOTE: -pphelp shows a list of available subfilters.

| Available subfilters are

| hb/hdeblock[:differ- ence[:flatness]]

| horizontal deblocking filter

| <difference>: Difference factor where higher values mean more deblocking (de- fault: 32). <flatness>: Flatness threshold where lower values mean more deblocking (de- fault: 39).

| vb/vdeblock[:differ- ence[:flatness]]

| vertical deblocking filter

| <difference>: Difference factor where higher values mean more deblocking (de- fault: 32). <flatness>: Flatness threshold where lower values mean more deblocking (de- fault: 39).

| ha/hadeblock[:differ- ence[:flatness]]

| accurate horizontal deblocking filter

| <difference>: Difference factor where higher values mean more deblocking (de- fault: 32). <flatness>: Flatness threshold where lower values mean more deblocking (de- fault: 39).

| va/vadeblock[:differ- ence[:flatness]]

| accurate vertical deblocking filter

| <difference>: Difference factor where higher values mean more deblocking (de- fault: 32). <flatness>: Flatness threshold where lower values mean more deblocking (de- fault: 39).

| The horizontal and vertical deblocking filters share the difference and flatness values so you cannot set different horizontal and vertical thresholds.

| h1/x1hdeblock

| experimental horizontal deblocking filter

| v1/x1vdeblock

| experimental vertical deblocking filter

| dr/dering

| deringing filter

| tn/tmpnoise[:thresh- old1[:threshold2[:thresh- old3]]]

| temporal noise reducer

| <threshold1>: larger -> stronger filter- ing <threshold2>: larger -> stronger filter- ing <threshold3>: larger -> stronger filter- ing

| al/autolevels[:f/fullyrange]

| automatic brightness / contrast correction

| f/fullyrange: Stretch luminance to (0-255).

| lb/linblenddeint

| Linear blend deinterlacing filter that deinterlaces the given block by filtering all lines with a (1 2 1) filter.

| li/linipoldeint

| Linear interpolating deinterlacing filter that deinterlaces the given block by lin- early interpolating every second line.

| ci/cubicipoldeint

| Cubic interpolating deinterlacing filter deinterlaces the given block by cubically interpolating every second line.

| md/mediandeint

| Median deinterlacing filter that deinter- laces the given block by applying a median filter to every second line.

| fd/ffmpegdeint

| FFmpeg deinterlacing filter that deinter- laces the given block by filtering every second line with a (-1 4 2 4 -1) filter.

| l5/lowpass5

| Vertically applied FIR lowpass deinterlac- ing filter that deinterlaces the given block by filtering all lines with a (-1 2 6 2 -1) filter.

| fq/forceQuant[:quantizer]

| Overrides the quantizer table from the in- put with the constant quantizer you speci- fy.

| <quantizer>: quantizer to use

| de/default

| default pp filter combination (hb:a,vb:a,dr:a)

| fa/fast

| fast pp filter combination (h1:a,v1:a,dr:a)

| ac

| high quality pp filter combination (ha:a:128:7,va:a,dr:a)

| EXAMPLE:

| -vf pp=hb/vb/dr/al

| horizontal and vertical deblocking, dering- ing and automatic brightness/contrast

| -vf pp=de/-al

| default filters without brightness/contrast correction

| -vf pp=default/tmpnoise:1:2:3

| Enable default filters & temporal denoiser.

| -vf pp=hb:y/vb:a

| Horizontal deblocking on luminance only, and switch vertical deblocking on or off automatically depending on available CPU time.

| spp[=quality[:qp[:mode]]]

| Simple postprocessing filter that compresses and decompresses the image at several (or - in the case of quality level 6 - all) shifts and averages the results.

| <quality>

| 0-6 (default: 3)

| <qp>

| Force quantization parameter (default: 0, use QP from video).

| <mode>

| 0: hard thresholding (default) 1: soft thresholding (better deringing, but blurrier)

| fspp[=quality[:qp[:strength]]]

| faster version of the simple postprocessing filter

| <quality>

| 4-5 (equivalent to spp; default: 4)

| <qp>

| Force quantization parameter (default: 0, use QP from video).

| <-15-32>

| Filter strength, lower values mean more de- tails but also more artifacts, while higher values make the image smoother but also blurrier (default: 0 - PSNR optimal).

| qp=equation

| quantization parameter (QP) change filter

| <equation>

| some equation like "2+2*sin(PI*qp)"

| test

| Generate various test patterns.

| 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.

| lavc[=quality:fps]

| Fast software YV12 to MPEG-1 conversion with libav- codec for use with DVB/DXR3. Faster and of better quality than -vf fame.

| <quality>

| 1-31: fixed qscale 32-: fixed bitrate in kBits

| <fps>

| force output fps (float value) (default: 0, autodetect based on height)

| fame

| Fast software YV12 to MPEG-1 conversion with lib- fame for use with DVB/DXR3.

| 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. Only useful together with expand and scale.

| <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.

| EXAMPLE:

| -vf dvb- scale,scale=-1:0,ex- pand=-1:576:-1:-1:1,lavc

| FIXME: Explain what this does.

| noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]

| Adds noise.

| <0-100>

| luma noise

| <0-100>

| chroma noise

| u

| uniform noise (gaussian otherwise)

| t

| temporal noise (noise pattern changes be- tween frames)

| a

| averaged temporal noise (smoother, but a lot slower)

| h

| high quality (slightly better looking, slightly slower)

| p

| mix random noise with a (semi)regular pat- tern

| denoise3d[=luma:chroma:time]

| This filter aims to reduce image noise producing smooth images and making still images really still (This should enhance compressibility.).

| <luma>

| spatial luma strength (default: 4)

| <chroma>

| spatial chroma strength (default: 3)

| <time>

| temporal strength (default: 6)

| hqdn3d[=luma:chroma:time]

| High precision/quality version of the denoise3d filter. Parameters and usage are the same.

| eq[=brightness:contrast] (OBSOLETE)

| 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, ei- ther for fixing poorly captured movies, or for slightly reducing contrast to mask artifacts and get by with lower bitrates.

| <-100-100>

| initial brightness

| <-100-100>

| initial contrast

| eq2[=gamma:contrast:brightness:satura- tion:rg:gg:bg:weight]

| Alternative software equalizer that uses lookup ta- bles (very slow), allowing gamma correction in ad- dition to simple brightness and contrast adjust- ment. 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.

| <0.1-10>

| initial gamma value (default: 1.0)

| <-2-2>

| initial contrast, where negative values re- sult in a negative image (default: 1.0)

| <-1-1>

| initial brightness (default: 0.0)

| <0-3>

| initial saturation (default: 1.0)

| <0.1-10>

| gamma value for the red component (default: 1.0)

| <0.1-10>

| gamma value for the green component (de- fault: 1.0)

| <0.1-10>

| gamma value for the blue component (de- fault: 1.0)

| <0-1>

| The weight parameter can be used to reduce the effect of a high gamma value on bright image areas, e.g. keep them from getting overamplified and just plain white. A val- ue of 0.0 turns the gamma correction all the way down while 1.0 leaves it at its full strength (default: 1.0).

| hue[=hue:saturation]

| Software equalizer with interactive controls just like the hardware equalizer, for cards/drivers that do not support hue and saturation controls in hard- ware.

| <-180-180>

| initial hue (default: 0.0)

| <-100-100>

| initial saturation, where negative values result in a negative chroma (default: 1.0)

| 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 dis- play 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.

| <f>

| By default, halfpack averages pairs of lines when downsampling. Any value differ- ent from 0 or 1 gives the default (averag- ing) behavior.

| 0: Only use even lines when downsam- pling. 1: Only use odd lines when downsampling.

| ilpack[=mode]

| When interlaced video is stored in YUV 4:2:0 for- mats, chroma interlacing does not line up properly due to vertical downsampling of the chroma chan- nels. This filter packs the planar 4:2:0 data into YUY2 (4:2:2) format with the chroma lines in their proper locations, so that in any given scanline, the luma and chroma data both come from the same field.

| <mode>

| Select the sampling mode.

| 0: nearest-neighbor sampling, fast but incorrect 1: linear interpolation (default)

| harddup

| Only useful with MEncoder. If harddup is used when encoding, it will force duplicate frames to be en- coded 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 af- ter encoding. Should be placed at or near the end of the filter chain unless you have a good reason to do otherwise.

| softskip

| Only useful with MEncoder. Softskip moves the frame skipping (dropping) step of encoding from be- fore the filter chain to some point during the fil- ter 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.

| decimate[=max:hi:lo:frac]

| Drops frames that do not differ greatly from the previous frame in order to reduce framerate. The main use of this filter is for very-low-bitrate en- coding (e.g. streaming over dialup modem), but it could in theory be used for fixing movies that were inverse-telecined incorrectly.

| <max>

| Sets the maximum number of consecutive frames which can be dropped (if positive), or the minimum interval between dropped frames (if negative).

| <hi>,<lo>,<frac>

| 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> por- tion (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.

| dint[=sense:level]

| The drop-deinterlace (dint) filter detects and drops the first from a set of interlaced video frames.

| <0.0-1.0>

| relative difference between neighboring pixels (default: 0.1)

| <0.0-1.0>

| What part of the image has to be detected as interlaced to drop the frame (default: 0.15).

| lavcdeint (OBSOLETE)

| FFmpeg deinterlacing filter, same as -vf pp=fd

| kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]

| Donald Graft's adaptive kernel deinterlacer. Dein- terlaces parts of a video if a configurable thresh- old is exceeded.

| <0-255>

| threshold (default: 10)

| <map>

| 0: Ignore pixels exceeding the threshold (default). 1: Paint pixels exceeding the threshold white.

| <order>

| 0: Leave fields alone (default). 1: Swap fields.

| <sharp>

| 0: Disable additional sharpening (de- fault). 1: Enable additional sharpening.

| <twoway>

| 0: Disable twoway sharpening (default). 1: Enable twoway sharpening.

| unsharp[=l|cWxH:amount[:l|cWxH:amount]]

| unsharp mask / gaussian blur

| l

| Apply effect on luma component.

| c

| Apply effect on chroma components.

| <width>x<height>

| width and height of the matrix, odd sized in both directions (min = 3x3, max = 13x11 or 11x13, usually something between 3x3 and 7x7)

| amount

| Relative amount of sharpness/blur to add to the image (a sane range should be -1.5-1.5).

| <0: blur >0: sharpen

| swapuv

| Swap U & V plane.

| 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 fil- ter your interlaced DVD and play it on a TV without breaking the interlacing. While deinterlacing (with the postprocessing filter) removes interlac- ing 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.

| d

| deinterleave (placing one above the other)

| i

| interleave

| s

| swap fields (exchange even & odd lines)

| fil[=i|d]

| (De)interleaves lines. This filter is very similar to the il filter but much faster, the main disad- vantage is that it does not always work. Especial- ly 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 combina- tion of filters.

| d

| Deinterleave fields, placing them side by side.

| i

| Interleave fields again (reversing the ef- fect of fil=d).

| 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 ex- tract the even or the odd field (depending on whether n is even or odd).

| detc[=var1=value1:var2=value2:...]

| Attempts to reverse the 'telecine' process to re- cover a clean, non-interlaced stream at film fram- erate. This was the first and most primitive in- verse telecine filter to be added to MPlayer/MEn- coder. 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:

| <dr>

| Set the frame dropping mode.

| 0: Do not drop frames to maintain fixed output framerate (default). 1: Always drop a frame when there have been no drops or telecine merges in the past 5 frames. 2: Always maintain exact 5:4 input to output frame ratio. NOTE: Use mode 1 or 2 with MEncoder.

| <am>

| Analysis mode.

| 0: Fixed pattern with initial frame num- ber specified by <fr>. 1: agressive search for telecine pattern (default)

| <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 se- quence'. The number specified here is the type for the imaginary previous frame be- fore the movie starts.

| <t0>, <t1>, <t2>, <t3>

| Threshold values to be used in certain modes.

| 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 indepen- dently for each frame. This will give much better results for material that has undergone heavy edit- ing 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) corre- sponds 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 24000/1001) when using MEncoder. Further development on ivtc has stopped, as the pullup and filmdint filters appear to be much more accurate.

| pullup[=jl:jr:jt:jb:sb:mp]

| Third-generation pulldown reversal (inverse telecine) filter, capable of handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive content. The pullup filter is designed to be much more robust than detc or ivtc, by taking advantage of future context in making its decisions. Like ivtc, pullup is state- less in the sense that it does not lock onto a pat- tern to follow, but it instead looks forward to the following fields in order to identify matches and rebuild progressive frames. It is still under de- velopment, 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. Set- ting the sb (strict breaks) option to 1 will reduce the chances of pullup generating an occasional mis- matched frame, but it may also cause an excessive number of frames to be dropped during high motion sequences. Conversely, setting it to -1 will make pullup match fields more easily. This may help processing of video where there is slight blurring between the fields, but may also cause there to be interlaced frames in the output. The mp (metric plane) option may be set to 1 or 2 to use a chroma plane instead of the luma plane for doing pullup's computations. This may improve accuracy on very clean source material, but more likely will de- crease accuracy, especially if there is chroma noise (rainbow effect) or any grayscale video. The main purpose of setting mp to a chroma plane is to reduce CPU load and make pullup usable in realtime on slow machines. 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 incor- rect output and will usually crash, due to design limitations in the codec/filter layer.

| filmdint[=options]

| Inverse telecine filter, similar to the pullup fil- ter 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 ac- cess to the field-flags set by the MPEG-2 decoder. Depending on the source MPEG, you may be fine ig- noring 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 30000/1001 -ofps 24000/1001. When this filter is used with mplayer, it will result in an uneven framerate during play- back, but it is still generally better than using pp=lb or no deinterlacing at all. Multiple options can be specified separated by /.

| crop=<w>:<h>:<x>:<y>

| Just like the crop filter, but faster, and works on mixed hard and soft telecined con- tent as well as when y is not a multiple of 4. If x or y would require cropping frac- tional pixels from the chroma planes, the crop area is extended. This usually means that x and y must be even.

| 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.

| 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.

| mmx2=<n>

| On x86, if n=1, use MMX2 optimized func- tions, if n=2, use 3DNow! optimized func- tions, othewise, use plain C. If this op- tion is not specified, MMX2 and 3DNow! are auto-detected, use this option to override auto-detection.

| 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 RE- PEAT_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 calcula- tions 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 ver- tical detail as interlaced content.

| verbose=<n>

| If n is nonzero, print the detailed metrics for each frame. Useful for debugging.

| dint_thres=<n>

| Deinterlace threshold. Used during de-in- terlacing of unmatched frames. Larger val- ue means less deinterlacing, use n=256 to completely turn off deinterlacing. Default is n=8.

| comb_thres=<n>

| Threshold for comparing a top and bottom fields. Defaults to 128.

| diff_thres=<n>

| Threshold to detect temporal change of a field. Default is 128.

| sad_thres=<n>

| Sum of Absolute Difference threshold, de- fault is 64.

| softpulldown

| This filter works only correct with MEncoder and acts on the MPEG-2 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.

| 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 du- plicated. This filter is intended to find and drop those duplicates and restore the original film framerate. When using this filter, you must speci- fy -ofps that is 4/5 of the fps of the input file and place the softskip later in the filter chain to make sure that divtc sees all the frames. Two dif- ferent modes are available: One pass mode is the default and is straightforward to use, but has the disadvantage that any changes in the telecine phase (lost frames or bad edits) cause momentary judder until the filter can resync again. Two pass mode avoids this by analyzing the whole video beforehand so it will have forward knowledge about the phase changes and can resync at the exact spot. These passes do not correspond to pass one and two of the encoding process. You must run an extra pass using divtc pass one before the actual encoding throwing the resulting video away. Use -nosound -ovc raw -o /dev/null to avoid wasting CPU power for this pass. You may add something like crop=2:2:0:0 after divtc to speed things up even more. Then use divtc pass two for the actual encoding. If you use multiple encoder passes, use divtc pass two for all of them. The options are:

| pass=1|2

| Use two pass mode.

| file=<filename>

| Set the two pass log filename (default: "framediff.log").

| threshold=<value>

| Set the minimum strength the telecine pat- tern must have for the filter to believe in it (default: 0.5). This is used to avoid recognizing false pattern from the parts of the video that are very dark or very still.

| window=<numframes>

| Set the number of past frames to look at when searching for pattern (default: 30). Longer window improves the reliability of the pattern search, but shorter window im- proves 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 fu- ture and past.

| phase=0|1|2|3|4

| Sets the initial telecine phase for one pass mode (default: 0). The two pass mode can see the future, so it is able to use the correct phase from the beginning, but one pass mode can only guess. It catches the correct phase when it finds it, but this option can be used to fix the possible juddering at the beginning. The first pass of the two pass mode also uses this, so if you save the output from the first pass, you get constant phase result.

| deghost=<value>

| Set the deghosting threshold (0-255 for one pass mode, -255-255 for two pass mode, de- fault 0). If nonzero, deghosting mode is used. This is for video that has been deinterlaced by blending the fields togeth- er instead of dropping one of the fields. Deghosting amplifies any compression arti- facts in the blended frames, so the parame- ter 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 neg- ative 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 parame- ter. Specify this option for pass-2, it makes no difference on pass-1.

| phase[=t|b|p|a|u|T|B|A|U][:v]

| Delay interlaced video by one field time so that the field order changes. The intended use is to fix PAL movies that have been captured with the op- posite field order to the film-to-video transfer. The options are:

| t

| Capture field order top-first, transfer bottom-first. Filter will delay the bottom field.

| b

| Capture bottom-first, transfer top-first. Filter will delay the top field.

| p

| Capture and transfer with the same field order. This mode only exists for the docu- mentation of the other options to refer to, but if you actually select it, the filter will faithfully do nothing ;-)

| a

| Capture field order determined automatical- ly by field flags, transfer opposite. Fil- ter selects among t and b modes on a frame by frame basis using field flags. If no field information is available, then this works just like u.

| u

| Capture unknown or varying, transfer oppo- site. Filter selects among t and b on a frame by frame basis by analyzing the im- ages and selecting the alternative that produces best match between the fields.

| T

| Capture top-first, transfer unknown or varying. Filter selects among t and p us- ing image analysis.

| B

| Capture bottom-first, transfer unknown or varying. Filter selects among b and p us- ing image analysis.

| A

| Capture determined by field flags, transfer unknown or varying. Filter selects among t, b and p using field flags and image analysis. If no field information is available, then this works just like U. This is the default mode.

| U

| Both capture and transfer unknown or vary- ing. Filter selects among t, b and p using image analysis only.

| v

| Verbose operation. Prints the selected mode for each frame and the average squared difference between fields for t, b, and p alternatives.

| 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 30000/1001 -ofps 30000/1001 -vf telecine'. Both fps options are essential! (A/V sync will break if they are wrong.) The optional start pa- rameter tells the filter where in the telecine pat- tern to start (0-3).

| 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:

| 0

| Move odd frames into the upper field, even into the lower field, generating a full-height frame at half framerate.

| 1

| Only output odd frames, even frames are dropped; height unchanged.

| 2

| Only output even frames, odd frames are dropped; height unchanged.

| 3

| Expand each frame to full height, but pad alternate lines with black; framerate un- changed.

| 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:

| 0

| Leave fields unchanged. (This will jump/ flicker.)

| 1

| Interpolate missing lines. (The algorithm used might not be so good.)

| 2

| Translate fields by 1/4 pixel with linear interpolation (no jump).

| 4

| Translate fields by 1/4 pixel with 4tap filter (higher quality). (default)

| boxblur=radius:power[:radius:power]

| box blur

| <radius>

| blur filter strength

| <power>

| number of filter applications

| sab=radius:pf:colorDiff[:radius:pf:colorDiff]

| shape adaptive blur

| <radius>

| blur filter strength (~0.1-4.0) (slower if larger)

| <pf>

| prefilter strength (~0.1-2.0)

| <colorDiff>

| maximum difference between pixels to still be considered (~0.1-100.0)

| smartblur=radius:strength:threshold[:ra- dius:strength:threshold]

| smart blur

| <radius>

| blur filter strength (~0.1-5.0) (slower if larger)

| <strength>

| blur (0.0-1.0) or sharpen (-1.0-0.0)

| <threshold>

| filter all (0), filter flat areas (0-30) or filter edges (-30-0)

| perspective=x0:y0:x1:y1:x2:y2:x3:y3:t

| Correct the perspective of movies not filmed per- pendicular to the screen.

| <x0>,<y0>,...

| coordinates of the top left, top right, bottom left, bottom right corners

| <t>

| linear (0) or cubic resampling (1)

| 2xsai

| Scale and smooth the image with the 2x scale and interpolate algorithm.

| 1bpp

| 1bpp bitmap to YUV/BGR 8/15/16/32 conversion

| down3dright[=lines]

| Reposition and resize stereoscopic images. Ex- tracts both stereo fields and places them side by side, resizing them to maintain the original movie aspect.

| <lines>

| number of lines to select from the middle of the image (default: 12)

| bmovl=hidden:opaque:fifo

| The bitmap overlay filter reads bitmaps from a FIFO and displays them on top of the movie, allowing some transformations on the image. Also see TOOLS/bmovl-test.c for a small bmovl test program.

| <hidden>

| Set the default value of the 'hidden' flag (0=visible, 1=hidden).

| <opaque>

| Set the default value of the 'opaque' flag (0=transparent, 1=opaque).

| <fifo>

| path/filename for the FIFO (named pipe con- necting 'mplayer -vf bmovl' to the control- ling application)

| FIFO commands are:

| RGBA32 width height xpos ypos alpha clear

| followed by width*height*4 Bytes of raw RG- BA32 data.

| ABGR32 width height xpos ypos alpha clear

| followed by width*height*4 Bytes of raw AB- GR32 data.

| RGB24 width height xpos ypos alpha clear

| followed by width*height*3 Bytes of raw RGB24 data.

| BGR24 width height xpos ypos alpha clear

| followed by width*height*3 Bytes of raw BGR24 data.

| ALPHA width height xpos ypos alpha

| Change alpha transparency of the specified area.

| CLEAR width height xpos ypos

| Clear area.

| OPAQUE

| Disable all alpha transparency. Send "AL- PHA 0 0 0 0 0" to enable it again.

| HIDE

| Hide bitmap.

| SHOW

| Show bitmap.

| Arguments are:

| <width>, <height>

| image/area size

| <xpos>, <ypos>

| Start blitting at position x/y.

| <alpha>

| Set alpha difference. If you set this to -255 you can then send a sequence of AL- PHA-commands to set the area to -225, -200, -175 etc for a nice fade-in-effect! ;)

| 0: same as original 255: Make everything opaque. -255: Make everything transparent.

| <clear>

| Clear the framebuffer before blitting.

| 0: The image will just be blitted on top of the old one, so you do not need to send 1.8MB of RGBA32 data every time a small part of the screen is updated. 1: clear

| framestep=I|[i]step

| Renders only every nth frame or every intra frame (keyframe).

| If you call the filter with I (uppercase) as the parameter, then only keyframes are rendered. For DVDs it generally means one in every 15/12 frames (IBBPBBPBBPBBPBB), for AVI it means every scene change or every keyint value (see -lavcopts keyint= value if you use MEncoder to encode the video).

| When a keyframe is found, an 'I!' string followed by a newline character is printed, leaving the cur- rent 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 informa- tion to split the AVI.).

| If you call the filter with a numeric parameter 'step' then only one in every 'step' frames is ren- dered.

| If you put an 'i' (lowercase) before the number then an 'I!' is printed (like the I parameter).

| If you give only the i then nothing is done to the frames, only I! is printed.

| tile=xtiles:ytiles:output:start:delta

| Tile a series of images into a single, bigger im- age. If you omit a parameter or use a value less than 0, then the default value is used. You can also stop when you are satisfied (... -vf tile=10:5 ...). It is probably a good idea to put the scale filter before the tile :-)

| The parameters are:

| <xtiles>

| number of tiles on the x axis (default: 5)

| <ytiles>

| number of tiles on the y axis (default: 5)

| <output>

| Render the tile when 'output' number of frames are reached, where 'output' should be a number less than xtile * ytile. Miss- ing 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.

| <start>

| outer border thickness in pixels (default: 2)

| <delta>

| inner border thickness in pixels (default: 4)

| delogo[=x:y:w:h:t]

| Suppresses a TV station logo by a simple interpola- tion of the surrounding pixels. Just set a rectan- gle covering the logo and watch it disappear (and sometimes something even uglier appear - your mileage may vary).

| <x>,<y>

| top left corner of the logo

| <w>,<h>

| width and height of the cleared rectangle

| <t>

| Thickness of the fuzzy edge of the rectan- gle (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 parame- ters.

| remove-logo=/path/to/logo_bitmap_file_name.pgm

| Suppresses a TV station logo, using a PGM or PPM image file to determine which pixels comprise the logo. The width and height of the image file must match those of the video stream being processed. Uses the filter image and a circular blur algorithm to remove the logo.

| /path/to/lo- go_bitmap_file_name.pgm

| [path] + filename of the filter image.

| zrmjpeg[=options]

| Software YV12 to MJPEG encoder for use with the zr2 video output device.

| 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).

| {dc10+,dc10,buz,lml33}-{PAL|NTSC}

| Use these options to set maxwidth and max- height automatically to the values known for card/mode combo. For example, valid options are: dc10-PAL and buz-NTSC (de- fault: dc10+PAL)

| color|bw

| Select color or black and white encoding. Black and white encoding is faster. Color is the default.

| hdec={1,2,4}

| Horizontal decimation 1, 2 or 4.

| vdec={1,2,4}

| Vertical decimation 1, 2 or 4.

| quality=1-20

| Set JPEG compression quality [BEST] 1 - 20 [VERY BAD].

| fd|nofd

| By default, decimation is only performed if the Zoran hardware can upscale the result- ing MJPEG images to the original size. The option fd instructs the filter to always perform the requested decimation (ugly).

## GENERAL ENCODING OPTIONS (MENCODER ONLY)

| -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.

| -audio-density <1-50>

| Number of audio chunks per second (default is 2 for 0.5s long audio chunks). NOTE: CBR only, VBR ignores this as it puts each packet in a new chunk.

| -audio-preload <0.0-2.0>

| Sets up the audio buffering time interval (default: 0.5s).

| -endpos <[[hh:]mm:]ss[.ms]|size[b|kb|mb]> (also see -ss and -sb)

| Stop encoding at the given time or byte position. NOTE: Byte position will not be accurate, as it can only stop at a frame boundary.

| EXAMPLE:

| -endpos 56

| Encode only 56 seconds.

| -endpos 01:10:00

| Encode only 1 hour 10 minutes.

| -endpos 100mb

| Encode only 100 MBytes.

| -ffourcc <fourcc>

| Can be used to override the video fourcc of the output file.

| EXAMPLE:

| -ffourcc div3

| Will have the output file contain 'div3' as video fourcc.

| -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 ra- tio with '-ovc copy'.

| -hr-edl-seek (EDL only)

| Use a more precise, but much slower method for skipping areas. Areas marked for skipping are not seeked over, instead all frames are decoded, but only the necessary frames are encoded. This allows starting at non-keyframe boundaries. NOTE: Not guaranteed to work right with '-ovc copy'.

| -info <option1:option2:...> (AVI only)

| Specify the info header of the resulting AVI file.

| Available options are:

| help

| Show this description.

| name=<value>

| title of the work

| artist=<value>

| artist or author of the work

| genre=<value>

| original work category

| subject=<value>

| contents of the work

| copyright=<value>

| copyright information

| srcform=<value>

| original format of the digitized material

| comment=<value>

| general comments about the work

| -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 ren- dered when hardcoding subtitles onto a movie.

| -noencodedups

| Do not attempt to encode duplicate frames in dupli- cate; always output zero-byte frames to indicate duplicates. Zero-byte frames will be written any- way unless a filter or encoder capable of doing du- plicate encoding is loaded. Currently the only such filter is harddup.

| -noodml (-of avi only)

| Do not write OpenDML index for AVI files >1GB.

| -noskip

| Do not skip frames.

| -o <filename>

| Outputs to the given filename, instead of the de- fault 'test.avi'.

| -oac <codec name>

| Encode with the given audio codec (no default set). NOTE: Use -oac help to get a list of available au- dio codecs.

| EXAMPLE:

| -oac copy

| no encoding, just streamcopy

| -oac pcm

| Encode to uncompressed PCM.

| -oac mp3lame

| Encode to MP3 (using LAME).

| -oac lavc

| Encode with a libavcodec codec.

| -of <format> (BETA CODE!)

| Encode to the specified container format (default: AVI). NOTE: Use -of help to get a list of available con- tainer formats.

| EXAMPLE:

| -of avi

| Encode to AVI.

| -of mpeg

| Encode to MPEG.

| -of rawvideo

| raw video stream (no muxing - one video stream only)

| -of rawaudio

| raw audio stream (no muxing - one audio stream only)

| -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 (30000/1001 fps telecined MPEG) files.

| -ovc <codec name>

| Encode with the given video codec (no default set). NOTE: Use -ovc help to get a list of available video codecs.

| EXAMPLE:

| -ovc copy

| no encoding, just streamcopy

| -ovc divx4

| Encode to DivX4/DivX5.

| -ovc raw

| Encode to an arbitrary uncompressed format (use '-vf format' to select).

| -ovc lavc

| Encode with a libavcodec codec.

| -passlogfile <filename>

| Dump first pass information to <filename> instead of the default divx2pass.log in two pass encoding mode.

| -skiplimit <value>

| Specify the maximum number of frames that may be skipped after encoding one frame (-noskiplimit for unlimited).

| -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.

| -vobsuboutid <langid>

| Specify the language two letter code for the subti- tles. This overrides what is read from the DVD or the .ifo file.

| -vobsuboutindex <index>

| Specify the index of the subtitles in the output files (default: 0).

## CODEC SPECIFIC ENCODING OPTIONS (MENCODER ONLY)

| You can specify codec specific encoding parameters using the following syntax:

| -<codec>opts <option1[=value],option2,...>

| Where <codec> may be: lavc, xvidenc, divx4, lame, toolame, twolame, nuv, vfw, faac, x264enc, mpeg, lavf.

| divx4 (-divx4opts)

| DivX4 is obsolete and only supported for completeness. For details about DivX4 options, read the source, most op- tions are not described here.

| help

| get help

| br=<value>

| Specify bitrate.

| 4-16000

| (in kbit)

| 16001-24000000

| (in bit)

| key=<value>

| maximum keyframe interval (in frames)

| deinterlace

| Enable deinterlacing (avoid it, DivX4 is buggy).

| q=<1-5>

| quality (1-fastest, 5-best)

| min_quant=<1-31>

| minimum quantizer

| max_quant=<1-31>

| maximum quantizer

| rc_period=<value>

| rate control period

| rc_reaction_period=<value>

| rate control reaction period

| rc_reaction_ratio=<value>

| rate control reaction ratio

| crispness=<0-100>

| Specify crispness/smoothness.

| pass=<1-2>

| With this you can encode two pass DivX4 files. First encode with pass=1, then do another encode with the same parameters and pass=2.

| vbrpass=<0-2>

| Override the pass argument and use the XviD VBR li- brary instead of DivX4 VBR. Available options are:

| 0

| one pass encoding (as in not putting pass on the command line)

| 1

| Analysis (first) pass of two pass encoding. The resulting AVI file can be directed to /dev/null.

| 2

| Final (second) pass of two pass encoding.

| lame (-lameopts)

| help

| get help

| vbr=<0-4>

| variable bitrate method

| 0

| cbr

| 1

| mt

| 2

| rh (default)

| 3

| abr

| 4

| mtrh

| abr

| average bitrate

| cbr

| constant bitrate Also forces CBR mode encoding on subsequent ABR presets modes.

| br=<0-1024>

| bitrate in kbps (CBR and ABR only)

| q=<0-9>

| quality (0 - highest, 9 - lowest) (VBR only)

| aq=<0-9>

| algorithmic quality (0 - best/slowest, 9 - worst/fastest)

| ratio=<1-100>

| compression ratio

| vol=<0-10>

| audio input gain

| mode=<0-3>

| (default: auto)

| 0

| stereo

| 1

| joint-stereo

| 2

| dualchannel

| 3

| mono

| padding=<0-2>

| 0

| none

| 1

| all

| 2

| adjust

| fast

| Switch on faster encoding on subsequent VBR presets modes. This results in slightly lower quality and higher bitrates.

| highpassfreq=<freq>

| Set a highpass filtering frequency in Hz. Frequen- cies 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.

| lowpassfreq=<freq>

| Set a lowpass filtering frequency in Hz. Frequen- cies 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.

| preset=<value>

| preset values

| help

| Print additional options and information about presets settings.

| medium

| VBR encoding, good quality, 150-180 kbps bitrate range

| standard

| VBR encoding, high quality, 170-210 kbps bitrate range

| extreme

| VBR encoding, very high quality, 200-240 kbps bitrate range

| insane

| CBR encoding, highest preset quality, 320 kbps bitrate

| <8-320>

| ABR encoding at average given kbps bitrate

| EXAMPLES:

| fast:preset=standard

| suitable for most people and most music types and already quite high quality

| cbr:preset=192

| Encode with ABR presets at a 192 kbps forced constant bitrate.

| preset=172

| Encode with ABR presets at a 172 kbps aver- age bitrate.

| preset=extreme

| for people with extremely good hearing and similar equipment

| toolame and twolame (-toolameopts and -twolameopts respective- ly)

| br=<32-384>

| In CBR mode this parameter indicates the bitrate in kbps, when in VBR mode it is the minimum bitrate allowed per frame. VBR mode will not work with a value below 112.

| vbr=<-50-50> (VBR only)

| variability range; if negative the encoder shifts the average bitrate towards the lower limit, if positive towards the higher. When set to 0 CBR is used (default).

| maxvbr=<32-384> (VBR only)

| maximum bitrate allowed per frame, in kpbs

| mode=<stereo | jstereo | mono | dual>

| (default: mono for 1-channel audio, stereo other- wise)

| psy=<-1-4>

| psychoacoustic model (default: 2)

| errprot=<0 | 1>

| Include error protection.

| debug=<0-10>

| debug level

| faac (-faacopts)

| br=<bitrate>

| average bitrate in kbps (mutually exclusive with quality)

| quality=<1-1000>

| quality mode, the higher the better (mutually ex- clusive with br)

| object=<0-3>

| object type complexity

| 0

| MAIN (default)

| 1

| LOW

| 2

| SSR

| 3

| LTP (extremely slow)

| mpeg=<2|4>

| MPEG version (default: 4)

| tns

| Enables temporal noise shaping.

| cutoff=<0-sampling_rate/2>

| cutoff frequency (default: sampling_rate/2)

| raw

| Stores the bitstream as raw payload with extradata in the container header (default: 0, corresponds to ADTS). Do not set this flag if not explicitly re- quired or you will not be able to remux the audio stream later on.

| lavc (-lavcopts)

| Many libavcodec (lavc for short) options are tersely docu- mented. Read the source for full details.

| EXAMPLE:

| vcodec=msmpeg4:vbi- trate=1800:vhq:keyint=250

| acodec=<value>

| audio codec (default: mp2)

| mp2

| MPEG Layer 2

| mp3

| MPEG Layer 3

| ac3

| AC3

| adpcm_ima_wav

| IMA Adaptive PCM (4bits per sample, 4:1 compression)

| abitrate=<value>

| audio bitrate in kbps (default: 224)

| atag=<value>

| Use the specified Windows audio format tag (e.g. atag=0x55).

| bit_exact

| Use only bit exact algorithms (except (I)DCT). Ad- ditionally bit_exact disables several optimizations and thus should only be used for regression tests, which need binary identical files even if the en- coder 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.

| threads=<1-8>

| Maximum number of threads to use (default: 1). May have a slight negative effect on motion estimation.

| vcodec=<value>

| Employ the specified codec (default: mpeg4).

| mjpeg

| Motion JPEG

| ljpeg

| Lossless JPEG

| h263

| H.263

| h263p

| H.263+

| mpeg4

| MPEG-4 (DivX 4/5)

| msmpeg4

| DivX 3

| msmpeg4v2

| MS MPEG4v2

| wmv1

| Windows Media Video, version 1 (AKA WMV7)

| wmv2

| Windows Media Video, version 2 (AKA WMV8)

| rv10

| an old RealVideo codec

| mpeg1video

| MPEG-1 video

| mpeg2video

| MPEG-2 video

| huffyuv

| HuffYUV

| ffvhuff

| nonstandard 20% smaller HuffYUV using YV12

| asv1

| ASUS Video v1

| asv2

| ASUS Video v2

| ffv1

| FFmpeg's lossless video codec

| vqmin=<1-31>

| minimum quantizer (pass 1/2)

| 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).

| 2

| Recommended for normal mpeg4/mpeg1video en- coding (default).

| 3

| Recommended for h263(p)/msmpeg4. The rea- son 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.)

| 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).

| lmax=<0.01-255.0>

| maximum Lagrange multiplier for ratecontrol (de- fault: 31.0)

| vqscale=<1-31>

| Constant quantizer / constant quality encoding (se- lects fixed quantizer mode). A lower value means better quality but larger files (default: 0 (dis- abled)). 1 is not recommended (see vqmin for de- tails).

| vqmax=<1-31>

| Maximum quantizer (pass 1/2), 10-31 should be a sane range (default: 31).

| mbqmin=<1-31>

| obsolete, use vqmin

| mbqmax=<1-31>

| obsolete, use vqmax

| vqdiff=<1-31>

| maximum quantizer difference between consecutive I- or P-frames (pass 1/2) (default: 3)

| vmax_b_frames=<0-4>

| maximum number of B-frames between non-B-frames:

| 0

| no B-frames (default)

| 0-2

| sane range for MPEG-4

| vme=<0-5>

| motion estimation method. Available methods are:

| 0

| none (very low quality)

| 1

| full (slow, currently unmaintained and dis- abled)

| 2

| log (low quality, currently unmaintained and disabled)

| 3

| phods (low quality, currently unmaintained and disabled)

| 4

| EPZS: size=1 diamond, size can be adjusted with the *dia options (default)

| 5

| X1 (experimental, currently aliased to EPZS)

| NOTE: 0-3 currently ignores the amount of bits spent, so quality may be low.

| me_range=<0-9999>

| motion estimation search range (default: 0 (unlim- ited))

| 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.

| 0

| Use mbcmp (default).

| 1

| Select the MB mode which needs the fewest bits (=vhq).

| 2

| Select the MB mode which has the best rate distortion.

| vhq

| Same as mbd=1, kept for compatibility reasons.

| v4mv

| Allow 4 motion vectors per macroblock (slightly better quality). Works better if used with mbd>0.

| obmc

| overlapped block motion compensation (H.263+)

| loop

| loop filter (H.263+) note, this is broken

| inter_threshold <-1000-1000>

| Does absolutely nothing at the moment.

| keyint=<0-300>

| maximum interval between keyframes in frames (de- fault: 250 or one keyframe every ten seconds in a 25fps movie). 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 is equivalent to 1, which makes every frame a keyframe. Values >300 are not recommended as the quality might be bad depending upon decoder, encoder and luck. For a strict MPEG-1/2/4 compliance this would have to be <=132.

| sc_threshold=<-1000000-1000000>

| Threshold for scene change detection. A keyframe is inserted by libavcodec when it detects a scene change. You can specify the sensitivity of the de- tection with this option. -1000000 means there is a scene change detected at every frame, 1000000 means no scene changes are detected (default: 0).

| vb_strategy=<0-1> (pass one only)

| strategy to choose between I/P/B-frames:

| 0

| Always use the maximum number of B-frames (default).

| 1

| Avoid B-frames in high motion scenes.

| vpass=<1-3>

| Activates internal two (or more) pass mode, only specify if you wish to use two (or more) pass en- coding.

| 1

| first pass (also see turbo)

| 2

| second pass

| 3

| Nth pass (second and subsequent passes of N-pass encoding)

| Here is how it works, and how to use it: The first pass (vpass=1) writes the stats file. You might want to deactivate some CPU-hungry op- tions, like "turbo" mode does. In two pass mode, the second pass (vpass=2) reads the stats file and bases ratecontrol decisions on it. In N-pass mode, the second pass (vpass=3, that is not a typo) does both: It first reads the stats, then overwrites them. You might want to backup di- vx2pass.log before doing this if there is any pos- sibility that you will have to cancel MEncoder. You can use all encoding options, except very CPU-hungry options like "qns". You can run this same pass over and over to refine the encode. Each subsequent pass will use the stats from the previous pass to improve. The final pass can include any CPU-hungry encoding options. If you want a 2 pass encode, use first vpass=1, and then vpass=2. If you want a 3 or more pass encode, use vpass=1 for the first pass and then vpass=3 and then vpass=3 again and again until you are satisfied with the encode.

| huffyuv:

| pass 1

| Saves statistics.

| pass 2

| Encodes with an optimal Huffman table based upon statistics from the first pass.

| turbo (two pass only)

| Dramatically speeds up pass one using faster algo- rithms and disabling CPU-intensive options. This will probably reduce global PSNR a little bit (around 0.01dB) and change individual frame type and PSNR little bit more (up to 0.03dB).

| aspect=<x/y>

| Store movie aspect internally, just like with MPEG files. Much nicer than rescaling, because quality is not 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.

| EXAMPLE:

| aspect=16/9 or aspect=1.78

| autoaspect

| Same as the aspect option, but automatically com- putes aspect, taking into account all the adjust- ments (crop/expand/scale/etc.) made in the filter chain. Does not incur a performance penalty, so you can safely leave it always on.

| vbitrate=<value>

| Specify bitrate (pass 1/2) (default: 800). WARNING: 1kBit = 1000 Bits

| 4-16000

| (in kbit)

| 16001-24000000

| (in bit)

| vratetol=<value>

| approximated filesize tolerance in kBit. 1000-100000 is a sane range. (warning: 1kBit = 1000 Bits) (default: 8000) NOTE: vratetol should not be too large during the second pass or there might be problems if vrc_(min|max)rate is used.

| vrc_maxrate=<value>

| maximum bitrate in kbit/sec (pass 1/2) (default: 0, unlimited)

| vrc_minrate=<value>

| minimum bitrate in kbit/sec (pass 1/2) (default: 0, unlimited)

| vrc_buf_size=<value>

| buffer size in kbit (pass 1/2). For MPEG-1/2 this also sets the vbv buffer size, use 327 for VCD, 917 for SVCD and 1835 for DVD.

| vrc_buf_aggressivity

| currently useless

| vrc_strategy

| Dummy, reserved for future use.

| vb_qfactor=<-31.0-31.0>

| quantizer factor between B- and non-B-frames (pass 1/2) (default: 1.25)

| vi_qfactor=<-31.0-31.0>

| quantizer factor between I- and non-I-frames (pass 1/2) (default: 0.8)

| vb_qoffset=<-31.0-31.0>

| quantizer offset between B- and non-B-frames (pass 1/2) (default: 1.25)

| vi_qoffset=<-31.0-31.0>

| (pass 1/2) (default: 0.0) if v{b|i}_qfactor > 0 I/B-frame quantizer = P-frame quantizer * v{b|i}_qfactor + v{b|i}_qoffset else do normal ratecontrol (do not lock to next P-frame quantizer) and set q= -q * v{b|i}_qfactor + v{b|i}_qoffset HINT: To do constant quantizer encoding with dif- ferent quantizers for I/P- and B-frames you can use: lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/ip_quant>.

| vqblur=<0.0-1.0> (pass one)

| Quantizer blur (default: 0.5), larger values will average the quantizer more over time (slower change).

| 0.0

| Quantizer blur disabled.

| 1.0

| Average the quantizer over all previous frames.

| vqblur=<0.0-99.0> (pass two)

| Quantizer gaussian blur (default: 0.5), larger val- ues will average the quantizer more over time (slower change).

| vqcomp=<0.0-1.0>

| Quantizer compression, vrc_eq depends upon this (pass 1/2) (default: 0.5). For instance, assuming the default rate control equation is used, if vq- comp=1.0, the ratecontrol allocates to each frame the number of bits needed to encode them all at the same QP. If vqcomp=0.0, the ratecontrol allocates the same number of bits to each frame, i.e. strict CBR. NOTE: Those are extreme settings and should never be used. Perceptual quality will be optimal somewhere in between these two extremes.

| vrc_eq=<equation>

| main ratecontrol equation (pass 1/2)

| 1

| constant bitrate

| tex

| constant quality

| 1+(tex/avgTex-1)*qComp

| approximately the equation of the old rate- control code

| tex^qComp

| with qcomp 0.5 or something like that (de- fault)

| infix operators:

| +,-,*,/,^

| variables:

| tex

| texture complexity

| iTex,pTex

| intra, non-intra texture complexity

| avgTex

| average texture complexity

| avgIITex

| average intra texture complexity in I-frames

| avgPITex

| average intra texture complexity in P-frames

| avgPPTex

| average non-intra texture complexity in P-frames

| avgBPTex

| average non-intra texture complexity in B-frames

| mv

| Bits used for motion vectors

| fCode

| maximum length of motion vector in log2 scale

| iCount

| number of intra macroblocks / number of macroblocks

| var

| spatial complexity

| mcVar

| temporal complexity

| qComp

| qcomp from the command line

| isI, isP, isB

| Is 1 if picture type is I/P/B else 0.

| Pi,E

| See your favorite math book.

| functions:

| max(a,b),min(a,b)

| maximum / minimum

| gt(a,b)

| is 1 if a>b, 0 otherwise

| lt(a,b)

| is 1 if a<b, 0 otherwise

| eq(a,b)

| is 1 if a==b, 0 otherwise

| sin, cos, tan, sinh, cosh, tanh, exp, log, abs

| 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>[/...]]:

| quality (2-31)

| quantizer

| quality (-500-0)

| quality correction in %

| vrc_init_cplx=<0-1000>

| initial complexity (pass 1)

| vrc_init_occupancy=<0.0-1.0>

| initial buffer occupancy, as a fraction of vrc_buf_size (default: 0.9)

| vqsquish=<0|1>

| Specify how to keep the quantizer between qmin and qmax (pass 1/2).

| 0

| Use clipping.

| 1

| Use a nice differentiable function (de- fault).

| 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):

| 0

| disabled (default)

| -4

| JVT recommendation

| 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):

| 0

| disabled (default)

| 7

| JVT recommendation

| vstrict=<-2|-1|0|1>

| strict standard compliance

| 0

| disabled

| 1

| Only recommended if you want to feed the output into the MPEG-4 reference decoder.

| -1

| Allow libavcodec specific extensions (de- fault).

| -2

| Enables experimental codecs and features which may not be playable with future MPlayer versions (snow, ffvhuff, ffv1).

| vdpart

| Data partitioning. Adds 2 Bytes per video packet, improves error-resistance when transferring over unreliable channels (e.g. streaming over the inter- net). Each video packet will be encoded in 3 sepa- rate partitions:

| 1. MVs

| movement

| 2. DC coefficients

| low res picture

| 3. AC coefficients

| details

| MV & DC are most important, loosing them looks far worse than loosing the AC and the 1. & 2. parti- tion. (MV & DC) are far smaller than the 3. parti- tion (AC) meaning that errors will hit the AC par- tition much more often than the MV & DC partitions. Thus, the picture will look better with partition- ing than without, as without partitioning an error will trash AC/DC/MV equally.

| vpsize=<0-10000> (also see vdpart)

| Video packet size, improves error-resistance.

| 0

| disabled (default)

| 100-1000

| good choice

| ss

| slice structured mode for H.263+

| gray

| grayscale only encoding (faster)

| vfdct=<0-10>

| DCT algorithm

| 0

| Automatically select a good one (default).

| 1

| fast integer

| 2

| accurate integer

| 3

| MMX

| 4

| mlib

| 5

| AltiVec

| 6

| floating point AAN

| idct=<0-99>

| IDCT algorithm NOTE: To the best of our knowledge all these IDCTs do pass the IEEE1180 tests.

| 0

| Automatically select a good one (default).

| 1

| JPEG reference integer

| 2

| simple

| 3

| simplemmx

| 4

| libmpeg2mmx (inaccurate, do not use for en- coding with keyint >100)

| 5

| ps2

| 6

| mlib

| 7

| arm

| 8

| AltiVec

| 9

| sh4

| lumi_mask=<0.0-1.0>

| Luminance masking is a 'psychosensory' setting that is supposed to make use of the fact that the human eye tends to notice fewer details in very bright parts of the picture. Luminance masking compresses bright areas stronger than medium ones, so it will save bits that can be spent again on other frames, raising overall subjective quality, while possibly reducing PSNR. WARNING: Be careful, overly large values can cause disastrous things. WARNING: Large values might look good on some moni- tors but may look horrible on other monitors.

| 0.0

| disabled (default)

| 0.0-0.3

| sane range

| dark_mask=<0.0-1.0>

| Darkness masking is a 'psychosensory' setting that is supposed to make use of the fact that the human eye tends to notice fewer details in very dark parts of the picture. Darkness masking compresses dark areas stronger than medium ones, so it will save bits that can be spent again on other frames, raising overall subjective quality, while possibly reducing PSNR. WARNING: Be careful, overly large values can cause disastrous things. WARNING: Large values might look good on some moni- tors but may look horrible on other monitors / TV / TFT.

| 0.0

| disabled (default)

| 0.0-0.3

| sane range

| tcplx_mask=<0.0-1.0>

| Temporal complexity masking (default: 0.0 (dis- abled)). Imagine a scene with a bird flying across the whole scene; tcplx_mask will raise the quantiz- ers of the bird's macroblocks (thus decreasing their quality), as the human eye usually does not have time to see all the bird's details. Be warned that if the masked object stops (e.g. the bird lands) it is likely to look horrible for a short period of time, until the encoder figures out that the object is not moving and needs refined blocks. The saved bits will be spent on other parts of the video, which may increase subjective quality, pro- vided that tcplx_mask is carefully chosen.

| scplx_mask=<0.0-1.0>

| Spatial complexity masking. Larger values help against blockiness, if no deblocking filter is used for decoding, which is maybe not a good idea. Imagine a scene with grass (which usually has great spatial complexity), a blue sky and a house; sc- plx_mask will raise the quantizers of the grass' macroblocks, thus decreasing its quality, in order to spend more bits on the sky and the house. HINT: Crop any black borders completely as they will reduce the quality of the macroblocks (also applies without scplx_mask).

| 0.0

| disabled (default)

| 0.0-0.5

| sane range

| NOTE: This setting does not have the same effect as using a custom matrix that would compress high fre- quencies harder, as scplx_mask will reduce the quality of P blocks even if only DC is changing. The result of scplx_mask will probably not look as good.

| p_mask=<0.0-1.0> (also see vi_qfactor)

| Reduces the quality of inter blocks. This is equivalent to increasing the quality of intra blocks, because the same average bitrate will be distributed by the rate controller to the whole video sequence (default: 0.0 (disabled)). p_mask=1.0 doubles the bits allocated to each intra block.

| border_mask=<0.0-1.0>

| border-processing for MPEG-style encoders. Border processing increases the quantizer for macroblocks which are less than 1/5th of the frame width/height away from the frame border, since they are often visually less important.

| naq

| Normalize adaptive quantization (experimental). When using adaptive quantization (*_mask), the av- erage per-MB quantizer may no longer match the re- quested frame-level quantizer. Naq will attempt to adjust the per-MB quantizers to maintain the proper average.

| ildct

| Use interlaced DCT.

| ilme

| Use interlaced motion estimation (mutually exclu- sive with qpel).

| alt

| Use alternative scantable.

| top=<-1-1>

| -1

| automatic

| 0

| bottom field first

| 1

| top field first

| format=<value>

| YV12

| default

| 444P

| for ffv1

| 422P

| for HuffYUV, lossless JPEG and ffv1

| 411P,YVU9

| for lossless JPEG and ffv1

| BGR32

| for lossless JPEG and ffv1

| pred

| (for HuffYUV)

| 0

| left prediction

| 1

| plane/gradient prediction

| 2

| median prediction

| pred

| (for lossless JPEG)

| 0

| left prediction

| 1

| top prediction

| 2

| topleft prediction

| 3

| plane/gradient prediction

| 6

| mean prediction

| coder

| (for ffv1)

| 0

| vlc coding (Golomb-Rice)

| 1

| arithmetic coding (CABAC)

| context

| (for ffv1)

| 0

| small context model

| 1

| large context model

| (for ffvhuff)

| 0

| predetermined huffman tables (builtin or two pass)

| 1

| adaptive huffman tables

| qpel

| Use quarter pel motion compensation (mutually ex- clusive with ilme). HINT: This seems only useful for high bitrate en- codings.

| mbcmp=<0-2000>

| Sets the comparison function for the macroblock de- cision, only used if mbd=0.

| 0 (SAD)

| sum of absolute differences, fast (default)

| 1 (SSE)

| sum of squared errors

| 2 (SATD)

| sum of absolute Hadamard transformed dif- ferences

| 3 (DCT)

| sum of absolute DCT transformed differences

| 4 (PSNR)

| sum of squared quantization errors (avoid, low quality)

| 5 (BIT)

| number of bits needed for the block

| 6 (RD)

| rate distortion optimal, slow

| 7 (ZERO)

| 0

| 8 (VSAD)

| sum of absolute vertical differences

| 9 (VSSE)

| sum of squared vertical differences

| 10 (NSSE)

| noise preserving sum of squared differences

| +256

| Also use chroma, currently does not work (correctly) with B-frames.

| ildctcmp=<0-2000>

| Sets the comparison function for interlaced DCT de- cision (see mbcmp for available comparison func- tions).

| precmp=<0-2000>

| Sets the comparison function for motion estimation pre pass (see mbcmp for available comparison func- tions) (default: 0).

| cmp=<0-2000>

| Sets the comparison function for full pel motion estimation (see mbcmp for available comparison functions) (default: 0).

| subcmp=<0-2000>

| Sets the comparison function for sub pel motion es- timation (see mbcmp for available comparison func- tions) (default: 0).

| nssew=<0-1000000>

| This setting controls NSSE weight, where larger weights will result in more noise. 0 NSSE is iden- tical to SSE You may find this useful if you prefer to keep some noise in your encoded video rather than filtering it away before encoding (default: 8).

| predia=<-99-6>

| diamond type and size for motion estimation pre-pass

| dia=<-99-6>

| Diamond type & size for motion estimation. Motion search is an iterative process. Using a small dia- mond does not limit the search to finding only small motion vectors. It is just somewhat more likely to stop before finding the very best motion vector, especially when noise is involved. Bigger diamonds allow a wider search for the best motion vector, thus are slower but result in better quali- ty. Big normal diamonds are better quality than shape-adaptive diamonds. Shape-adaptive diamonds are a good tradeoff between speed and quality. NOTE: The sizes of the normal diamonds and shape adaptive ones do not have the same meaning.

| -3

| shape adaptive (fast) diamond with size 3

| -2

| shape adaptive (fast) diamond with size 2

| -1

| slightly special: Can be slower and/or bet- ter than dia=-2.

| 1

| normal size=1 diamond (default) =EPZS type diamond

          0
         000
          0

| 2

| normal size=2 diamond

          0
         000
        00000
         000
          0

| trell

| Trellis searched quantization. This will find the optimal encoding for each 8x8 block. Trellis searched quantization is quite simply an optimal quantization in the PSNR versus bitrate sense (As- suming that there would be no rounding errors in- troduced by the IDCT, which is obviously not the case.). It simply finds a block for the minimum of error and lambda*bits.

| lambda

| quantization parameter (QP) dependent con- stant

| bits

| amount of bits needed to encode the block

| error

| sum of squared errors of the quantization

| cbp

| Rate distorted optimal coded block pattern. Will select the coded block pattern which minimizes dis- tortion + lambda*rate. This can only be used to- gether with trellis quantization.

| mv0

| Try to encode each MB with MV=<0,0> and choose the better one. This has no effect if mbd=0.

| qprd (mbd=2 only)

| rate distorted optimal quantization parameter (QP) for the given lambda of each macroblock

| last_pred=<0-99>

| amount of motion predictors from the previous frame

| 0

| (default)

| a

| Will use 2a+1 x 2a+1 macroblock square of motion vector predictors from the previous frame.

| preme=<0-2>

| motion estimation pre-pass

| 0

| disabled

| 1

| only after I-frames (default)

| 2

| always

| subq=<1-8>

| subpel refinement quality (for qpel) (default: 8 (high quality)) NOTE: This has a significant effect on speed.

| 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.

| mpeg_quant

| Use MPEG quantizers instead of H.263.

| aic

| ac prediction (advanced intra prediction for H.263+) NOTE: vqmin should be 8 or larger for H.263+ AIC.

| aiv

| alternative inter vlc for H.263+

| umv

| unlimited MVs (H.263+ only) Allows encoding of ar- bitrarily long MVs.

| ibias=<-256-256>

| intra quantizer bias (256 equals 1.0, MPEG style quantizer default: 96, H.263 style quantizer de- fault: 0) NOTE: The H.263 MMX quantizer cannot handle posi- tive biases (set vfdct=1 or 2), the MPEG MMX quan- tizer cannot handle negative biases (set vfdct=1 or 2).

| pbias=<-256-256>

| inter quantizer bias (256 equals 1.0, MPEG style quantizer default: 0, H.263 style quantizer de- fault: -64) NOTE: The H.263 MMX quantizer cannot handle posi- tive biases (set vfdct=1 or 2), the MPEG MMX quan- tizer cannot handle negative biases (set vfdct=1 or 2). HINT: A more positive bias (-32 - -16 instead of -64) seems to improve the PSNR.

| nr=<0-100000>

| Noise reduction, 0 means disabled. 0-600 is a use- ful range for typical content, but you may want to turn it up a bit more for very noisy content (de- fault: 0). Given its small impact on speed, you might want to prefer to use this over filtering noise away with video filters like denoise3d or hqdn3d.

| qns=<0-3>

| Quantizer noise shaping. Rather than choosing quantization to most closely match the source video in the PSNR sense, it chooses quantization such that noise (usually ringing) will be masked by sim- ilar-frequency content in the image. 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 quantiza- tion (optimal for constant weight) will be used as startpoint for the iterative search.

| 0

| disabled (default)

| 1

| Only lower the absolute value of coeffi- cients.

| 2

| Only change coefficients before the last non-zero coefficient + 1.

| 3

| Try all.

| inter_matrix=<comma separated matrix>

| Use custom inter matrix. It needs a comma separat- ed string of 64 integers.

| intra_matrix=<comma separated matrix>

| Use custom intra matrix. It needs a comma separat- ed string of 64 integers.

| vqmod_amp

| experimental quantizer modulation

| vqmod_freq

| experimental quantizer modulation

| dc

| intra DC precision in bits (default: 8). If you specify vcodec=mpeg2video this value can be 8, 9, 10 or 11.

| cgop

| Close all GOPs. Currently it does not work.

| nuv (-nuvopts)

| Nuppel video is based on RTJPEG and LZO. By default frames are first encoded with RTJPEG and then compressed with LZO, but it is possible to disable either or both of the two passes. As a result, you can in fact output raw i420, LZO compressed i420, RTJPEG, or the default LZO com- pressed RTJPEG. NOTE: The nuvrec documentation contains some advice and examples about the settings to use for the most common TV encodings.

| c=<0-20>

| chrominance threshold (default: 1)

| l=<0-20>

| luminance threshold (default: 1)

| lzo

| Enable LZO compression (default).

| nolzo

| Disable LZO compression.

| q=<3-255>

| quality level (default: 255)

| raw

| Disable RTJPEG encoding.

| rtjpeg

| Enable RTJPEG encoding (default).

| xvidenc (-xvidencopts)

| There are three modes available: constant bitrate (CBR), fixed quantizer and two pass.

| pass=<1|2>

| Specify the pass in two pass mode.

| bitrate=<value> (CBR or two pass mode)

| 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 (default: 687 kbits/s).

| fixed_quant=<1-31>

| Switch to fixed quantizer mode and specify the quantizer to be used.

| zones=<zone0>[/<zone1>[/...]] (CBR or two pass mode)

| User specified quality for specific parts (ending, credits, ...). Each zone is <start-frame>,<mode>,<value> where <mode> may be

| q

| Constant quantizer override, where val- ue=<2.0-31.0> represents the quantizer val- ue.

| w

| Ratecontrol weight override, where val- ue=<0.01-2.00> represents the quality cor- rection in %.

| EXAMPLE:

| zones=90000,q,20

| Encodes all frames starting with frame 90000 at constant quantizer 20.

| zones=0,w,0.1/10001,w,1.0/90000,q,20

| Encode frames 0-10000 at 10% bitrate, en- code frames 90000 up to the end at constant quantizer 20. Note that the second zone is needed to delimit the first zone, as with- out it everything up until frame 89999 would be encoded at 10% bitrate.

| me_quality=<0-6>

| This option controls the motion estimation subsys- tem. The higher the value, the more precise the estimation should be (default: 6). The more pre- cise 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.

| (no)interlacing

| Encode the fields of interlaced video material. Turn this option on for interlaced content. NOTE: Should you rescale the video, you would need an interlace-aware resizer, which you can activate with -vf scale=<width>:<height>:1.

| 4mv

| Use 4 motion vectors per macroblock. This might give better compression, but slows down encoding. WARNING: As of XviD-1.0.x, this option is no longer available separately, and its functionality is in- cluded in the me_quality option. When me_quality > 4, 4mv is activated.

| rc_reaction_delay_factor=<value>

| This parameter controls the number of frames the CBR rate controller will wait before reacting to bitrate changes and compensating for them to obtain a constant bitrate over an averaging range of frames.

| 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 pe- riod for which it guarantees a given amount of bits (minus a small variation). This settings expresses the "number of frames" for which XviD averages bi- trate and tries to achieve CBR.

| rc_buffer=<value>

| size of the rate control buffer

| quant_range=<1-31>-<1-31>[/<1-31>-<1-31>]

| CBR mode: min & max quantizer for all frames (de- fault: 2-31) two pass mode: min & max quantizer for I/P-frames (default: 2-31/2-31) WARNING: As of XviD-1.0.x, this option is replaced by the [min|max]_[i|p|b]quant options.

| min_key_interval=<value> (two pass only)

| minimum interval between keyframes (default: 0)

| max_key_interval=<value>

| maximum interval between keyframes (default: 10*fps)

| mpeg_quant

| Use MPEG quantizers instead of H.263. For high bi- trates, you will find that MPEG quantization pre- serves more detail. For low bitrates, the smooth- ing of H.263 will give you less block noise. When using custom matrices, MPEG must be used. WARNING: As of XviD-1.0.x, this option is replaced by the quant_type option.

| mod_quant

| Decide whether to use MPEG or H.263 quantizers on a frame-by-frame basis (two pass mode only). WARNING: This will generate an illegal bitstream, and most likely not be decodable by any MPEG-4 de- coder besides libavcodec or XviD. WARNING: As of XviD-1.0.x, this option is no longer available.

| keyframe_boost=<0-1000> (two pass mode only)

| Shift some bits from the pool for other frame types to intra frames, thus improving keyframe quality. This amount is an extra percentage, so a value of 10 will give your keyframes 10% more bits than nor- mal (default: 0).

| kfthreshold=<value> (two pass mode only)

| Works together with kfreduction. Determines the minimum distance below which you consider that two frames are considered consecutive and treated dif- ferently according to kfreduction (default: 10).

| kfreduction=<0-100> (two pass mode only)

| 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 de- termines the bitrate reduction they get. The last I-frame will get treated normally (default: 30).

| divx5bvop

| Generate DivX5 compatible B-frames (default: on). This seems to be mandatory only for old versions of DivX's decoder. WARNING: As of XviD-1.0.x, this option is replaced by the closed_gop option.

| (no)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.

| debug

| Save per-frame statistics in ./xvid.dbg. (This is not the two pass control file.)

| The following options are only available with the latest stable releases of XviD 1.0.x (api4).

| (no)packed

| This option is meant to solve frame-order issues when encoding to container formats like AVI that cannot cope with out-of-order frames. In practice, most decoders (both software and hardware) are able to deal with frame-order themselves, and may get confused when this option is turned on, so you can safely leave if off, unless you really know what you are doing. WARNING: This will generate an illegal bitstream, and will not be decodable by ISO-MPEG-4 decoders except DivX/libavcodec/XviD. WARNING: This will also store a fake DivX version in the file so the bug autodetection of some de- coders might be confused.

| max_bframes=<0-4>

| Maximum number of B-frames to put between I/ P-frames (default: 2).

| bquant_ratio=<0-1000>

| quantizer ratio between B- and non-B-frames, 150=1.50 (default: 150)

| bquant_offset=<-1000-1000>

| quantizer offset between B- and non-B-frames, 100=1.00 (default: 100)

| 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 completely static). This setting allows you to specify what priority to place on the use of B-frames. The higher the value, the higher the probability of B-frames being used. (default: 0)

| (no)closed_gop

| This option tells XviD to close every GOP (Group Of Pictures bounded by two I-frames), which makes GOPs independent from each other. This just implies that the last frame of the GOP is eiter a P-frame or a N-frame but not a B-frame. It is usually a good idea to turn this option on (default: on).

| frame_drop_ratio=<0-100> (max_bframes=0 only)

| This setting allows the creation of variable fram- erate video streams. The value of the setting specifies a threshold under which, if the differ- ence of the following frame to the previous frame is below or equal to this threshold, a frame gets not coded (a so called n-vop is placed in the stream). On playback, when reaching an n-vop the previous frame will be displayed. WARNING: Playing with this setting may result in a jerky video, so use it at your own risks!

| (no)qpel

| MPEG-4 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 sharp- er 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 with- out this option and see whether it is worth acti- vating.

| (no)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.

| (no)trellis

| Trellis Quantization is a kind of adaptive quanti- zation method that saves bits by modifying quan- tized 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 less- er cost than with VHQ (default: on).

| (no)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.

| quant_type=<h263|mpeg>

| Sets the type of quantizer to use. For high bi- trates, you will find that MPEG quantization pre- serves more detail. For low bitrates, the smooth- ing of H.263 will give you less block noise. When using custom matrices, MPEG quantization must be used.

| (no)chroma_me

| The usual motion estimation algorithm uses only the luminance information to find the best motion vec- tor. 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 (default: on).

| (no)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 im- prove quality at the cost of encoding speed. It reduces PSNR by nature, as the mathematical devia- tion 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.

| (no)hq_ac

| Activates High Quality AC coefficient prediction from neighbor blocks.

| 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 slow- est:

| 0

| off

| 1

| mode decision (inter/intra MB) (default)

| 2

| limited search

| 3

| medium search

| 4

| wide search

| (no)lumi_mask

| Adaptive quantization allows the macroblock quan- tizers to vary inside each frame. This is a 'psy- chosensory' setting that is supposed to make use of the fact that the human eye tends to notice fewer details in very bright and very dark parts of the picture. It compresses those areas more strongly than medium ones, which will save bits that can be spent again on other frames, raising overall sub- jective quality and possibly reducing PSNR.

| min_iquant=<0-31>

| minimum I-frame quantizer (default: 2)

| max_iquant=<0-31>

| maximum I-frame quantizer (default: 31)

| min_pquant=<0-31>

| minimum P-frame quantizer (default: 2)

| max_pquant=<0-31>

| maximum P-frame quantizer (default: 31)

| min_bquant=<0-31>

| minimum B-frame quantizer (default: 2)

| max_bquant=<0-31>

| maximum B-frame quantizer (default: 31)

| quant_intra_matrix=<filename>

| Load a custom intra matrix file. You can build such a file with xvid4conf's matrix editor.

| quant_inter_matrix=<filename>

| Load a custom inter matrix file. You can build such a file with xvid4conf's matrix editor.

| curve_compression_high=<0-100>

| This setting allows XviD to take a certain percent- age of bits away from high bitrate scenes and give them back to the bit reservoir. You could also use this if you have a clip with so many bits allocated to high-bitrate scenes that the low(er)-bitrate scenes start to look bad (default: 0).

| curve_compression_low=<0-100>

| This setting allows XviD to give a certain percent- age of extra bits to the low bitrate scenes, taking a few bits from the entire clip. This might come in handy if you have a few low-bitrate scenes that are still blocky (default: 0).

| overflow_control_strength=<0-100>

| During pass one of two pass encoding, a scaled bi- trate curve is computed. The difference between that expected curve and the result obtained during encoding is called overflow. Obviously, the two pass rate controller tries to compensate for that overflow, distributing it over the next frames. This setting controls how much of the overflow is distributed every time there is a new frame. Low values allow lazy overflow control, big rate bursts are compensated for more slowly (could lead to lack of precision for small clips). Higher values will make changes in bit redistribution more abrupt, possibly too abrupt if you set it too high, creat- ing artifacts (default: 5). NOTE: This setting impacts quality a lot, play with it carefully!

| max_overflow_improvement=<0-100>

| During the frame bit allocation, overflow control may increase the frame size. This parameter speci- fies the maximum percentage by which the overflow control is allowed to increase the frame size, com- pared to the ideal curve allocation (default: 5).

| max_overflow_degradation=<0-100>

| During the frame bit allocation, overflow control may decrease the frame size. This parameter speci- fies the maximum percentage by which the overflow control is allowed to decrease the frame size, com- pared to the ideal curve allocation (default: 5).

| container_frame_overhead=<0...>

| Specifies a frame average overhead per frame, in bytes. Most of the time users express their target bitrate for video w/o taking care of the video con- tainer overhead. This small but (mostly) constant overhead can cause the target file size to be ex- ceeded. XviD allows users to set the amount of overhead per frame the container generates (give only an average per frame). 0 has a special mean- ing, it lets XviD use its own default values (de- fault: 24 - AVI average overhead).

| par=<mode>

| Specifies the Pixel Aspect Ratio mode (not to be confused with DAR, the Display Aspect Ratio). PAR is the ratio of the width and height of a single pixel. So both are related like this: DAR = PAR * (width/height). MPEG-4 defines 5 pixel aspect ratios and one ex- tended one, giving the opportunity to specify a specific pixel aspect ratio. 5 standard modes can be specified:

| vga11

| It's the usual PAR for PC content. Pixels are a square unit.

| pal43

| PAL standard 4:3 PAR. Pixels are rectan- gles.

| pal169

| same as above

| ntsc43

| same as above

| ntsc169

| same as above (Don't forget to give the ex- act ratio.)

| ext

| Allows you to specify your own pixel aspect ratio with par_width and par_height.

| NOTE: In general, setting aspect and autoaspect op- tions is enough.

| par_width=<1-255> (par=ext only)

| Specifies the width of the custom pixel aspect ra- tio.

| par_height=<1-255> (par=ext only)

| Specifies the height of the custom pixel aspect ra- tio.

| 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 as- pect parameter can be given as a ratio or a float- ing point number.

| (no)autoaspect

| Same as the aspect option, but automatically com- putes aspect, taking into account all the adjust- ments (crop/expand/scale/etc.) made in the filter chain.

| 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.

| The following option is only available in development ver- sions of XviD 1.1.x.

| bvhq=<0|1>

| This setting allows vector candidates for B-frames to be used for the encoding chosen using a rate distortion optimized operator, which is what is done for P-frames by the vhq option. This produces nicer-looking B-frames while incurring almost no performance penalty (default: 1).

| x264enc (-x264encopts)

| bitrate=<value>

| Sets the average bitrate to be used in kbits/second (default: off). Since local bitrate may vary, this average may be inaccurate for very short videos (see ratetol). Constant bitrate can be achieved by combining this with vbv_maxrate, at significant re- duction in quality.

| qp_constant=<0-51>

| This selects the quantizer to use for P-frames. I- and B-frames are offset from this value by ip_fac- tor and pb_factor, respectively. 20-40 is a useful range (default: 26). Lower values result in better fidelity, but higher bitrates. 0 is lossless. Note that quantization in H.264 works differently from MPEG-1/2/4: H.264's quantization parameter (QP) is on a logarithmic scale. The mapping is ap- proximately H264QP = 12 + 6*log2(MPEGQP). For ex- ample, MPEG at QP=2 is equivalent to H.264 at QP=18.

| pass=<1-3>

| Enable 2 or 3-pass mode. It is recommended to al- ways encode in 2 or 3-pass mode as it leads to a better bit distribution and improves overall quali- ty.

| 1

| first pass

| 2

| second pass (of two pass encoding)

| 3

| Nth pass (second and third passes of three pass encoding)

| Here is how it works, and how to use it: The first pass (pass=1) collects statistics on the video and writes them to a file. You might want to deactivate some CPU-hungry options, apart from the ones that are on by default. In two pass mode, the second pass (pass=2) reads the stats file and bases ratecontrol decisions on it. In three pass mode, the second pass (pass=3, that is not a typo) does both: It first reads the stats, then overwrites them. You can use all encoding op- tions, except very CPU-hungry options. The third pass (pass=3) is the same as the second pass, except that it has the second pass' stats to work from. You can use all encoding options, in- cluding CPU-hungry ones. The first pass may use either average bitrate or constant quantizer. ABR is recommended, since it doesn't require guessing a quantizer. Subsequent passes are ABR, and must specify bitrate. NOTE: x264 three pass support being quite recent in MEncoder, we welcome any feedback you could give us on good combinations of x264 options that are both fast and provide good quality.

| keyint=<value>

| Sets maximum interval between IDR-frames (default: 250). Larger values save bits, thus improve quali- ty, at the cost of seeking precision. Unlike MPEG-1/2/4, H.264 does not suffer from DCT drift with large values of keyint.

| keyint_min=<1-keyint/2>

| Sets minimum interval between IDR-frames (default: 25). If scenecuts appear within this interval, they are still encoded as I-frames, but do not start a new GOP. In H.264, I-frames do not neces- sarily 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 refer- ring to any frame prior to the IDR-frame.

| scenecut=<-1-100>

| Controls how aggressively to insert extra I-frames (default: 40). With small values of scenecut, the codec often has to force an I-frame when it would exceed keyint. Good values of scenecut may find a better location for the I-frame. Large values use more I-frames than necessary, thus wasting bits. -1 disables scene-cut detection, so I-frames are inserted only once every other keyint frames, even if a scene-cut occurs earlier. This isn't recom- mended and wastes bitrate as scenecuts encoded as P-frames are just as big as I-frames, but don't re- set the "keyint counter".

| frameref=<1-16>

| Number of previous frames used as predictors in B- and P-frames (default: 1). This is effective in anime, but in live-action material the improvements usually drop off very rapidly above 6 or so refer- ence frames. This has no effect on decoding speed, but does increase the memory needed for decoding. Some decoders can only handle a maximum of 15 ref- erence frames.

| bframes=<0-16>

| maximum number of consecutive B-frames between I- and P-frames (default: 0)

| (no)b_adapt

| Automatically decides when to use B-frames and how many, up to the maximum specified above (default: on). If this option is disabled, then the maximum number of B-frames is used.

| b_bias=<-100-100>

| Controls the decision performed by b_adapt. A higher b_bias produces more B-frames (default: 0).

| (no)b_pyramid

| Allows B-frames to be used as references for pre- dicting other frames. For example, consider 3 con- secutive B-frames: I0 B1 B2 B3 P4. Without this option, B-frames follow the same pattern as MPEG-[124]. So they are coded in the order I0 P4 B1 B2 B3, and all the B-frames are predicted from I0 and P4. With this option, they are coded as I0 P4 B2 B1 B3. B2 is the same as above, but B1 is predicted from I0 and B2, and B3 is predicted from B2 and P4. This usually results in slightly im- proved compression, at almost no speed cost. How- ever, this is an experimental option: it is not fully tuned and may not always help. Requires bframes >= 2. Disadvantage: increases decoding de- lay to 2 frames.

| (no)deblock

| Use deblocking filter (default: on). As it takes very little time compared to its quality gain, it's not recommended to disable it.

| deblockalpha=<-6-6>

| AlphaC0 parameter of deblocking filter (default: 0). This adjusts thresholds for the H.264 in-loop deblocking filter. First, this parameter adjusts the maximum amount of change that the filter is al- lowed 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. The default behavior of the filter almost always achieves optimal quality, so it is best to either leave it alone, or make only small adjustments. However, if your source material already has some blocking or noise which you would like to remove, it may be a good idea to turn it up a little bit.

| deblockbeta=<-6-6>

| Beta parameter of deblocking filter (default: 0). Affects the detail threshold. Very detailed blocks are not filtered, since the smoothing caused by the filter would be more noticeable than the original blocking.

| (no)cabac

| Use CABAC (Context-Adaptive Binary Arithmetic Cod- ing) (default: on). Slightly slows down encoding and decoding, but should save 10-15% bitrate. Un- less you are looking for decoding speed, you should not disable it.

| qp_min=<1-51> (ABR or two pass)

| Minimum quantizer, 10-30 seems to be a useful range (default: 10).

| qp_max=<1-51> (ABR or two pass)

| maximum quantizer (default: 51)

| qp_step=<1-50> (ABR or two pass)

| maximum value by which the quantizer may be incre- mented/decremented between frames (default: 2)

| ratetol=<0.1-100.0> (ABR or two pass)

| allowed variance in average bitrate (no particular units) (default: 1.0)

| vbv_maxrate=<value> (ABR or two pass)

| maximum local bitrate, in kbits/second (default: disabled)

| vbv_bufsize=<value> (ABR or two pass)

| averaging period for vbv_maxrate, in kbits (de- fault: none, must be specified if vbv_maxrate is enabled)

| vbv_init=<0.0-1.0> (ABR or two pass)

| initial buffer occupancy, as a fraction of vbv_buf- size (default: 0.9)

| ip_factor=<value>

| quantizer factor between I- and P-frames (default: 1.4)

| pb_factor=<value>

| quantizer factor between P- and B-frames (default: 1.3)

| qcomp=<0-1> (ABR or two pass)

| quantizer compression (default: 0.6). A lower val- ue makes the bitrate more constant, while a higher value makes the quantization parameter more con- stant.

| cplx_blur=<0-999> (two pass only)

| Temporal blur of the estimated frame complexity, before curve compression (default: 20). Lower val- ues allow the quantizer value to jump around more, higher values force it to vary more smoothly. cplx_blur ensures that each I-frame has quality comparable to the following P-frames, and ensures that alternating high and low complexity frames (e.g. low fps animation) do not waste bits on fluc- tuating quantizer.

| qblur=<0-99> (two pass only)

| Temporal blur of the quantization parameter, after curve compression (default: 0.5). Lower values al- low the quantizer value to jump around more, higher values force it to vary more smoothly.

| zones=<zone0>[/<zone1>[/...]]

| User specified quality for specific parts (ending, credits, ...) (ABR or two pass). Each zone is <start-frame>,<end-frame>,<option> where option may be

| q=<0-51>

| quantizer

| b=<0.01-100.0>

| bitrate multiplier

| NOTE: The quantizer option is not strictly en- forced. It affects only the planning stage of ratecontrol, and is still subject to overflow com- pensation and qp_min/qp_max.

| direct_pred=<0-2>

| Determines the type of motion prediction used for direct macroblocks in B-frames.

| 0

| None: direct macroblocks are not used.

| 1

| Spatial: motion vectors are extrapolated from neighboring blocks.

| 2

| Temporal: motion vectors are interpolated from the following P-frame. (default)

| Spatial and temporal are approximately the same speed and PSNR, but temporal often looks better. direct_pred=0 is both slower and lower quality.

| (no)weight_b

| Use weighted prediction in B-frames. Without this option, bidirectionally predicted macroblocks give equal weight to each reference frame. With this option, the weights are determined by the temporal position of the B-frame relative to the references. Requires bframes > 1.

| (no)i4x4

| Use additional macroblock type i4x4 (default: en- abled). Without this option, P- and B-frames will use only i16x16 and the inter types specified be- low.

| (no)i8x8

| Use additional macroblock type i8x8 (default: en- abled). This option has no effect unless 8x8dct is enabled.

| (no)b8x8mv

| Use additional macroblock types b16x8, b8x16, b8x8 (default: enabled). Without this option, B-frames will use only types i16x16, i8x8, i4x4, b16x16, skip, direct. See 4x4mv for details.

| (no)8x8mv

| Use additional macroblock types p16x8, p8x16, p8x8 (default: enabled). Without this option, P-frames will use only types i16x16, i8x8, i4x4, p16x16, skip. This option is provided for experimentation only. It is not recommended to disable 8x8mv in a real encode.

| (no)4x4mv

| Use additional macroblock types p8x4, p4x8, p4x4 (default: disabled). Without this option, P-frames will use only types i16x16, i8x8, i4x4, p16x16, p16x8, p8x16, p8x8, skip. Requires 8x8mv. The idea is to find the type and size that best de- scribe a certain area of the picture. For example, a global pan is better represented by 16x16 blocks, while small moving objects are better represented by smaller blocks. 4x4mv is recommended only with subq >= 3.

| (no)8x8dct

| Adaptive spatial transform size: allows macroblocks to choose between 4x4 and 8x8 DCT. Also allows the i8x8 macroblock type. Without this option, only 4x4 DCT is used.

| me=<1-4>

| Select fullpixel motion estimation algorithm.

| 1

| diamond search, radius 1 (fast)

| 2

| hexagon search, radius 2 (default)

| 3

| uneven multi-hexagon search

| 4

| exhaustive search (very slow)

| me_range=<4-64>

| radius of exhaustive or multi-hexagon motion search (default: 16)

| subq=<1-6>

| Adjust subpel refinement quality. This parameter controls quality versus speed tradeoffs involved in the motion estimation decision process. subq=5 can compress up to 10% better than subq=1.

| 1: Runs fullpixel precision motion estimation on all candidate macroblock types. Then selects the best type. Then refines the motion of that type to fast quarterpixel precision (fastest). 2: As 1, but uses a slower quarterpixel refine- ment. 3: Runs halfpixel precision motion estimation on all candidate macroblock types. Then selects the best type. Then refines the motion of that type to quarterpixel precision. 4: Runs fast quarterpixel precision motion esti- mation on all candidate macroblock types. Then selects the best type. Then finishes the quar- terpixel refinement for that type. 5: Runs best quality quarterpixel precision mo- tion estimation on all candidate macroblock types, before selecting the best type. (de- fault) 6: Enables rate-distortion optimization of mac- roblock types in I- and P-frames. (best)

| In the above, "all candidates" doesn't exactly mean all enabled types: 4x4, 4x8, 8x4 are tried only if 8x8 is bet- ter than 16x16.

| (no)chroma_me

| Takes into account chroma information during sub- pixel motion search (default: enabled). Requires subq>=5.

| chroma_qp_offset=<-12-12>

| Use a different quantizer for chroma as compared to luma. Useful values are in the range <-2-2> (de- fault: 0).

| level_idc=<10-51>

| Set the bitstream's Level as defined by Annex A of the H.264 standard (default: 40 - Level 4.0). This is used for telling the decoder what capabilities it needs to support. Use this parameter only if you know what it means, and you have a need to set it.

| threads=<1-4>

| Split each frame into slices and encode them in parallel (default: 1). Also allows multithreaded decoding if the decoder supports it (lavc does not). This has a slight penalty to compression. Requires that libx264 was compiled with pthread support; if not, this option will produce a warning and enable slices but not multithreading.

| log=<-1-3>

| Adjust the amount of logging info printed to the screen.

| -1: none 0: Print errors only. 1: warnings 2: PSNR and other analysis stats when the en- code finishes (default) 3: PSNR, QP, frametype, size, and other stats for every frame

| (no)psnr

| Print signal-to-noise ratio statistics. NOTE: The 'Y', 'U', 'V', and 'Avg' PSNR fields in the summary are not mathematically sound (they are simply the average of per-frame PSNRs). They are kept only for comparison to the JM reference codec. For all other purposes, please use either the 'Global' PSNR, or the per-frame PSNRs printed by log=3.

| MPEG muxer (-mpegopts)

| The MPEG muxer can generate 5 types of streams, each of which has reasonable default parameters that the user can override. Generally, when generating MPEG files, it is advisable to disable MEncoder's frame-skip code (see -noskip, -mc as well as the harddup and softskip video filters).

| format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd>

| stream format (default: mpeg2)

| size=<up to 65535>

| Pack size in bytes, do not change unless you know exactly what you are doing (default: 2048).

| muxrate=<int>

| Nominal muxrate in kbit/s used in the pack headers (default: 1800 kb/s). Will be updated as necessary in the case of 'format=mpeg1' or 'mpeg2'.

| tsaf

| Sets timestamps on all frames, if possible.

| (no)reorder

| Enables the frame reordering code, that stores frames in decoding (rather than display) order (de- fault: disabled). Use it only if you believe the video frames in the original stream were stored in- correctly. Works only with MPEG-1/2 video.

| init_vpts=<100-700>

| initial video pts, in milliseconds (default: 200)

| init_apts=<100-700>

| initial audio pts, in milliseconds (default: 200)

| vdelay=<1-32760>

| Initial video delay time, in milliseconds (default: 0), use it if you want to delay video with respect to audio.

| drop

| When used with init_adelay the muxer drops the part of audio that was anticipated.

| vwidth, vheight=<1-4095>

| Set the video width and height when video is MPEG-1/2.

| vpswidth, vpsheight=<1-4095>

| Set pan and scan video width and height when video is MPEG-2.

| vaspect=<1 | 4/3 | 16/9 | 221/100>

| Sets the aspect ratio for MPEG-1/2 video.

| vbitrate=<int>

| Sets the video bitrate in kbit/s for MPEG-1/2 video.

| vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >

| Sets the framerate for MPEG-1/2 video. This option will be ignored if used with the telecine option.

| telecine

| Enables soft telecine mode: the muxer will trick the video stream so as to make it look like encoded at 30000/1001 or 30 fps; it only works with MPEG-2 video when the output framerate, eventually con- verted with -ofps, is either 24000/1001 or 24 fps. Any other framerate is incompatible with this op- tion.

| FFmpeg libavformat muxers (-lavfopts)

| format=<container_format>

| Override which container format to mux into (de- fault: autodetect from output file extension).

## FILES

| /usr/local/etc/mplayer/mplayer.conf

| system-wide settings

| ~/.mplayer/config

| user settings

| ~/.mplayer/input.conf

| input bindings (see '-input keylist' for the full list)

| ~/.mplayer/gui.conf

| GUI configuration file

| ~/.mplayer/gui.pl

| GUI playlist

| ~/.mplayer/font/

| font directory (There must be a font.desc file and files with .RAW extension.)

| ~/.mplayer/DVDkeys/

| cached CSS keys

| Assuming that /path/to/movie.avi is played, MPlayer searches for sub files

| in this order: /path/to/movie.sub ~/.mplayer/sub/movie.sub ~/.mplayer/default.sub

## EXAMPLES OF MPLAYER USAGE

| Quickstart DVD playing:

| mplayer dvd://1

| Play in Japanese with English subtitles:

| mplayer dvd://1 -alang ja -slang en

| Play only chapters 5, 6, 7:

| mplayer dvd://1 -chapter 5-7

| Play only titles 5, 6, 7:

| mplayer dvd://5-7

| Play a multiangle DVD:

| mplayer dvd://1 -dvdangle 2

| Play from a different DVD device:

| mplayer dvd://1 -dvd-device /dev/dvd2

| Play DVD video from a directory with VOB files:

| mplayer dvd://1 -dvd-device /path/to/directory/

| Copy a DVD title to hard disk, saving to file ti- tle1.vob :

| mplayer dvd://1 -dumpstream -dumpfile title1.vob

| Stream from HTTP:

| mplayer http://mplayer.hq/example.avi

| Stream using RTSP:

| mplayer rtsp://server.example.com/streamName

| Convert subtitles to MPsub format:

| mplayer dummy.avi -sub source.sub -dumpmpsub

| 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

| input from standard V4L:

| mplayer tv:// -tv driv- er=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv

| Playback on Zoran cards (old style, deprecated):

| mplayer -vo zr -vf scale=352:288 file.avi

| Playback on Zoran cards (new style):

| mplayer -vo zr2 -vf scale=352:288,zrmjpeg file.avi

| Play a 6-channel AAC file with only two speakers:

| mplayer -rawaudio on:format=0xff -af pan=6:.32:.39:.06:.17:-.17:.33:.32:.06:.39:-.17:.17:.33 adts_he-aac160_51.aac You might want to play a bit with the pan values (e.g multiply with a value) to increase volume or avoid clipping.

## EXAMPLES OF MENCODER USAGE

| Encode DVD title #2, only selected chapters:

| mencoder dvd://2 -chapter 10-15 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4

| Encode DVD title #2, resizing to 640x480:

| mencoder dvd://2 -vf scale=640:480 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4

| Encode DVD title #2, resizing to 512xHHH (keep as- pect ra- tio):

| mencoder dvd://2 -vf scale -zoom -xy 512 -o ti- tle2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4

| 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

| The same, but with MJPEG compression:

| mencoder dvd://2 -o titel2.avi -ovc lavc -lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800 -oac copy

| Encode all *.jpg files in the current dir:

| mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4

| Encode from a tuner (specify a format with -vf format):

| mencoder -tv driver=v4l:width=640:height=480 tv:// -o tv.avi -ovc raw

| Encode from a pipe:

| rar p test-SVCD.rar | mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800 -ofps 24 -

## BUGS

| Don't panic. If you find one, report it to us, but please make sure you have read all of the documentation first. Also look out for smileys. :) Many bugs are the result of incorrect setup or parameter usage. The bug reporting section of the documentation (DOCS/HTML/en/bugre- ports.html) explains how to create useful bug reports.

## AUTHORS

| MPlayer was initially written by Arpad Gereöffy. See the AUTHORS file for a list of some of the many other contrib- utors.

| MPlayer is (C) 2000-2005 The MPlayer Team

| This man page was written mainly by Gabucino, Jonas Jer- mann and Diego Biurrun. It is maintained by Diego Biur- run. Please send mails about it to the MPlayer-DOCS mail- ing list. Translation specific mails belong on the MPlay- er-translations mailing list.