neulab/tldr huggingface dataset:
pullup[=jl:jr:jt:jb:sb:mp] Third-generation pulldown reversal (inverse telecine) filter, capable of handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive content.  The pullup filter is designed to be much more robust than detc or ivtc, by taking advantage of future context in making its decisions.  Like ivtc, pullup is stateless in the sense that it does not lock onto a pattern to follow, but it instead looks forward to the following fields in order to identify matches and rebuild progressive frames.  It is still under development, but believed to be quite accurate.
jl, jr, jt, and jb These options set the amount of "junk" to ignore at the left, right, top, and bottom of the image, respectively. Left/right are in units of 8 pixels, while top/bottom are in units of 2 lines.  The default is 8 pixels on each side.
sb (strict breaks) Setting this option to 1 will reduce the chances of pullup generating an occasional mismatched frame, but it may also cause an excessive number of frames to be dropped during high motion sequences.  Conversely, setting it to -1 will make pullup match fields more easily.  This may help processing of video where there is slight blurring between the fields, but may also cause there to be interlaced frames in the output.
mp (metric plane) This option may be set to 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 decrease accuracy, especially if there is chroma noise (rainbow effect) or any grayscale video.  The main purpose of setting mp to a chroma plane is to reduce CPU load and make pullup usable in realtime on slow machines.
NOTE: Always follow pullup with the softskip filter when encoding to ensure that pullup is able to see each frame.  Failure to do so will lead to incorrect output and will usually crash, due to design limitations in the codec/filter layer.
filmdint[=options] Inverse telecine filter, similar to the pullup filter above.  It is designed to handle any pulldown pattern, including mixed soft and hard telecine and limited support for movies that are slowed down or sped up from their original framerate for TV.  Only the luma plane is used to find the frame breaks.  If a field has no match, it is deinterlaced with simple linear approximation.  If the source is MPEG-2, this must be the first filter to allow access to the field-flags set by the MPEG-2 decoder.  Depending on the source MPEG, you may be fine ignoring this advice, as long as you do not see lots of "Bottom-first field" warnings.  With no options it does normal inverse telecine, and should be used together with mencoder -fps 30000/1001 -ofps 24000/1001.  When this filter is used with MPlayer, it will result in an uneven framerate during playback, but it is still generally better than using pp=lb or no deinterlacing at all.  Multiple options can be specified separated by /.
crop=<w>:<h>:<x>:<y> Just like the crop filter, but faster, and works on mixed hard and soft telecined content as well as when y is not a multiple of 4.  If x or y would require cropping fractional pixels from the chroma planes, the crop area is extended.  This usually means that x and y must be even.
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 functions, if n=2, use 3DNow!  optimized functions, otherwise, use plain C.  If this option 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 REPEAT_FIRST_FIELD MPEG flag is assumed to be progressive, thus filter will not spend any time on soft-telecined MPEG-2 content.  This is the only effect of this flag if MMX2 or 3DNow! is available.  Without MMX2 and 3DNow, if n=0 or 1, the same calculations will be used as with n=2 or 3.  If n=2 or 3, the number of luma levels used to find the frame breaks is reduced from 256 to 128, which results in a faster filter without losing much accuracy.  If n=4 or 5, a faster, but much less accurate metric will be used to find the frame breaks, which is more likely to misdetect high vertical detail as interlaced content.
verbose=<n> If n is nonzero, print the detailed metrics for each frame.  Useful for debugging.
dint_thres=<n> Deinterlace threshold.  Used during de-interlacing of unmatched frames.  Larger value means less deinterlacing, use n=256 to completely turn off deinterlacing.  Default is n=8.
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, default 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 duplicated.  This filter is intended to find and drop those duplicates and restore the original film framerate.  When using this filter, you must specify -ofps that is 4/5 of the fps of the input file and place the softskip later in the filter chain to make sure that divtc sees all the frames.  Two different modes are available: One pass mode is the default and is straightforward to use, but has the disadvantage that any changes in the telecine phase (lost frames or bad edits) cause momentary judder until the filter can resync again.  Two pass mode avoids this by analyzing the 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 pattern must have for the filter to believe in it (default: 0.5).  This is used to avoid recognizing false pattern from the parts of the video that are very dark or very still.
window=<numframes> Set the number of past frames to look at when searching for pattern (default: 30).  Longer window improves the reliability of the pattern search, but shorter window improves the reaction time to the changes in the telecine phase.  This only affects the one pass mode.  The two pass mode currently uses fixed window that extends to both future and past.
phase=0|1|2|3|4 Sets the initial telecine phase for one pass mode (default: 0).  The two pass mode can see the future, so it is able to use the correct phase from the beginning, but one pass mode can only guess.  It catches the correct phase when it finds it, but this option can be used to fix the possible juddering at the beginning.  The first pass of the two pass mode also uses this, so if you save the output from the first pass, you get constant phase result.
deghost=<value> Set the deghosting threshold (0-255 for one pass mode, -255-255 for two pass mode, default 0).  If nonzero, deghosting mode is used.  This is for video that has been deinterlaced by blending the fields together instead of dropping one of the fields.  Deghosting amplifies any compression artifacts in the blended frames, so the parameter value is used as a threshold to exclude those pixels from deghosting that differ from the previous frame less than specified value.  If two pass mode is used, then negative value can be used to make the filter analyze the whole video in the beginning of pass-2 to determine whether it needs deghosting or not and then select either zero or the absolute value of the parameter.  Specify this option for pass-2, it makes no difference on pass-1.
phase[=t|b|p|a|u|T|B|A|U][:v] Delay interlaced video by one field time so that the field order changes.  The intended use is to fix PAL movies that have been captured with the opposite field order to the film-to-video transfer.  The options are:
t    Capture field order top-first, transfer bottom-first. Filter will delay the bottom field.
b    Capture bottom-first, transfer top-first.  Filter will delay the top field.
p    Capture and transfer with the same field order.  This mode only exists for the documentation of the other options to refer to, but if you actually select it, the filter will faithfully do nothing ;-)
a    Capture field order determined automatically by field flags, transfer opposite.  Filter selects among t and b modes on a frame by frame basis using field flags.  If no field information is available, then this works just like u.
u    Capture unknown or varying, transfer opposite.  Filter selects among t and b on a frame by frame basis by analyzing the images and selecting the alternative that produces best match between the fields.
T    Capture top-first, transfer unknown or varying.  Filter selects among t and p using image analysis.
B    Capture bottom-first, transfer unknown or varying.  Filter selects among b and p using image analysis.
A    Capture determined by field flags, transfer unknown or varying.  Filter selects among t, b and p using field flags and image analysis.  If no field information is available, then this works just like U.  This is the default mode.
U    Both capture and transfer unknown or varying.  Filter selects among t, b and p using image analysis only.
v    Verbose operation.  Prints the selected mode for each frame and the average squared difference between fields for t, b, and p alternatives.
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 parameter tells the filter where in the telecine pattern 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 unchanged. 4    Interleave even lines from even frames with odd lines from odd frames.  Height unchanged at half framerate.
tfields[=mode[:field_dominance]] Temporal field separation - split fields into frames, doubling the output framerate.  Like the telecine filter, tfields might not work completely right unless used with MEncoder and both -fps and -ofps set to the desired (double) framerate! <mode> 0: Leave fields unchanged (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). <field_dominance> (DEPRECATED) -1: auto (default) Only works if the decoder exports the appropriate information and no other filters which discard that information come before tfields in the filter chain, otherwise it falls back to 0 (top field first). 0: top field first 1: bottom field first NOTE: This option will possibly be removed in a future version.  Use -field-dominance instead.
yadif=[mode[:field_dominance]] Yet another deinterlacing filter <mode> 0: Output 1 frame for each frame. 1: Output 1 frame for each field. 2: Like 0 but skips spatial interlacing check. 3: Like 1 but skips spatial interlacing check. <field_dominance> (DEPRECATED) Operates like tfields. NOTE: This option will possibly be removed in a future version.  Use -field-dominance instead.
mcdeint=[mode[:parity[:qp]]] Motion compensating deinterlacer.  It needs one field per frame as input and must thus be used together with tfields=1 or yadif=1/3 or equivalent. <mode> 0: fast 1: medium 2: slow, iterative motion estimation 3: extra slow, like 2 plus multiple reference frames <parity> 0 or 1 selects which field to use (note: no autodetection yet!). <qp> Higher values should result in a smoother motion vector field but less optimal individual vectors.
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[:radius: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 perpendicular 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.  Extracts 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 connecting 'mplayer -vf bmovl' to the controlling application)
FIFO commands are: RGBA32 width height xpos ypos alpha clear followed by width*height*4 Bytes of raw RGBA32 data. ABGR32 width height xpos ypos alpha clear followed by width*height*4 Bytes of raw ABGR32 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 "ALPHA 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 ALPHA-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 current line of MPlayer/MEncoder output on the screen, because it contains the time (in seconds) and frame number of the keyframe (You can use this information to split the AVI.).
If you call the filter with a numeric parameter 'step' then only one in every 'step' frames is rendered.
If you put an 'i' (lowercase) before the number then an 'I!' is printed (like the I parameter).
If you give only the i then nothing is done to the frames, only I! is printed.
tile=xtiles:ytiles:output:start:delta Tile a series of images into a single, bigger image.  If you omit a parameter or use a value less than 0, then the default value is used.  You can also stop when you 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.  Missing tiles are left blank.  You could, for example, write an 8 * 7 tile every 50 frames to have one image every 2 seconds @ 25 fps. <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 interpolation of the surrounding pixels.  Just set a rectangle covering the logo and watch it disappear (and sometimes something even uglier appear - your mileage may vary). <x>,<y> top left corner of the logo <w>,<h> width and height of the cleared rectangle <t>  Thickness of the fuzzy edge of the rectangle (added to w and h).  When set to -1, a green rectangle is drawn on the screen to simplify finding the right x,y,w,h parameters. file=<file> You can specify a text file to load the coordinates from. Each line must have a timestamp (in seconds, and in ascending order) and the "x:y:w:h:t" coordinates (t can be omitted).
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/logo_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 maxheight automatically to the values known for card/mode combo. For example, valid options are: dc10-PAL and buz-NTSC (default: 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 resulting MJPEG images to the original size.  The option fd instructs the filter to always perform the requested decimation (ugly).
screenshot=prefix Allows acquiring screenshots of the movie using slave mode commands that can be bound to keypresses.  See the slave mode documentation and the INTERACTIVE CONTROL section for details.  By default files named 'shotNNNN.png' will be saved in the working directory, using the first available number - no files will be overwritten.  Specify a prefix to change the name or location, e.g.  -vf screenshot=shots/now will save the files in the directory shots with nowNNNN.png as name.  The filter has no overhead when not used and accepts an arbitrary colorspace, so it is safe to add it to the configuration file.  Make sure that the screenshot filter is added after all other filters whose effect you want to record on the saved image.  E.g. it should be the last filter if you want to have an exact screenshot of what you see on the monitor.
ass Moves SSA/ASS subtitle rendering to an arbitrary point in the filter chain.  Only useful with the -ass option.
EXAMPLE: -vf ass,screenshot Moves SSA/ASS rendering before the screenshot filter. Screenshots taken this way will contain subtitles.
blackframe[=amount:threshold] Detect frames that are (almost) completely black.  Can be useful to detect chapter transitions or commercials.  Output lines consist of the frame number of the detected frame, the percentage of blackness, the frame type and the frame number of the last encountered keyframe.
<amount> Percentage of the pixels that have to be below the threshold (default: 98).
<threshold> Threshold below which a pixel value is considered black (default: 32).
stereo3d[=in:out] Stereo3d converts between different stereoscopic image formats.
<in> Stereoscopic image format of input. Possible values: sbsl or side_by_side_left_first side by side parallel (left eye left, right eye right) sbsr or side_by_side_right_first side by side crosseye (right eye left, left eye right) sbs2l or side_by_side_half_width_left_first side by side with half width resolution (left eye left, right eye right) sbs2r or side_by_side_half_width_right_first side by side with half width resolution (right eye left, left eye right) abl or above_below_left_first above-below (left eye above, right eye below) abl or above_below_right_first above-below (right eye above, left eye below) ab2l or above_below_half_height_left_first above-below with half height resolution (left eye above, right eye below) ab2r or above_below_half_height_right_first above-below with half height resolution (right eye above, left eye below)
<out> Stereoscopic image format of output. Possible values are all the input formats as well as: arcg or anaglyph_red_cyan_gray anaglyph red/cyan gray (red filter on left eye, cyan filter on right eye) arch or anaglyph_red_cyan_half_color anaglyph red/cyan half colored (red filter on left eye, cyan filter on right eye) arcc or anaglyph_red_cyan_color anaglyph red/cyan color (red filter on left eye, cyan filter on right eye) arcd or anaglyph_red_cyan_dubois anaglyph red/cyan color optimized with the least squares projection of dubois (red filter on left eye, cyan filter on right eye) agmg or anaglyph_green_magenta_gray anaglyph green/magenta gray (green filter on left eye, magenta filter on right eye) agmh or anaglyph_green_magenta_half_color anaglyph green/magenta half colored (green filter on left eye, magenta filter on right eye) agmc or anaglyph_green_magenta_color anaglyph green/magenta colored (green filter on left eye, magenta filter on right eye) aybg or anaglyph_yellow_blue_gray anaglyph yellow/blue gray (yellow filter on left eye, blue filter on right eye) aybh or anaglyph_yellow_blue_half_color anaglyph yellow/blue half colored (yellow filter on left eye, blue filter on right eye) aybc or anaglyph_yellow_blue_color anaglyph yellow/blue colored (yellow filter on left eye, blue filter on right eye) irl or interleave_rows_left_first Interleaved rows (left eye has top row, right eye starts on next row) irr or interleave_rows_right_first Interleaved rows (right eye has top row, left eye starts on next row) ml or mono_left mono output (left eye only) mr or mono_right mono output (right eye only) NOTE: To use either of the interleaved-rows output formats to display full-screen on a row-interleaved 3D display, you will need to scale the video to the correct height first using the "scale" filter, if it is not already the right height. Typically, that is 1080 rows (so use e.g.  "-vf scale=1440:1080,stereo3d=sbsl:irl" for a 720p side-by-side encoded movie).
gradfun[=strength[:radius]] Fix the banding artifacts that are sometimes introduced into nearly flat regions by truncation to 8bit colordepth. Interpolates the gradients that should go where the bands are, and dithers them.
This filter is designed for playback only.  Do not use it prior to lossy compression, because compression tends to lose the dither and bring back the bands.
<strength> Maximum amount by which the filter will change any one pixel.  Also the threshold for detecting nearly flat regions (default: 1.2).
<radius> Neighborhood to fit the gradient to.  Larger radius makes for smoother gradients, but also prevents the filter from modifying pixels near detailed regions (default: 16).
fixpts[=options] Fixes the presentation timestamps (PTS) of the frames.  By default, the PTS passed to the next filter is dropped, but the following options can change that:
print Print the incoming PTS.
fps=<fps> Specify a frame per second value.
start=<pts> Specify an initial value for the PTS.
autostart=<n> Uses the nth incoming PTS as the initial PTS.  All previous PTS are kept, so setting a huge value or -1 keeps the PTS intact.
autofps=<n> Uses the nth incoming PTS after the end of autostart to determine the framerate.
EXAMPLE: -vf fixpts=fps=24000/1001,ass,fixpts Generates a new sequence of PTS, uses it for ASS subtitles, then drops it.  Generating a new sequence is useful when the timestamps are reset during the program; this is frequent on DVDs.  Dropping it may be necessary to avoid confusing encoders.
NOTE: Using this filter together with any sort of seeking (including -ss and EDLs) may make demons fly out of your nose.
GENERAL ENCODING OPTIONS (MENCODER ONLY) -audio-delay <any floating-point number> Delays either audio or video by setting a delay field in the header (default: 0.0).  This does not delay either stream while encoding, but the player will see the delay field and compensate accordingly.  Positive values delay the audio, and negative values delay the video.  Note that this is the exact opposite of the -delay option.  For example, if a video plays correctly with -delay 0.2, you can fix the video with MEncoder by using -audio-delay -0.2.
Currently, this option only works with the default muxer (-of avi).  If you are using a different muxer, then you must use -delay instead.
-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).
-fafmttag <format> Can be used to override the audio format tag of the output file.
EXAMPLE: -fafmttag 0x55 Will have the output file contain 0x55 (mp3) as audio format tag.
-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 ratio with '-ovc copy'.
-frameno-file <filename> (DEPRECATED) Specify the name of the audio file with framenumber mappings created in the first (audio only) pass of a special three pass encoding mode. NOTE: Using this mode will most likely give you A-V desync.  Do not use it.  It is kept for backwards compatibility only and will possibly be removed in a future version.
-hr-edl-seek 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.
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 rendered when hardcoding subtitles onto a movie.
-noencodedups Do not attempt to encode duplicate frames in duplicate; always output zero-byte frames to indicate duplicates.  Zero-byte frames will be written anyway unless a filter or encoder capable of doing duplicate 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. If you want a default output filename, you can put this option in the MEncoder config file.
-oac <codec name> Encode with the given audio codec (no default set). NOTE: Use -oac help to get a list of available audio 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 container formats.
EXAMPLE: -of avi Encode to AVI. -of mpeg Encode to MPEG (also see -mpegopts). -of lavf Encode with libavformat muxers (also see -lavfopts). -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 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 subtitles.  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).
-force-key-frames <time>,<time>,... Force key frames at the specified timestamps, more precisely at the first frame after each specified time.
This option can be used to ensure that a seek point is present at a chapter mark or any other designated place in the output file.
The timestamps must be specified in ascending order.
Since MEncoder does not send timestamps along the filter chain, you probably need to use the fixpts filter for this option to work.
Not all codecs support forced key frames.  Currently, support is only implemented for the following encoders: lavc, x264, xvid.
CODEC SPECIFIC ENCODING OPTIONS (MENCODER ONLY) You can specify codec specific encoding parameters using the following syntax:
-<codec>opts <option1[=value1]:option2[=value2]:...>
Where <codec> may be: lavc, xvidenc, mp3lame, toolame, twolame, nuv, xvfw, faac, x264enc, mpeg, lavf.
mp3lame (-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.  Frequencies below the specified one will be cut off.  A value of -1 will disable filtering, a value of 0 will let LAME choose values automatically.
lowpassfreq=<freq> Set a lowpass filtering frequency in Hz.  Frequencies above the specified one will be cut off.  A value of -1 will disable filtering, a value of 0 will let LAME choose values automatically.
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 average bitrate. preset=extreme for people with extremely good hearing and similar equipment
toolame and twolame (-toolameopts and -twolameopts respectively) 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 kbps
mode=<stereo | jstereo | mono | dual> (default: mono for 1-channel audio, stereo otherwise)
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 exclusive with br)
object=<1-4> object type complexity 1    MAIN (default) 2    LOW 3    SSR 4    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 required or you will not be able to remux the audio stream later on.
lavc (-lavcopts) Many libavcodec (lavc for short) options are tersely documented.  Read the source for full details.
EXAMPLE: vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
o=<key>=<value>[,<key>=<value>[,...]] Pass AVOptions to libavcodec encoder.  Note, a patch to make the o= unneeded and pass all unknown options through the AVOption system is welcome.  A full list of AVOptions can be found in the FFmpeg manual.  Note that some AVOptions may conflict with MEncoder options.
EXAMPLE: o=bt=100k
acodec=<value> audio codec (default: mp2) ac3 Dolby Digital (AC-3) adpcm_* Adaptive PCM formats - see the HTML documentation for details. flac Free Lossless Audio Codec (FLAC) g726 G.726 ADPCM libfaac Advanced Audio Coding (AAC) - using FAAC libmp3lame MPEG-1 audio layer 3 (MP3) - using LAME mp2 MPEG-1 audio layer 2 (MP2) pcm_* PCM formats - see the HTML documentation for details. roq_dpcm Id Software RoQ DPCM sonic experimental simple lossy codec sonicls experimental simple lossless codec vorbis Vorbis wmav1 Windows Media Audio v1 wmav2 Windows Media Audio v2
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).  Additionally bit_exact disables several optimizations and thus should only be used for regression tests, which need binary identical files even if the encoder version changes.  This also suppresses the user_data header in MPEG-4 streams.  Do not use this option unless you know exactly what you are doing.
threads=<1-16> 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). asv1 ASUS Video v1 asv2 ASUS Video v2 dvvideo Sony Digital Video ffv1 FFmpeg's lossless video codec ffvhuff nonstandard 20% smaller HuffYUV using YV12 flv Sorenson H.263 used in Flash Video h261 H.261 h263 H.263 h263p H.263+ huffyuv HuffYUV libtheora Theora libx264 x264 H.264/AVC MPEG-4 Part 10 libxvid Xvid MPEG-4 Part 2 (ASP) ljpeg Lossless JPEG mjpeg Motion JPEG mpeg1video MPEG-1 video mpeg2video MPEG-2 video mpeg4 MPEG-4 (DivX 4/5) msmpeg4 DivX 3 msmpeg4v2 MS MPEG4v2 roqvideo ID Software RoQ Video rv10 an old RealVideo codec snow (also see: vstrict) FFmpeg's experimental wavelet-based codec svq1 Apple Sorenson Video 1 wmv1 Windows Media Video, version 1 (AKA WMV7) wmv2 Windows Media Video, version 2 (AKA WMV8)
vqmin=<1-31> minimum quantizer
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 encoding (default).
3    Recommended for h263(p)/msmpeg4.  The reason for preferring 3 over 2 is that 2 could lead to overflows. (This will be fixed for h263(p) by changing the quantizer per MB in the future, msmpeg4 cannot be fixed as it does not support that.)
lmin=<0.01-255.0> Minimum frame-level Lagrange multiplier for ratecontrol (default: 2.0).  Lavc will rarely use quantizers below the value of lmin. Lowering lmin will make lavc more likely to choose lower quantizers for some frames, but not lower than the value of vqmin. Likewise, raising lmin will make lavc less likely to choose low quantizers, even if vqmin would have allowed them.  You probably want to set lmin approximately equal to vqmin.  When adaptive quantization is in use, changing lmin/lmax may have less of an effect; see mblmin/mblmax.
lmax=<0.01-255.0> maximum Lagrange multiplier for ratecontrol (default: 31.0)
mblmin=<0.01-255.0> Minimum macroblock-level Lagrange multiplier for ratecontrol (default:2.0).  This parameter affects adaptive quantization options like qprd, lumi_mask, etc..
mblmax=<0.01-255.0> Maximum macroblock-level Lagrange multiplier for ratecontrol (default: 31.0).
vqscale=<0-31> Constant quantizer / constant quality encoding (selects fixed quantizer mode).  A lower value means better quality but larger files (default: -1).  In case of snow codec, value 0 means lossless encoding.  Since the other codecs do not support this, vqscale=0 will have an undefined effect.  1 is not recommended (see vqmin for details).
vqmax=<1-31> Maximum quantizer, 10-31 should be a sane range (default: 31).
vqdiff=<1-31> maximum quantizer difference between consecutive I- or P-frames (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 disabled) 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) 8    iter (iterative overlapped block, only used in snow)
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 (unlimited))
mbd=<0-2> (also see *cmp, qpel) 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.  When mbd is set to 1 or 2, the value of mbcmp is ignored when comparing macroblocks (the mbcmp value is still used in other places though, in particular the motion search algorithms).  If any comparison setting (precmp, subcmp, cmp, or mbcmp) is nonzero, however, a slower but better half-pel motion search will be used, regardless of what mbd is set to.  If qpel is set, quarter-pel motion search will be used regardless. 0    Use comparison function given by 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
keyint=<0-300> maximum interval between keyframes in frames (default: 250 or one keyframe every ten seconds in a 25fps movie.  This is the recommended default for MPEG-4).  Most codecs require regular keyframes in order to limit the accumulation of mismatch error. Keyframes are also 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.  It is common for MPEG-1/2 to use values <=30.
sc_threshold=<-1000000000-1000000000> Threshold for scene change detection.  A keyframe is inserted by libavcodec when it detects a scene change.  You can specify the sensitivity of the detection with this option.  -1000000000 means there is a scene change detected at every frame, 1000000000 means no scene changes are detected (default: 0).
sc_factor=<any positive integer> Causes frames with higher quantizers to be more likely to trigger a scene change detection and make libavcodec use an I-frame (default: 1).  1-16 is a sane range.  Values between 2 and 6 may yield increasing PSNR (up to approximately 0.04 dB) and better placement of I-frames in high-motion scenes.  Higher values than 6 may give very slightly better PSNR (approximately 0.01 dB more than sc_factor=6), but noticably worse visual quality.
vb_strategy=<0-2> (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.  See the b_sensitivity option to tune this strategy. 2    Places B-frames more or less optimally to yield maximum quality (slower).  You may want to reduce the speed impact of this option by tuning the option brd_scale.
b_sensitivity=<any integer greater than 0> Adjusts how sensitively vb_strategy=1 detects motion and avoids using B-frames (default: 40).  Lower sensitivities will result in more B-frames.  Using more B-frames usually improves PSNR, but too many B-frames can hurt quality in high-motion scenes.  Unless there is an extremely high amount of motion, b_sensitivity can safely be lowered below the default; 10 is a reasonable value in most cases.
brd_scale=<0-10> Downscales frames for dynamic B-frame decision (default: 0).  Each time brd_scale is increased by one, the frame dimensions are divided by two, which improves speed by a factor of four.  Both dimensions of the fully downscaled frame must be even numbers, so brd_scale=1 requires the original dimensions to be multiples of four, brd_scale=2 requires multiples of eight, etc.  In other words, the dimensions of the original frame must both be divisible by 2^(brd_scale+1) with no remainder.
bidir_refine=<0-4> Refine the two motion vectors used in bidirectional macroblocks, rather than re-using vectors from the forward and backward searches.  This option has no effect without B-frames. 0    Disabled (default). 1-4  Use a wider search (larger values are slower).
vpass=<1-3> Activates internal two (or more) pass mode, only specify if you wish to use two (or more) pass encoding. 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 statistics file.  You might want to deactivate some CPU-hungry options, like "turbo" mode does. In two pass mode, the second pass (vpass=2) reads the statistics 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 statistics, then overwrites them.  You might want to backup divx2pass.log before doing this if there is any possibility 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 statistics 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 algorithms and disabling CPU-intensive options.  This will probably reduce global PSNR a little bit (around 0.01dB) and change individual frame type and PSNR a 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 computes aspect, taking into account all the adjustments (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 (default: 800). WARNING: 1kbit = 1000 bits 4-16000 (in kbit) 16001-24000000 (in bit)
vratetol=<value> approximated file size 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 (default: 0, unlimited)
vrc_minrate=<value> minimum bitrate in kbit/sec (default: 0, unlimited)
vrc_buf_size=<value> buffer size in kbit 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 Ratecontrol method.  Note that some of the ratecontrol-affecting options will have no effect if vrc_strategy is not set to 0. 0    Use internal lavc ratecontrol (default). 1    Use Xvid ratecontrol (experimental; requires MEncoder to be compiled with support for Xvid 1.1 or higher).
vb_qfactor=<-31.0-31.0> quantizer factor between B- and non-B-frames (default: 1.25)
vi_qfactor=<-31.0-31.0> quantizer factor between I- and non-I-frames (default: 0.8)
vb_qoffset=<-31.0-31.0> quantizer offset between B- and non-B-frames (default: 1.25)
vi_qoffset=<-31.0-31.0> (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 different quantizers for I/P- and B-frames you can use: lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/ip_quant>.