]> git.sesse.net Git - ffmpeg/blobdiff - doc/filters.texi
Merge commit '38f0c0781a6e099f11c0acec07f9b8be742190c4'
[ffmpeg] / doc / filters.texi
index 01380bc3f7e8ee2e0afc9cc1850e83423893a167..d3777efc4f2f1e72f61bf57591fc6012027e05e9 100644 (file)
@@ -117,7 +117,7 @@ A filtergraph can be represented using a textual representation, which is
 recognized by the @option{-filter}/@option{-vf} and @option{-filter_complex}
 options in @command{ffmpeg} and @option{-vf} in @command{ffplay}, and by the
 @code{avfilter_graph_parse()}/@code{avfilter_graph_parse2()} function defined in
-@file{libavfilter/avfiltergraph.h}.
+@file{libavfilter/avfilter.h}.
 
 A filterchain consists of a sequence of connected filters, each one
 connected to the previous one in the sequence. A filterchain is
@@ -137,7 +137,7 @@ The name of the filter class is optionally followed by a string
 "=@var{arguments}".
 
 @var{arguments} is a string which contains the parameters used to
-initialize the filter instance. It may have one of the two allowed forms:
+initialize the filter instance. It may have one of the following forms:
 @itemize
 
 @item
@@ -151,6 +151,12 @@ declares three options in this order -- @option{type}, @option{start_frame} and
 @var{in} is assigned to the option @option{type}, @var{0} to
 @option{start_frame} and @var{30} to @option{nb_frames}.
 
+@item
+A ':'-separated list of mixed direct @var{value} and long @var{key=value}
+pairs. The direct @var{value} must precede the @var{key=value} pairs, and
+follow the same constraints order of the previous point. The following
+@var{key=value} pairs can be set in any preferred order.
+
 @end itemize
 
 If the option value itself is a list of items (e.g. the @code{format} filter
@@ -277,6 +283,8 @@ Below is a description of the currently available audio filters.
 
 Convert the input audio format to the specified formats.
 
+@emph{This filter is deprecated. Use @ref{aformat} instead.}
+
 The filter accepts a string of the form:
 "@var{sample_format}:@var{channel_layout}".
 
@@ -452,6 +460,45 @@ slope
 Determine how steep is the filter's shelf transition.
 @end table
 
+@section telecine
+
+Apply telecine process to the video.
+
+This filter accepts the following options:
+
+@table @option
+@item first_field
+@table @samp
+@item top, t
+top field first
+@item bottom, b
+bottom field first
+The default value is @code{top}.
+@end table
+
+@item pattern
+A string of numbers representing the pulldown pattern you wish to apply.
+The default value is @code{23}.
+@end table
+
+@example
+Some typical patterns:
+
+NTSC output (30i):
+27.5p: 32222
+24p: 23 (classic)
+24p: 2332 (preferred)
+20p: 33
+18p: 334
+16p: 3444
+
+PAL output (25i):
+27.5p: 12222
+24p: 222222222223 ("Euro pulldown")
+16.67p: 33
+16p: 33333334
+@end example
+
 @section treble
 
 Boost or cut treble (upper) frequencies of the audio using a two-pole
@@ -610,9 +657,6 @@ Beware of clipping when using a positive gain.
 
 Apply fade-in/out effect to input audio.
 
-The filter accepts parameters as a list of @var{key}=@var{value}
-pairs, separated by ":".
-
 A description of the accepted parameters follows.
 
 @table @option
@@ -717,7 +761,7 @@ aformat=sample_fmts=u8|s16:channel_layouts=stereo
 
 Merge two or more audio streams into a single multi-channel stream.
 
-The filter accepts the following named options:
+The filter accepts the following options:
 
 @table @option
 
@@ -758,16 +802,9 @@ amovie=left.wav [l] ; amovie=right.mp3 [r] ; [l] [r] amerge
 @end example
 
 @item
-Multiple merges:
+Multiple merges assuming 1 video stream and 6 audio streams in @file{input.mkv}:
 @example
-ffmpeg -f lavfi -i "
-amovie=input.mkv:si=0 [a0];
-amovie=input.mkv:si=1 [a1];
-amovie=input.mkv:si=2 [a2];
-amovie=input.mkv:si=3 [a3];
-amovie=input.mkv:si=4 [a4];
-amovie=input.mkv:si=5 [a5];
-[a0][a1][a2][a3][a4][a5] amerge=inputs=6" -c:a pcm_s16le output.mkv
+ffmpeg -i input.mkv -filter_complex "[0:1][0:2][0:3][0:4][0:5][0:6] amerge=inputs=6" -c:a pcm_s16le output.mkv
 @end example
 @end itemize
 
@@ -860,8 +897,7 @@ The last output packet may contain a different number of samples, as
 the filter will flush all the remaining samples when the input audio
 signal its end.
 
-The filter accepts parameters as a list of @var{key}=@var{value} pairs,
-separated by ":".
+The filter accepts the following options:
 
 @table @option
 
@@ -957,7 +993,11 @@ will create 5 copies of the input audio.
 
 Forward two audio streams and control the order the buffers are forwarded.
 
-The argument to the filter is an expression deciding which stream should be
+The filter accepts the following options:
+
+@table @option
+@item expr, e
+Set the expression deciding which stream should be
 forwarded next: if the result is negative, the first stream is forwarded; if
 the result is positive or zero, the second stream is forwarded. It can use
 the following variables:
@@ -973,8 +1013,11 @@ current timestamp of each stream
 
 The default value is @code{t1-t2}, which means to always forward the stream
 that has a smaller timestamp.
+@end table
+
+@subsection Examples
 
-Example: stress-test @code{amerge} by randomly sending buffers on the wrong
+Stress-test @code{amerge} by randomly sending buffers on the wrong
 input, while avoiding too much of a desynchronization:
 @example
 amovie=file.ogg [a] ; amovie=file.mp3 [b] ;
@@ -1141,7 +1184,7 @@ silencedetect=n=-50dB:d=5
 Complete example with @command{ffmpeg} to detect silence with 0.0001 noise
 tolerance in @file{silence.mp3}:
 @example
-ffmpeg -f lavfi -i amovie=silence.mp3,silencedetect=noise=0.0001 -f null -
+ffmpeg -i silence.mp3 -af silencedetect=noise=0.0001 -f null -
 @end example
 @end itemize
 
@@ -1211,7 +1254,7 @@ This filter accepts the following named parameters:
 Channel layout of the output stream.
 
 @item map
-Map channels from input to output. The argument is a comma-separated list of
+Map channels from input to output. The argument is a '|'-separated list of
 mappings, each in the @code{@var{in_channel}-@var{out_channel}} or
 @var{in_channel} form. @var{in_channel} can be either the name of the input
 channel (e.g. FL for front left) or its index in the input channel layout.
@@ -1225,14 +1268,14 @@ output channels preserving index.
 
 For example, assuming a 5.1+downmix input MOV file
 @example
-ffmpeg -i in.mov -filter 'channelmap=map=DL-FL\,DR-FR' out.wav
+ffmpeg -i in.mov -filter 'channelmap=map=DL-FL|DR-FR' out.wav
 @end example
 will create an output WAV file tagged as stereo from the downmix channels of
 the input.
 
 To fix a 5.1 WAV improperly encoded in AAC's native channel order
 @example
-ffmpeg -i in.wav -filter 'channelmap=1\,2\,0\,5\,3\,4:channel_layout=5.1' out.wav
+ffmpeg -i in.wav -filter 'channelmap=1|2|0|5|3|4:channel_layout=5.1' out.wav
 @end example
 
 @section join
@@ -1248,7 +1291,7 @@ Number of input streams. Defaults to 2.
 Desired output channel layout. Defaults to stereo.
 
 @item map
-Map channels from inputs to output. The argument is a comma-separated list of
+Map channels from inputs to output. The argument is a '|'-separated list of
 mappings, each in the @code{@var{input_idx}.@var{in_channel}-@var{out_channel}}
 form. @var{input_idx} is the 0-based index of the input stream. @var{in_channel}
 can be either the name of the input channel (e.g. FL for front left) or its
@@ -1268,7 +1311,7 @@ ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join=inputs=3 OUTPUT
 To build a 5.1 output from 6 single-channel streams:
 @example
 ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
-'join=inputs=6:channel_layout=5.1:map=0.0-FL\,1.0-FR\,2.0-FC\,3.0-SL\,4.0-SR\,5.0-LFE'
+'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'
 out
 @end example
 
@@ -1397,11 +1440,14 @@ Buffer audio frames, and make them available to the filter chain.
 This source is mainly intended for a programmatic use, in particular
 through the interface defined in @file{libavfilter/asrc_abuffer.h}.
 
-It accepts the following mandatory parameters:
-@var{sample_rate}:@var{sample_fmt}:@var{channel_layout}
+It accepts the following named parameters:
 
 @table @option
 
+@item time_base
+Timebase which will be used for timestamps of submitted frames. It must be
+either a floating-point number or in @var{numerator}/@var{denominator} form.
+
 @item sample_rate
 The sample rate of the incoming audio buffers.
 
@@ -1426,7 +1472,7 @@ must be consistent.
 @subsection Examples
 
 @example
-abuffer=44100:s16p:stereo
+abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo
 @end example
 
 will instruct the source to accept planar 16bit signed stereo at 44100Hz.
@@ -1434,7 +1480,7 @@ Since the sample format with name "s16p" corresponds to the number
 6 and the "stereo" channel layout corresponds to the value 0x3, this is
 equivalent to:
 @example
-abuffer=44100:6:0x3
+abuffer=sample_rate=44100:sample_fmt=6:channel_layout=0x3
 @end example
 
 @section aevalsrc
@@ -1445,18 +1491,13 @@ This source accepts in input one or more expressions (one for each
 channel), which are evaluated and used to generate a corresponding
 audio signal.
 
-It accepts the syntax: @var{exprs}[::@var{options}].
-@var{exprs} is a list of expressions separated by ":", one for each
-separate channel. In case the @var{channel_layout} is not
-specified, the selected channel layout depends on the number of
-provided expressions.
-
-@var{options} is an optional sequence of @var{key}=@var{value} pairs,
-separated by ":".
-
-The description of the accepted options follows.
+This source accepts the following options:
 
 @table @option
+@item exprs
+Set the '|'-separated expressions list for each separate channel. In case the
+@option{channel_layout} option is not specified, the selected channel layout
+depends on the number of provided expressions.
 
 @item channel_layout, c
 Set the channel layout. The number of channels in the specified layout
@@ -1507,14 +1548,14 @@ aevalsrc=0
 Generate a sin signal with frequency of 440 Hz, set sample rate to
 8000 Hz:
 @example
-aevalsrc="sin(440*2*PI*t)::s=8000"
+aevalsrc="sin(440*2*PI*t):s=8000"
 @end example
 
 @item
 Generate a two channels signal, specify the channel layout (Front
 Center + Back Center) explicitly:
 @example
-aevalsrc="sin(420*2*PI*t):cos(430*2*PI*t)::c=FC|BC"
+aevalsrc="sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"
 @end example
 
 @item
@@ -1532,7 +1573,7 @@ aevalsrc="sin(10*2*PI*t)*sin(880*2*PI*t)"
 @item
 Generate 2.5 Hz binaural beats on a 360 Hz carrier:
 @example
-aevalsrc="0.1*sin(2*PI*(360-2.5/2)*t) : 0.1*sin(2*PI*(360+2.5/2)*t)"
+aevalsrc="0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"
 @end example
 
 @end itemize
@@ -1544,16 +1585,10 @@ as a template and to be employed in analysis / debugging tools, or as
 the source for filters which ignore the input data (for example the sox
 synth filter).
 
-It accepts an optional sequence of @var{key}=@var{value} pairs,
-separated by ":".
-
-The description of the accepted options follows.
+This source accepts the following options:
 
 @table @option
 
-@item sample_rate, s
-Specify the sample rate, and defaults to 44100.
-
 @item channel_layout, cl
 
 Specify the channel layout, and can be either an integer or a string
@@ -1564,6 +1599,9 @@ Check the channel_layout_map definition in
 @file{libavutil/channel_layout.c} for the mapping between strings and
 channel layout values.
 
+@item sample_rate, r
+Specify the sample rate, and defaults to 44100.
+
 @item nb_samples, n
 Set the number of samples per requested frames.
 
@@ -1621,10 +1659,7 @@ To enable compilation of this filter you need to configure FFmpeg with
 
 Note that the flite library is not thread-safe.
 
-The source accepts parameters as a list of @var{key}=@var{value} pairs,
-separated by ":".
-
-The description of the accepted parameters follows.
+The filter accepts the following options:
 
 @table @option
 
@@ -1685,11 +1720,7 @@ Generate an audio signal made of a sine wave with amplitude 1/8.
 
 The audio signal is bit-exact.
 
-It accepts a list of options in the form of @var{key}=@var{value} pairs
-separated by ":". If the option name is omitted, the first option is the
-frequency and the second option is the beep factor.
-
-The supported options are:
+The filter accepts the following options:
 
 @table @option
 
@@ -1824,9 +1855,7 @@ duration of the detected black interval expressed in seconds.
 In order to display the output lines, you need to set the loglevel at
 least to the AV_LOG_INFO value.
 
-This filter accepts a list of options in the form of
-@var{key}=@var{value} pairs separated by ":". A description of the
-accepted options follows.
+The filter accepts the following options:
 
 @table @option
 @item black_min_duration, d
@@ -1904,8 +1933,7 @@ It takes two input streams and outputs one stream, the first input is the
 "top" layer and second input is "bottom" layer.
 Output terminates when shortest input terminates.
 
-This filter accepts a list of options in the form of @var{key}=@var{value}
-pairs separated by ":". A description of the accepted options follows.
+A description of the accepted options follows.
 
 @table @option
 @item c0_mode
@@ -2373,8 +2401,9 @@ The filter accepts the following options:
 
 @table @option
 @item preset
-Select one of the available color presets. This option can not be used in
-addition to the @option{r}, @option{g}, @option{b} parameters.
+Select one of the available color presets. This option can be used in addition
+to the @option{r}, @option{g}, @option{b} parameters; in this case, the later
+options takes priority on the preset values.
 Available presets are:
 @table @samp
 @item none
@@ -2452,11 +2481,6 @@ The main use of this filter is for very-low-bitrate encoding
 (e.g. streaming over dialup modem), but it could in theory be used for
 fixing movies that were inverse-telecined incorrectly.
 
-The filter accepts parameters as a list of @var{key}=@var{value}
-pairs, separated by ":". If the key of the first options is omitted,
-the arguments are interpreted according to the syntax:
-@option{max}:@option{hi}:@option{lo}:@option{frac}.
-
 A description of the accepted options follows.
 
 @table @option
@@ -2532,16 +2556,14 @@ Attempt to fix small changes in horizontal and/or vertical shift. This
 filter helps remove camera shake from hand-holding a camera, bumping a
 tripod, moving on a vehicle, etc.
 
-The filter accepts parameters as a list of @var{key}=@var{value}
-pairs, separated by ":". If the key of the first options is omitted,
-the arguments are interpreted according to the syntax
-@var{x}:@var{y}:@var{w}:@var{h}:@var{rx}:@var{ry}:@var{edge}:@var{blocksize}:@var{contrast}:@var{search}:@var{filename}:@var{opencl}.
-
-A description of the accepted parameters follows.
+The filter accepts the following options:
 
 @table @option
 
-@item x, y, w, h
+@item x
+@item y
+@item w
+@item h
 Specify a rectangular area where to limit the search for motion
 vectors.
 If desired the search for motion vectors can be limited to a
@@ -2559,7 +2581,8 @@ without specifying the bounding box for the motion vector search.
 
 Default - search the whole frame.
 
-@item rx, ry
+@item rx
+@item ry
 Specify the maximum extent of movement in x and y directions in the
 range 0-64 pixels. Default 16.
 
@@ -3104,7 +3127,8 @@ Extract a single field from an interlaced image using stride
 arithmetic to avoid wasting CPU time. The output frames are marked as
 non-interlaced.
 
-This filter accepts the following named options:
+The filter accepts the following options:
+
 @table @option
 @item type
 Specify whether to extract the top (if the value is @code{0} or
@@ -3112,17 +3136,6 @@ Specify whether to extract the top (if the value is @code{0} or
 @code{bottom}).
 @end table
 
-If the option key is not specified, the first value sets the @var{type}
-option. For example:
-@example
-field=bottom
-@end example
-
-is equivalent to:
-@example
-field=type=bottom
-@end example
-
 @section fieldorder
 
 Transform the field order of the input video.
@@ -3232,10 +3245,14 @@ See also the @ref{setpts} filter.
 
 @section framestep
 
-Select one frame every N.
+Select one frame every N-th frame.
 
-This filter accepts in input a string representing a positive
-integer. Default argument is @code{1}.
+This filter accepts the following option:
+@table @option
+@item step
+Select frame after every @code{step} frames.
+Allowed values are positive integers higher than 0. Default value is @code{1}.
+@end table
 
 @anchor{frei0r}
 @section frei0r
@@ -3302,11 +3319,7 @@ For more information see:
 
 @section geq
 
-The filter takes one, two, three or four equations as parameter, separated by ':'.
-The first equation is mandatory and applies to the luma plane. The two
-following are respectively for chroma blue and chroma red planes.
-
-The filter syntax allows named parameters:
+The filter accepts the following options:
 
 @table @option
 @item lum_expr
@@ -3465,12 +3478,7 @@ viewed as an "automatically adjusting contrast filter". This filter is
 useful only for correcting degraded or poorly captured source
 video.
 
-The filter accepts parameters as a list of @var{key}=@var{value}
-pairs, separated by ":". If the key of the first options is omitted,
-the arguments are interpreted according to syntax
-@var{strength}:@var{intensity}:@var{antibanding}.
-
-This filter accepts the following named options:
+The filter accepts the following options:
 
 @table @option
 @item strength
@@ -3499,7 +3507,7 @@ Compute and draw a color distribution histogram for the input video.
 The computed histogram is a representation of distribution of color components
 in an image.
 
-The filter accepts the following named parameters:
+The filter accepts the following options:
 
 @table @option
 @item mode
@@ -3637,24 +3645,27 @@ a float number which specifies chroma temporal strength, defaults to
 
 Modify the hue and/or the saturation of the input.
 
-This filter accepts the following optional named options:
+This filter accepts the following options:
 
 @table @option
 @item h
-Specify the hue angle as a number of degrees. It accepts a float
-number or an expression, and defaults to 0.0.
-
-@item H
-Specify the hue angle as a number of radians. It accepts a float
-number or an expression, and defaults to 0.0.
+Specify the hue angle as a number of degrees. It accepts an expression,
+and defaults to "0".
 
 @item s
 Specify the saturation in the [-10,10] range. It accepts a float number and
-defaults to 1.0.
+defaults to "1".
+
+@item H
+Specify the hue angle as a number of radians. It accepts a float
+number or an expression, and defaults to "0".
 @end table
 
-The @var{h}, @var{H} and @var{s} parameters are expressions containing the
-following constants:
+@option{h} and @option{H} are mutually exclusive, and can't be
+specified at the same time.
+
+The @option{h}, @option{H} and @option{s} option values are
+expressions containing the following constants:
 
 @table @option
 @item n
@@ -3673,10 +3684,6 @@ timestamp expressed in seconds, NAN if the input timestamp is unknown
 time base of the input video
 @end table
 
-The options can also be set using the syntax: @var{hue}:@var{saturation}
-
-In this case @var{hue} is expressed in degrees.
-
 @subsection Examples
 
 @itemize
@@ -3692,19 +3699,6 @@ Same command but expressing the hue in radians:
 hue=H=PI/2:s=1
 @end example
 
-@item
-Same command without named options, hue must be expressed in degrees:
-@example
-hue=90:1
-@end example
-
-@item
-Note that "h:s" syntax does not support expressions for the values of
-h and s, so the following example will issue an error:
-@example
-hue=PI/2:1
-@end example
-
 @item
 Rotate hue and make the saturation swing between 0
 and 2 over a period of 1 second:
@@ -3740,12 +3734,15 @@ hue="s=max(0\, min(1\, (START+DURATION-t)/DURATION))"
 
 This filter supports the following command:
 @table @option
-@item reinit
+@item s
+@item h
+@item H
 Modify the hue and/or the saturation of the input video.
-The command accepts the same named options and syntax than when calling the
-filter from the command-line.
+The command accepts the same options and syntax of the corresponding
+options.
 
-If a parameter is omitted, it is kept at its current value.
+If the specified expression is not valid, it is kept at its current
+value.
 @end table
 
 @section idet
@@ -3755,6 +3752,15 @@ Detect video interlacing type.
 This filter tries to detect if the input is interlaced or progressive,
 top or bottom field first.
 
+The filter accepts the following options:
+
+@table @option
+@item intl_thres
+Set interlacing threshold.
+@item prog_thres
+Set progressive threshold.
+@end table
+
 @section il
 
 Deinterleave or interleave fields.
@@ -3765,8 +3771,7 @@ fields (so called half pictures). Odd lines are moved to the top
 half of the output image, even lines to the bottom half.
 You can process (filter) them independently and then re-interleave them.
 
-It accepts a list of options in the form of @var{key}=@var{value} pairs
-separated by ":". A description of the accepted options follows.
+The filter accepts the following options:
 
 @table @option
 @item luma_mode, l
@@ -3799,11 +3804,6 @@ Deinterlace input video by applying Donald Graft's adaptive kernel
 deinterling. Work on interlaced parts of a video to produce
 progressive frames.
 
-This filter accepts parameters as a list of @var{key}=@var{value}
-pairs, separated by ":". If the key of the first options is omitted,
-the arguments are interpreted according to the following syntax:
-@var{thresh}:@var{map}:@var{order}:@var{sharp}:@var{twoway}.
-
 The description of the accepted parameters follows.
 
 @table @option
@@ -4095,8 +4095,7 @@ noformat=yuv420p|yuv444p|yuv410p
 
 Add noise on video input frame.
 
-This filter accepts a list of options in the form of @var{key}=@var{value}
-pairs separated by ":". A description of the accepted options follows.
+The filter accepts the following options:
 
 @table @option
 @item all_seed
@@ -4609,6 +4608,13 @@ Subfilters must be separated by '/' and can be disabled by prepending a '-'.
 Each subfilter and some options have a short and a long name that can be used
 interchangeably, i.e. dr/dering are the same.
 
+The filters accept the following options:
+
+@table @option
+@item subfilters
+Set postprocessing subfilters string.
+@end table
+
 All subfilters share common options to determine their scope:
 
 @table @option
@@ -4625,12 +4631,12 @@ Do luminance filtering only (no chrominance).
 Do chrominance filtering only (no luminance).
 @end table
 
-These options can be appended after the subfilter name, separated by a ':'.
+These options can be appended after the subfilter name, separated by a '|'.
 
 Available subfilters are:
 
 @table @option
-@item hb/hdeblock[:difference[:flatness]]
+@item hb/hdeblock[|difference[|flatness]]
 Horizontal deblocking filter
 @table @option
 @item difference
@@ -4639,7 +4645,7 @@ Difference factor where higher values mean more deblocking (default: @code{32}).
 Flatness threshold where lower values mean more deblocking (default: @code{39}).
 @end table
 
-@item vb/vdeblock[:difference[:flatness]]
+@item vb/vdeblock[|difference[|flatness]]
 Vertical deblocking filter
 @table @option
 @item difference
@@ -4648,7 +4654,7 @@ Difference factor where higher values mean more deblocking (default: @code{32}).
 Flatness threshold where lower values mean more deblocking (default: @code{39}).
 @end table
 
-@item ha/hadeblock[:difference[:flatness]]
+@item ha/hadeblock[|difference[|flatness]]
 Accurate horizontal deblocking filter
 @table @option
 @item difference
@@ -4657,7 +4663,7 @@ Difference factor where higher values mean more deblocking (default: @code{32}).
 Flatness threshold where lower values mean more deblocking (default: @code{39}).
 @end table
 
-@item va/vadeblock[:difference[:flatness]]
+@item va/vadeblock[|difference[|flatness]]
 Accurate vertical deblocking filter
 @table @option
 @item difference
@@ -4681,7 +4687,7 @@ Experimental vertical deblocking filter
 @item dr/dering
 Deringing filter
 
-@item tn/tmpnoise[:threshold1[:threshold2[:threshold3]]], temporal noise reducer
+@item tn/tmpnoise[|threshold1[|threshold2[|threshold3]]], temporal noise reducer
 @table @option
 @item threshold1
 larger -> stronger filtering
@@ -4721,7 +4727,7 @@ second line with a @code{(-1 4 2 4 -1)} filter.
 Vertically applied FIR lowpass deinterlacing filter that deinterlaces the given
 block by filtering all lines with a @code{(-1 2 6 2 -1)} filter.
 
-@item fq/forceQuant[:quantizer]
+@item fq/forceQuant[|quantizer]
 Overrides the quantizer table from the input with the constant quantizer you
 specify.
 @table @option
@@ -4730,13 +4736,13 @@ Quantizer to use
 @end table
 
 @item de/default
-Default pp filter combination (@code{hb:a,vb:a,dr:a})
+Default pp filter combination (@code{hb|a,vb|a,dr|a})
 
 @item fa/fast
-Fast pp filter combination (@code{h1:a,v1:a,dr:a})
+Fast pp filter combination (@code{h1|a,v1|a,dr|a})
 
 @item ac
-High quality pp filter combination (@code{ha:a:128:7,va:a,dr:a})
+High quality pp filter combination (@code{ha|a|128|7,va|a,dr|a})
 @end table
 
 @subsection Examples
@@ -4758,14 +4764,14 @@ pp=de/-al
 @item
 Apply default filters and temporal denoiser:
 @example
-pp=default/tmpnoise:1:2:3
+pp=default/tmpnoise|1|2|3
 @end example
 
 @item
 Apply deblocking on luminance only, and switch vertical deblocking on or off
 automatically depending on available CPU time:
 @example
-pp=hb:y/vb:a
+pp=hb|y/vb|a
 @end example
 @end itemize
 
@@ -4775,10 +4781,14 @@ Suppress a TV station logo, using an image file to determine which
 pixels comprise the logo. It works by filling in the pixels that
 comprise the logo with neighboring pixels.
 
-This filter requires one argument which specifies the filter bitmap
-file, which can be any image format supported by libavformat. The
-width and height of the image file must match those of the video
-stream being processed.
+The filters accept the following options:
+
+@table @option
+@item filename, f
+Set the filter bitmap file, which can be any image format supported by
+libavformat. The width and height of the image file must match those of the
+video stream being processed.
+@end table
 
 Pixels in the provided bitmap image with a value of zero are not
 considered part of the logo, non-zero pixels are considered part of
@@ -5015,18 +5025,10 @@ Keep in mind that the sample aspect ratio set by the @code{setsar}
 filter may be changed by later filters in the filterchain, e.g. if
 another "setsar" or a "setdar" filter is applied.
 
-The @code{setdar} and @code{setsar} filters accept a string in the
-form @var{num}:@var{den} expressing an aspect ratio, or the following
-named options, expressed as a sequence of @var{key}=@var{value} pairs,
-separated by ":".
+The filters accept the following options:
 
 @table @option
-@item max
-Set the maximum integer value to use for expressing numerator and
-denominator when reducing the expressed aspect ratio to a rational.
-Default value is @code{100}.
-
-@item r, ratio, dar, sar:
+@item r, ratio, dar (@code{setdar} only), sar (@code{setsar} only)
 Set the aspect ratio used by the filter.
 
 The parameter can be a floating point number string, an expression, or
@@ -5035,33 +5037,41 @@ a string of the form @var{num}:@var{den}, where @var{num} and
 the parameter is not specified, it is assumed the value "0".
 In case the form "@var{num}:@var{den}" the @code{:} character should
 be escaped.
+
+@item max
+Set the maximum integer value to use for expressing numerator and
+denominator when reducing the expressed aspect ratio to a rational.
+Default value is @code{100}.
+
 @end table
 
-If the keys are omitted in the named options list, the specifed values
-are assumed to be @var{ratio} and @var{max} in that order.
+@subsection Examples
+
+@itemize
 
-For example to change the display aspect ratio to 16:9, specify:
+@item
+To change the display aspect ratio to 16:9, specify one of the following:
 @example
-setdar='16:9'
-# the above is equivalent to
-setdar=1.77777
+setdar=dar=1.77777
 setdar=dar=16/9
 setdar=dar=1.77777
 @end example
 
+@item
 To change the sample aspect ratio to 10:11, specify:
 @example
-setsar='10:11'
-# the above is equivalent to
-setsar='sar=10/11'
+setsar=sar=10/11
 @end example
 
+@item
 To set a display aspect ratio of 16:9, and specify a maximum integer value of
 1000 in the aspect ratio reduction, use the command:
 @example
-setdar=ratio='16:9':max=1000
+setdar=ratio=16/9:max=1000
 @end example
 
+@end itemize
+
 @anchor{setfield}
 @section setfield
 
@@ -5072,9 +5082,12 @@ output frames. It does not change the input frame, but only sets the
 corresponding property, which affects how the frame is treated by
 following filters (e.g. @code{fieldorder} or @code{yadif}).
 
-This filter accepts a single option @option{mode}, which can be
-specified either by setting @code{mode=VALUE} or setting the value
-alone. Available values are:
+The filter accepts the following options:
+
+@table @option
+
+@item mode
+Available values are:
 
 @table @samp
 @item auto
@@ -5089,6 +5102,7 @@ Mark the frame as top-field-first.
 @item prog
 Mark the frame as progressive.
 @end table
+@end table
 
 @section showinfo
 
@@ -5153,32 +5167,40 @@ expressed in the form "[@var{c0} @var{c1} @var{c2} @var{c3}]"
 
 Blur the input video without impacting the outlines.
 
-This filter accepts parameters as a list of @var{key}=@var{value} pairs,
-separated by ":".
-
-If the key of the first options is omitted, the arguments are
-interpreted according to the syntax:
-@var{luma_radius}:@var{luma_strength}:@var{luma_threshold}[:@var{chroma_radius}:@var{chroma_strength}:@var{chroma_threshold}]
-
-A description of the accepted options follows.
+The filter accepts the following options:
 
 @table @option
 @item luma_radius, lr
-@item chroma_radius, cr
-Set the luma/chroma radius. The option value must be a float number in
+Set the luma radius. The option value must be a float number in
 the range [0.1,5.0] that specifies the variance of the gaussian filter
 used to blur the image (slower if larger). Default value is 1.0.
 
 @item luma_strength, ls
-@item chroma_strength, cs
-Set the luma/chroma strength. The option value must be a float number
+Set the luma strength. The option value must be a float number
 in the range [-1.0,1.0] that configures the blurring. A value included
 in [0.0,1.0] will blur the image whereas a value included in
 [-1.0,0.0] will sharpen the image. Default value is 1.0.
 
 @item luma_threshold, lt
+Set the luma threshold used as a coefficient to determine
+whether a pixel should be blurred or not. The option value must be an
+integer in the range [-30,30]. A value of 0 will filter all the image,
+a value included in [0,30] will filter flat areas and a value included
+in [-30,0] will filter edges. Default value is 0.
+
+@item chroma_radius, cr
+Set the chroma radius. The option value must be a float number in
+the range [0.1,5.0] that specifies the variance of the gaussian filter
+used to blur the image (slower if larger). Default value is 1.0.
+
+@item chroma_strength, cs
+Set the chroma strength. The option value must be a float number
+in the range [-1.0,1.0] that configures the blurring. A value included
+in [0.0,1.0] will blur the image whereas a value included in
+[-1.0,0.0] will sharpen the image. Default value is 1.0.
+
 @item chroma_threshold, ct
-Set the luma/chroma threshold used as a coefficient to determine
+Set the chroma threshold used as a coefficient to determine
 whether a pixel should be blurred or not. The option value must be an
 integer in the range [-30,30]. A value of 0 will filter all the image,
 a value included in [0,30] will filter flat areas and a value included
@@ -5192,8 +5214,7 @@ is set.
 
 Convert between different stereoscopic image formats.
 
-This filter accepts the following named options, expressed as a
-sequence of @var{key}=@var{value} pairs, separated by ":".
+The filters accept the following options:
 
 @table @option
 @item in
@@ -5319,8 +5340,7 @@ To enable compilation of this filter you need to configure FFmpeg with
 libavformat to convert the passed subtitles file to ASS (Advanced Substation
 Alpha) subtitles format.
 
-This filter accepts the following named options, expressed as a
-sequence of @var{key}=@var{value} pairs, separated by ":".
+The filter accepts the following options:
 
 @table @option
 @item filename, f
@@ -5418,8 +5438,7 @@ ffmpeg -i in.avi -vf thumbnail,scale=300:200 -frames:v 1 out.png
 
 Tile several successive frames together.
 
-It accepts a list of options in the form of @var{key}=@var{value} pairs
-separated by ":". A description of the accepted options follows.
+The filter accepts the following options:
 
 @table @option
 
@@ -5427,6 +5446,11 @@ separated by ":". A description of the accepted options follows.
 Set the grid size (i.e. the number of lines and columns) in the form
 "@var{w}x@var{h}".
 
+@item nb_frames
+Set the maximum number of frames to render in the given area. It must be less
+than or equal to @var{w}x@var{h}. The default value is @code{0}, meaning all
+the area will be used.
+
 @item margin
 Set the outer border margin in pixels.
 
@@ -5435,19 +5459,13 @@ Set the inner border thickness (i.e. the number of pixels between frames). For
 more advanced padding options (such as having different values for the edges),
 refer to the pad video filter.
 
-@item nb_frames
-Set the maximum number of frames to render in the given area. It must be less
-than or equal to @var{w}x@var{h}. The default value is @code{0}, meaning all
-the area will be used.
-
 @end table
 
-Alternatively, the options can be specified as a flat string:
-
-@var{layout}[:@var{nb_frames}[:@var{margin}[:@var{padding}]]]
+@subsection Examples
 
-For example, produce 8x8 PNG tiles of all keyframes (@option{-skip_frame
-nokey}) in a movie:
+@itemize
+@item
+Produce 8x8 PNG tiles of all keyframes (@option{-skip_frame nokey}) in a movie:
 @example
 ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
 @end example
@@ -5455,12 +5473,14 @@ The @option{-vsync 0} is necessary to prevent @command{ffmpeg} from
 duplicating each output frame to accomodate the originally detected frame
 rate.
 
-Another example to display @code{5} pictures in an area of @code{3x2} frames,
+@item
+Display @code{5} pictures in an area of @code{3x2} frames,
 with @code{7} pixels between them, and @code{2} pixels of initial margin, using
 mixed flat and named options:
 @example
 tile=3x2:nb_frames=5:padding=7:margin=2
 @end example
+@end itemize
 
 @section tinterlace
 
@@ -5469,13 +5489,7 @@ Perform various types of temporal field interlacing.
 Frames are counted starting from 1, so the first input frame is
 considered odd.
 
-This filter accepts options in the form of @var{key}=@var{value} pairs
-separated by ":".
-Alternatively, the @var{mode} option can be specified as a value alone,
-optionally followed by a ":" and further ":" separated @var{key}=@var{value}
-pairs.
-
-A description of the accepted options follows.
+The filter accepts the following options:
 
 @table @option
 
@@ -5546,17 +5560,15 @@ Vertical low-pass filtering can only be enabled for @option{mode}
 
 Transpose rows with columns in the input video and optionally flip it.
 
-The filter accepts parameters as a list of @var{key}=@var{value}
-pairs, separated by ':'. If the key of the first options is omitted,
-the arguments are interpreted according to the syntax
-@var{dir}:@var{passthrough}.
+This filter accepts the following options:
 
 @table @option
+
 @item dir
-Specify the transposition direction. Can assume the following values:
+The direction of the transpose.
 
 @table @samp
-@item 0, 4
+@item 0, 4, cclock_flip
 Rotate by 90 degrees counterclockwise and vertically flip (default), that is:
 @example
 L.R     L.l
@@ -5564,7 +5576,7 @@ L.R     L.l
 l.r     R.r
 @end example
 
-@item 1, 5
+@item 1, 5, clock
 Rotate by 90 degrees clockwise, that is:
 @example
 L.R     l.L
@@ -5572,7 +5584,7 @@ L.R     l.L
 l.r     r.R
 @end example
 
-@item 2, 6
+@item 2, 6, cclock
 Rotate by 90 degrees counterclockwise, that is:
 @example
 L.R     R.r
@@ -5580,7 +5592,7 @@ L.R     R.r
 l.r     L.l
 @end example
 
-@item 3, 7
+@item 3, 7, clock_flip
 Rotate by 90 degrees clockwise and vertically flip, that is:
 @example
 L.R     r.R
@@ -5623,14 +5635,7 @@ transpose=1:portrait
 
 Sharpen or blur the input video.
 
-This filter accepts parameters as a list of @var{key}=@var{value} pairs,
-separated by ":".
-
-If the key of the first options is omitted, the arguments are
-interpreted according to the syntax:
-@var{luma_msize_x}:@var{luma_msize_y}:@var{luma_amount}:@var{chroma_msize_x}:@var{chroma_msize_y}:@var{chroma_amount}
-
-A description of the accepted options follows.
+It accepts the following parameters:
 
 @table @option
 @item luma_msize_x, lx
@@ -5655,13 +5660,16 @@ Default value is 1.0 for @option{luma_amount}, 0.0 for
 @option{chroma_amount}.
 @end table
 
+All parameters are optional and default to the
+equivalent of the string '5:5:1.0:5:5:0.0'.
+
 @subsection Examples
 
 @itemize
 @item
 Apply strong luma sharpen effect:
 @example
-unsharp=7:7:2.5
+unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5
 @end example
 
 @item
@@ -5684,17 +5692,13 @@ ffmpeg -i in.avi -vf "vflip" out.avi
 Deinterlace the input video ("yadif" means "yet another deinterlacing
 filter").
 
-The filter accepts parameters as a list of @var{key}=@var{value}
-pairs, separated by ":". If the key of the first options is omitted,
-the arguments are interpreted according to syntax
-@var{mode}:@var{parity}:@var{deint}.
+This filter accepts the following options:
 
-The description of the accepted parameters follows.
 
 @table @option
+
 @item mode
-Specify the interlacing mode to adopt. Accept one of the following
-values:
+The interlacing mode to adopt, accepts one of the following values:
 
 @table @option
 @item 0, send_frame
@@ -5710,8 +5714,8 @@ like @code{send_field} but skip spatial interlacing check
 Default value is @code{send_frame}.
 
 @item parity
-Specify the picture field parity assumed for the input interlaced
-video. Accept one of the following values:
+The picture field parity assumed for the input interlaced video, accepts one of
+the following values:
 
 @table @option
 @item 0, tff
@@ -5762,6 +5766,12 @@ separated by ":". A description of the accepted options follows.
 @item video_size
 Specify the size (width and height) of the buffered video frames.
 
+@item width
+Input video width.
+
+@item height
+Input video height.
+
 @item pix_fmt
 A string representing the pixel format of the buffered video frames.
 It may be a number corresponding to a pixel format, or a pixel format
@@ -5770,10 +5780,10 @@ name.
 @item time_base
 Specify the timebase assumed by the timestamps of the buffered frames.
 
-@item time_base
+@item frame_rate
 Specify the frame rate expected for the video stream.
 
-@item pixel_aspect
+@item pixel_aspect, sar
 Specify the sample aspect ratio assumed by the video frames.
 
 @item sws_param
@@ -5784,7 +5794,7 @@ input size or format.
 
 For example:
 @example
-buffer=size=320x240:pix_fmt=yuv410p:time_base=1/24:pixel_aspect=1/1
+buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1
 @end example
 
 will instruct the source to accept video frames with size 320x240 and
@@ -5814,9 +5824,7 @@ At each new frame a new row in the video is filled with the result of
 the cellular automaton next generation. The behavior when the whole
 frame is filled is defined by the @option{scroll} option.
 
-This source accepts a list of options in the form of
-@var{key}=@var{value} pairs separated by ":". A description of the
-accepted options follows.
+This source accepts the following options:
 
 @table @option
 @item filename, f
@@ -5922,9 +5930,7 @@ cellauto=p='@@@@ @@ @@@@':s=100x400:full=0:rule=18
 Generate a Mandelbrot set fractal, and progressively zoom towards the
 point specified with @var{start_x} and @var{start_y}.
 
-This source accepts a list of options in the form of
-@var{key}=@var{value} pairs separated by ":". A description of the
-accepted options follows.
+This source accepts the following options:
 
 @table @option
 
@@ -5997,8 +6003,7 @@ Generate various test patterns, as generated by the MPlayer test filter.
 The size of the generated video is fixed, and is 256x256.
 This source is useful in particular for testing encoding features.
 
-This source accepts an optional sequence of @var{key}=@var{value} pairs,
-separated by ":". The description of the accepted options follows.
+This source accepts the following options:
 
 @table @option
 
@@ -6098,9 +6103,7 @@ which specifies the number of neighbor alive cells which will make a
 cell stay alive or born. The @option{rule} option allows to specify
 the rule to adopt.
 
-This source accepts a list of options in the form of
-@var{key}=@var{value} pairs separated by ":". A description of the
-accepted options follows.
+This source accepts the following options:
 
 @table @option
 @item filename, f
@@ -6228,8 +6231,7 @@ The @code{testsrc} source generates a test video pattern, showing a
 color pattern, a scrolling gradient and a timestamp. This is mainly
 intended for testing purposes.
 
-These sources accept an optional sequence of @var{key}=@var{value} pairs,
-separated by ":". The description of the accepted options follows.
+The sources accept the following options:
 
 @table @option
 
@@ -6374,9 +6376,6 @@ Add a phasing effect to the input audio.
 A phaser filter creates series of peaks and troughs in the frequency spectrum.
 The position of the peaks and troughs are modulated so that they vary over time, creating a sweeping effect.
 
-The filter accepts parameters as a list of @var{key}=@var{value}
-pairs, separated by ":".
-
 A description of the accepted parameters follows.
 
 @table @option
@@ -6408,14 +6407,16 @@ It accepts the following values:
 @section aselect, select
 Select frames to pass in output.
 
-These filters accept a single option @option{expr} or @option{e}
-specifying the select expression, which can be specified either by
-specyfing @code{expr=VALUE} or specifying the expression
-alone.
+This filter accepts the following options:
+
+@table @option
+
+@item expr, e
+An expression, which is evaluated for each input frame. If the expression is
+evaluated to a non-zero value, the frame is selected and passed to the output,
+otherwise it is discarded.
 
-The select expression is evaluated for each input frame. If the
-evaluation result is a non-zero value, the frame is selected and
-passed to the output, otherwise it is discarded.
+@end table
 
 The expression can contain the following constants:
 
@@ -6685,13 +6686,13 @@ Specify a list of drawtext and hue commands in a file.
          [leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=';
 
 # desaturate the image in the interval 15-20
-15.0-20.0 [enter] hue reinit s=0,
+15.0-20.0 [enter] hue 0,
           [enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=nocolor',
-          [leave] hue reinit s=1,
+          [leave] hue 1,
           [leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=color';
 
 # apply an exponential saturation fade-out effect, starting from time 25
-25 [enter] hue s=exp(t-25)
+25 [enter] hue s exp(25-t)
 @end example
 
 A filtergraph allowing to read and process the above command list
@@ -6708,8 +6709,17 @@ Change the PTS (presentation timestamp) of the input frames.
 
 @code{asetpts} works on audio frames, @code{setpts} on video frames.
 
-Accept in input an expression evaluated through the eval API, which
-can contain the following constants:
+This filter accepts the following options:
+
+@table @option
+
+@item expr
+The expression which is evaluated for each frame to construct its timestamp.
+
+@end table
+
+The expression is evaluated through the eval API and can contain the following
+constants:
 
 @table @option
 @item FRAME_RATE
@@ -6894,9 +6904,14 @@ ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -
 Set the timebase to use for the output frames timestamps.
 It is mainly useful for testing timebase configuration.
 
-This filter accepts a single option @option{tb}, which can be
-specified either by setting @option{tb}=@var{VALUE} or setting the
-value alone.
+This filter accepts the following options:
+
+@table @option
+
+@item expr, tb
+The expression which is evaluated into the output timebase.
+
+@end table
 
 The value for @option{tb} is an arithmetic expression representing a
 rational. The expression can contain the constants "AVTB" (the default
@@ -6909,13 +6924,13 @@ audio only). Default value is "intb".
 @item
 Set the timebase to 1/25:
 @example
-settb=1/25
+settb=expr=1/25
 @end example
 
 @item
 Set the timebase to 1/10:
 @example
-settb=0.1
+settb=expr=0.1
 @end example
 
 @item
@@ -6946,7 +6961,8 @@ The filter works on segments of synchronized video and audio streams. All
 segments must have the same number of streams of each type, and that will
 also be the number of streams at output.
 
-The filter accepts the following named parameters:
+The filter accepts the following options:
+
 @table @option
 
 @item n
@@ -7105,8 +7121,12 @@ ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
 
 Convert input audio to a video output, representing the samples waves.
 
-The filter accepts the following named parameters:
+The filter accepts the following options:
+
 @table @option
+@item size, s
+Specify the video size for the output. Default value is "600x240".
+
 @item mode
 Set display mode.
 
@@ -7131,8 +7151,6 @@ is not explicitly specified.
 Set the (approximate) output frame rate. This is done by setting the
 option @var{n}. Default value is "25".
 
-@item size, s
-Specify the video size for the output. Default value is "600x240".
 @end table
 
 @subsection Examples
@@ -7170,15 +7188,12 @@ stream by default.
 
 Read audio and/or video stream(s) from a movie container.
 
-It accepts the syntax: @var{movie_name}[:@var{options}] where
-@var{movie_name} is the name of the resource to read (not necessarily
-a file but also a device or a stream accessed through some protocol),
-and @var{options} is an optional sequence of @var{key}=@var{value}
-pairs, separated by ":".
-
-The description of the accepted options follows.
+This filter accepts the following options:
 
 @table @option
+@item filename
+The name of the resource to read (not necessarily a file but also a device or a
+stream accessed through some protocol).
 
 @item format_name, f
 Specifies the format assumed for the movie to read, and can be either