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
"=@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
@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
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}".
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
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
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
@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
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
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:
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] ;
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
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.
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
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
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
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.
@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.
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
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
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
@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
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
@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.
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
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
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
"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
@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
(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
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
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.
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
@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.
@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
@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
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
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
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
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
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:
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
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.
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
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
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
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
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
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
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
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
@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
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
@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
@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
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
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
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
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
@item prog
Mark the frame as progressive.
@end table
+@end table
@section showinfo
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
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
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
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
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.
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
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
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
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
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
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
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
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
@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
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
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
@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
@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
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
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
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
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
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
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
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
@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:
[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 s 0,
[enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=nocolor',
- [leave] hue reinit s=1,
+ [leave] hue s 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
@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
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
@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
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
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.
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
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