]> git.sesse.net Git - ffmpeg/blobdiff - doc/filters.texi
apedec: Convert to the new bitstream reader
[ffmpeg] / doc / filters.texi
index 18531de295a3af9d69098e1fc2cf0f1b27b58a90..954765f08ed563e35b71fda631f645e07eb63ca2 100644 (file)
@@ -209,6 +209,9 @@ The expression is evaluated through the eval API and can contain the following
 constants:
 
 @table @option
+@item FRAME_RATE
+frame rate, only defined for constant frame-rate video
+
 @item PTS
 the presentation timestamp in input
 
@@ -445,6 +448,36 @@ avconv -i INPUT -af atrim=end_sample=1000
 
 @end itemize
 
+@section bs2b
+Bauer stereo to binaural transformation, which improves headphone listening of
+stereo audio records.
+
+It accepts the following parameters:
+@table @option
+
+@item profile
+Pre-defined crossfeed level.
+@table @option
+
+@item default
+Default level (fcut=700, feed=50).
+
+@item cmoy
+Chu Moy circuit (fcut=700, feed=60).
+
+@item jmeier
+Jan Meier circuit (fcut=650, feed=95).
+
+@end table
+
+@item fcut
+Cut frequency (in Hz).
+
+@item feed
+Feed level (in Hz).
+
+@end table
+
 @section channelsplit
 Split each channel from an input audio stream into a separate output stream.
 
@@ -465,9 +498,9 @@ Split a 5.1 WAV file into per-channel files:
 @example
 avconv -i in.wav -filter_complex
 'channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR]'
--map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]'
-front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]'
-side_right.wav
+-map '[FL]' front_left.wav -map '[FR]' front_right.wav
+-map '[FC]' front_center.wav -map '[LFE]' low_frequency_effects.wav
+-map '[SL]' side_left.wav -map '[SR]' side_right.wav
 @end example
 
 @section channelmap
@@ -500,7 +533,7 @@ the input.
 
 To fix a 5.1 WAV improperly encoded in AAC's native channel order
 @example
-avconv -i in.wav -filter 'channelmap=1|2|0|5|3|4:channel_layout=5.1' out.wav
+avconv -i in.wav -filter 'channelmap=1|2|0|5|3|4:5.1' out.wav
 @end example
 
 @section compand
@@ -614,6 +647,53 @@ avconv -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
 out
 @end example
 
+@section hdcd
+
+Decodes High Definition Compatible Digital (HDCD) data. A 16-bit PCM stream with
+embedded HDCD codes is expanded into a 20-bit PCM stream.
+
+The filter supports the Peak Extend and Low-level Gain Adjustment features
+of HDCD, and detects the Transient Filter flag.
+
+@example
+avconv -i HDCD16.flac -af hdcd OUT24.flac
+@end example
+
+When using the filter with WAV, note that the default encoding for WAV is 16-bit,
+so the resulting 20-bit stream will be truncated back to 16-bit. Use something
+like @command{-acodec pcm_s24le} after the filter to get 24-bit PCM output.
+@example
+avconv -i HDCD16.wav -af hdcd OUT16.wav
+avconv -i HDCD16.wav -af hdcd -acodec pcm_s24le OUT24.wav
+@end example
+
+The filter accepts the following options:
+
+@table @option
+@item analyze_mode
+Replace audio with a solid tone and adjust the amplitude to signal some
+specific aspect of the decoding process. The output file can be loaded in
+an audio editor alongside the original to aid analysis.
+
+Modes are:
+@table @samp
+@item 0, off
+Disabled
+@item 1, lle
+Gain adjustment level at each sample
+@item 2, pe
+Samples where peak extend occurs
+@item 3, cdt
+Samples where the code detect timer is active
+@item 4, tgm
+Samples where the target gain does not match between channels
+@item 5, pel
+Any samples above peak extend level
+@item 6, ltgm
+Gain adjustment level at each sample, in each channel
+@end table
+@end table
+
 @section resample
 Convert the audio sample format, sample rate and channel layout. It is
 not meant to be used directly; it is inserted automatically by libavfilter
@@ -1115,6 +1195,8 @@ libfreetype library.
 
 To enable compilation of this filter, you need to configure Libav with
 @code{--enable-libfreetype}.
+To enable default font fallback and the @var{font} option you need to
+configure Libav with @code{--enable-libfontconfig}.
 
 The filter also recognizes strftime() sequences in the provided text
 and expands them accordingly. Check the documentation of strftime().
@@ -1123,9 +1205,12 @@ It accepts the following parameters:
 
 @table @option
 
+@item font
+The font family to be used for drawing text. By default Sans.
+
 @item fontfile
 The font file to be used for drawing text. The path must be included.
-This parameter is mandatory.
+This parameter is mandatory if the fontconfig support is disabled.
 
 @item text
 The text string to be drawn. The text must be a sequence of UTF-8
@@ -1174,6 +1259,17 @@ The timestamp, expressed in seconds. It's NAN if the input timestamp is unknown.
 
 The default value of @var{x} and @var{y} is 0.
 
+@item draw
+Draw the text only if the expression evaluates as non-zero.
+The expression accepts the same variables @var{x, y} do.
+The default value is 1.
+
+@item alpha
+Draw the text applying alpha blending. The value can
+be either a number between 0.0 and 1.0
+The expression accepts the same variables @var{x, y} do.
+The default value is 1.
+
 @item fontsize
 The font size to be used for drawing text.
 The default value of @var{fontsize} is 16.
@@ -1492,7 +1588,7 @@ For more information, see
 @section gradfun
 
 Fix the banding artifacts that are sometimes introduced into nearly flat
-regions by truncation to 8bit colordepth.
+regions by truncation to 8-bit colordepth.
 Interpolate the gradients that should go where the bands are, and
 dither them.
 
@@ -1561,12 +1657,22 @@ A floating point number which specifies chroma temporal strength. It defaults to
 @var{luma_tmp}*@var{chroma_spatial}/@var{luma_spatial}.
 @end table
 
+@section hwupload_cuda
+
+Upload system memory frames to a CUDA device.
+
+It accepts the following optional parameters:
+
+@table @option
+@item device
+The number of the CUDA device to use
+@end table
+
 @section interlace
 
 Simple interlacing filter from progressive contents. This interleaves upper (or
 lower) lines from odd frames with lower (or upper) lines from even frames,
-halving the frame rate and preserving image height. A vertical lowpass filter
-is always applied in order to avoid twitter effects and reduce moirĂ© patterns.
+halving the frame rate and preserving image height.
 
 @example
    Original        Original             New Frame
@@ -1586,6 +1692,10 @@ It accepts the following optional parameters:
 @item scan
 This determines whether the interlaced frame is taken from the even
 (tff - default) or odd (bff) lines of the progressive frame.
+
+@item lowpass
+Enable (default) or disable the vertical lowpass filter to avoid twitter
+interlacing and reduce moire patterns.
 @end table
 
 @section lut, lutrgb, lutyuv
@@ -1837,7 +1947,7 @@ libopencv function @code{cvSmooth}.
 Overlay one video on top of another.
 
 It takes two inputs and has one output. The first input is the "main"
-video on which the second input is overlayed.
+video on which the second input is overlaid.
 
 It accepts the following parameters:
 
@@ -2118,6 +2228,44 @@ scale="trunc(3/2*iw/hsub)*hsub:trunc(3/2*ih/vsub)*vsub"
 scale=w='min(500\, iw*3/2):h=-1'
 @end example
 
+@section scale_npp
+
+Use the NVIDIA Performance Primitives (libnpp) to perform scaling and/or pixel
+format conversion on CUDA video frames. Setting the output width and height
+works in the same way as for the @var{scale} filter.
+
+The following additional options are accepted:
+@table @option
+@item format
+The pixel format of the output CUDA frames. If set to the string "same" (the
+default), the input format will be kept. Note that automatic format negotiation
+and conversion is not yet supported for hardware frames
+
+@item interp_algo
+The interpolation algorithm used for resizing. One of the following:
+@table @option
+@item nn
+Nearest neighbour.
+
+@item linear
+@item cubic
+@item cubic2p_bspline
+2-parameter cubic (B=1, C=0)
+
+@item cubic2p_catmullrom
+2-parameter cubic (B=0, C=1/2)
+
+@item cubic2p_b05c03
+2-parameter cubic (B=1/2, C=3/10)
+
+@item super
+Supersampling
+
+@item lanczos
+@end table
+
+@end table
+
 @section select
 Select frames to pass in output.
 
@@ -2226,7 +2374,7 @@ select='not(mod(n\,100))'
 # Select only frames contained in the 10-20 time interval
 select='gte(t\,10)*lte(t\,20)'
 
-# Select only I frames contained in the 10-20 time interval
+# Select only I-frames contained in the 10-20 time interval
 select='gte(t\,10)*lte(t\,20)*eq(pict_type\,I)'
 
 # Select frames with a minimum distance of 10 seconds
@@ -2812,6 +2960,10 @@ The time base used for input timestamps.
 @item sar
 The sample (pixel) aspect ratio of the input video.
 
+@item hw_frames_ctx
+When using a hardware pixel format, this should be a reference to an
+AVHWFramesContext describing input frames.
+
 @end table
 
 For example:
@@ -2852,7 +3004,7 @@ number or a valid video frame rate abbreviation. The default value is
 
 The following graph description will generate a red source
 with an opacity of 0.2, with size "qcif" and a frame rate of 10
-frames per second, which will be overlayed over the source connected
+frames per second, which will be overlaid over the source connected
 to the pad with identifier "in":
 
 @example
@@ -2965,7 +3117,7 @@ A '|'-separated list of parameters to pass to the frei0r source.
 An example:
 @example
 # Generate a frei0r partik0l source with size 200x200 and framerate 10
-# which is overlayed on the overlay filter main input
+# which is overlaid on the overlay filter's main input
 frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [overlay]; [in][overlay] overlay
 @end example