lavc/mediacodec: add missing newline on warning
[ffmpeg.git] / doc / fftools-common-opts.texi
index 54d1888..2eff33a 100644 (file)
@@ -36,8 +36,10 @@ Possible forms of stream specifiers are:
 Matches the stream with this index. E.g. @code{-threads:1 4} would set the
 thread count for the second stream to 4.
 @item @var{stream_type}[:@var{stream_index}]
-@var{stream_type} is one of following: 'v' for video, 'a' for audio, 's' for subtitle,
-'d' for data, and 't' for attachments. If @var{stream_index} is given, then it matches
+@var{stream_type} is one of following: 'v' or 'V' for video, 'a' for audio, 's'
+for subtitle, 'd' for data, and 't' for attachments. 'v' matches all video
+streams, 'V' only matches video streams which are not attached pictures, video
+thumbnails or cover arts.  If @var{stream_index} is given, then it matches
 stream number @var{stream_index} of this type. Otherwise, it matches all
 streams of this type.
 @item p:@var{program_id}[:@var{stream_index}]
@@ -50,6 +52,9 @@ Match the stream by stream id (e.g. PID in MPEG-TS container).
 Matches streams with the metadata tag @var{key} having the specified value. If
 @var{value} is not given, matches streams that contain the given tag with any
 value.
+@item u
+Matches streams with usable configuration, the codec must be defined and the
+essential information such as video dimension or audio sample rate must be present.
 
 Note that in @command{ffmpeg}, matching by metadata will only work properly for
 input files.
@@ -105,6 +110,12 @@ Show version.
 @item -formats
 Show available formats (including devices).
 
+@item -demuxers
+Show available demuxers.
+
+@item -muxers
+Show available muxers.
+
 @item -devices
 Show available devices.
 
@@ -142,7 +153,7 @@ Show channel names and standard channel layouts.
 Show recognized color names.
 
 @item -sources @var{device}[,@var{opt1}=@var{val1}[,@var{opt2}=@var{val2}]...]
-Show autodetected sources of the intput device.
+Show autodetected sources of the input device.
 Some devices may provide system-dependent source names that cannot be autodetected.
 The returned list cannot be assumed to be always complete.
 @example
@@ -171,10 +182,10 @@ loglevel will be used. If multiple loglevel parameters are given, using
 Show nothing at all; be silent.
 @item panic, 0
 Only show fatal errors which could lead the process to crash, such as
-and assert failure. This is not currently used for anything.
+an assertion failure. This is not currently used for anything.
 @item fatal, 8
 Only show fatal errors. These are errors after which the process absolutely
-cannot continue after.
+cannot continue.
 @item error, 16
 Show all errors, including ones which can be recovered from.
 @item warning, 24
@@ -187,15 +198,16 @@ warnings and errors. This is the default value.
 Same as @code{info}, except more verbose.
 @item debug, 48
 Show everything, including debugging information.
+@item trace, 56
 @end table
 
-By default the program logs to stderr, if coloring is supported by the
+By default the program logs to stderr. If coloring is supported by the
 terminal, colors are used to mark errors and warnings. Log coloring
 can be disabled setting the environment variable
 @env{AV_LOG_FORCE_NOCOLOR} or @env{NO_COLOR}, or can be forced setting
 the environment variable @env{AV_LOG_FORCE_COLOR}.
 The use of the environment variable @env{NO_COLOR} is deprecated and
-will be dropped in a following FFmpeg version.
+will be dropped in a future FFmpeg version.
 
 @item -report
 Dump full command line and console output to a file named
@@ -204,21 +216,29 @@ directory.
 This file can be useful for bug reports.
 It also implies @code{-loglevel verbose}.
 
-Setting the environment variable @code{FFREPORT} to any value has the
+Setting the environment variable @env{FFREPORT} to any value has the
 same effect. If the value is a ':'-separated key=value sequence, these
-options will affect the report; options values must be escaped if they
+options will affect the report; option values must be escaped if they
 contain special characters or the options delimiter ':' (see the
-``Quoting and escaping'' section in the ffmpeg-utils manual). The
-following option is recognized:
+``Quoting and escaping'' section in the ffmpeg-utils manual).
+
+The following options are recognized:
 @table @option
 @item file
 set the file name to use for the report; @code{%p} is expanded to the name
 of the program, @code{%t} is expanded to a timestamp, @code{%%} is expanded
 to a plain @code{%}
 @item level
-set the log level
+set the log verbosity level using a numerical value (see @code{-loglevel}).
 @end table
 
+For example, to output a report to a file named @file{ffreport.log}
+using a log level of @code{32} (alias for log level @code{info}):
+
+@example
+FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
+@end example
+
 Errors in parsing the environment variable are not fatal, and will not
 appear in the report.
 
@@ -253,10 +273,14 @@ Possible flags for this option are:
 @item sse4.1
 @item sse4.2
 @item avx
+@item avx2
 @item xop
+@item fma3
 @item fma4
 @item 3dnow
 @item 3dnowext
+@item bmi1
+@item bmi2
 @item cmov
 @end table
 @item ARM
@@ -267,6 +291,13 @@ Possible flags for this option are:
 @item vfp
 @item vfpv3
 @item neon
+@item setend
+@end table
+@item AArch64
+@table @samp
+@item armv8
+@item vfp
+@item neon
 @end table
 @item PowerPC
 @table @samp
@@ -286,8 +317,41 @@ Possible flags for this option are:
 @end table
 
 @item -opencl_bench
-Benchmark all available OpenCL devices and show the results. This option
-is only available when FFmpeg has been compiled with @code{--enable-opencl}.
+This option is used to benchmark all available OpenCL devices and print the
+results. This option is only available when FFmpeg has been compiled with
+@code{--enable-opencl}.
+
+When FFmpeg is configured with @code{--enable-opencl}, the options for the
+global OpenCL context are set via @option{-opencl_options}. See the
+"OpenCL Options" section in the ffmpeg-utils manual for the complete list of
+supported options. Amongst others, these options include the ability to select
+a specific platform and device to run the OpenCL code on. By default, FFmpeg
+will run on the first device of the first platform. While the options for the
+global OpenCL context provide flexibility to the user in selecting the OpenCL
+device of their choice, most users would probably want to select the fastest
+OpenCL device for their system.
+
+This option assists the selection of the most efficient configuration by
+identifying the appropriate device for the user's system. The built-in
+benchmark is run on all the OpenCL devices and the performance is measured for
+each device. The devices in the results list are sorted based on their
+performance with the fastest device listed first. The user can subsequently
+invoke @command{ffmpeg} using the device deemed most appropriate via
+@option{-opencl_options} to obtain the best performance for the OpenCL
+accelerated code.
+
+Typical usage to use the fastest OpenCL device involve the following steps.
+
+Run the command:
+@example
+ffmpeg -opencl_bench
+@end example
+Note down the platform ID (@var{pidx}) and device ID (@var{didx}) of the first
+i.e. fastest device in the list.
+Select the platform and device using the command:
+@example
+ffmpeg -opencl_options platform_idx=@var{pidx}:device_idx=@var{didx} ...
+@end example
 
 @item -opencl_options options (@emph{global})
 Set OpenCL environment options. This option is only available when