mirror of https://github.com/FFmpeg/FFmpeg.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
364 lines
11 KiB
364 lines
11 KiB
@chapter Decoders |
|
@c man begin DECODERS |
|
|
|
Decoders are configured elements in FFmpeg which allow the decoding of |
|
multimedia streams. |
|
|
|
When you configure your FFmpeg build, all the supported native decoders |
|
are enabled by default. Decoders requiring an external library must be enabled |
|
manually via the corresponding @code{--enable-lib} option. You can list all |
|
available decoders using the configure option @code{--list-decoders}. |
|
|
|
You can disable all the decoders with the configure option |
|
@code{--disable-decoders} and selectively enable / disable single decoders |
|
with the options @code{--enable-decoder=@var{DECODER}} / |
|
@code{--disable-decoder=@var{DECODER}}. |
|
|
|
The option @code{-decoders} of the ff* tools will display the list of |
|
enabled decoders. |
|
|
|
@c man end DECODERS |
|
|
|
@chapter Video Decoders |
|
@c man begin VIDEO DECODERS |
|
|
|
A description of some of the currently available video decoders |
|
follows. |
|
|
|
@section rawvideo |
|
|
|
Raw video decoder. |
|
|
|
This decoder decodes rawvideo streams. |
|
|
|
@subsection Options |
|
|
|
@table @option |
|
@item top @var{top_field_first} |
|
Specify the assumed field type of the input video. |
|
@table @option |
|
@item -1 |
|
the video is assumed to be progressive (default) |
|
@item 0 |
|
bottom-field-first is assumed |
|
@item 1 |
|
top-field-first is assumed |
|
@end table |
|
|
|
@end table |
|
|
|
@section libdav1d |
|
|
|
dav1d AV1 decoder. |
|
|
|
libdav1d allows libavcodec to decode the AOMedia Video 1 (AV1) codec. |
|
Requires the presence of the libdav1d headers and library during configuration. |
|
You need to explicitly configure the build with @code{--enable-libdav1d}. |
|
|
|
@subsection Options |
|
|
|
The following options are supported by the libdav1d wrapper. |
|
|
|
@table @option |
|
|
|
@item framethreads |
|
Set amount of frame threads to use during decoding. The default value is 0 (autodetect). |
|
|
|
@item tilethreads |
|
Set amount of tile threads to use during decoding. The default value is 0 (autodetect). |
|
|
|
@item filmgrain |
|
Apply film grain to the decoded video if present in the bitstream. Defaults to the |
|
internal default of the library. |
|
|
|
@item oppoint |
|
Select an operating point of a scalable AV1 bitstream (0 - 31). Defaults to the |
|
internal default of the library. |
|
|
|
@item alllayers |
|
Output all spatial layers of a scalable AV1 bitstream. The default value is false. |
|
|
|
@end table |
|
|
|
@section libdavs2 |
|
|
|
AVS2-P2/IEEE1857.4 video decoder wrapper. |
|
|
|
This decoder allows libavcodec to decode AVS2 streams with davs2 library. |
|
|
|
@c man end VIDEO DECODERS |
|
|
|
@chapter Audio Decoders |
|
@c man begin AUDIO DECODERS |
|
|
|
A description of some of the currently available audio decoders |
|
follows. |
|
|
|
@section ac3 |
|
|
|
AC-3 audio decoder. |
|
|
|
This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well as |
|
the undocumented RealAudio 3 (a.k.a. dnet). |
|
|
|
@subsection AC-3 Decoder Options |
|
|
|
@table @option |
|
|
|
@item -drc_scale @var{value} |
|
Dynamic Range Scale Factor. The factor to apply to dynamic range values |
|
from the AC-3 stream. This factor is applied exponentially. |
|
There are 3 notable scale factor ranges: |
|
@table @option |
|
@item drc_scale == 0 |
|
DRC disabled. Produces full range audio. |
|
@item 0 < drc_scale <= 1 |
|
DRC enabled. Applies a fraction of the stream DRC value. |
|
Audio reproduction is between full range and full compression. |
|
@item drc_scale > 1 |
|
DRC enabled. Applies drc_scale asymmetrically. |
|
Loud sounds are fully compressed. Soft sounds are enhanced. |
|
@end table |
|
|
|
@end table |
|
|
|
@section flac |
|
|
|
FLAC audio decoder. |
|
|
|
This decoder aims to implement the complete FLAC specification from Xiph. |
|
|
|
@subsection FLAC Decoder options |
|
|
|
@table @option |
|
|
|
@item -use_buggy_lpc |
|
The lavc FLAC encoder used to produce buggy streams with high lpc values |
|
(like the default value). This option makes it possible to decode such streams |
|
correctly by using lavc's old buggy lpc logic for decoding. |
|
|
|
@end table |
|
|
|
@section ffwavesynth |
|
|
|
Internal wave synthesizer. |
|
|
|
This decoder generates wave patterns according to predefined sequences. Its |
|
use is purely internal and the format of the data it accepts is not publicly |
|
documented. |
|
|
|
@section libcelt |
|
|
|
libcelt decoder wrapper. |
|
|
|
libcelt allows libavcodec to decode the Xiph CELT ultra-low delay audio codec. |
|
Requires the presence of the libcelt headers and library during configuration. |
|
You need to explicitly configure the build with @code{--enable-libcelt}. |
|
|
|
@section libgsm |
|
|
|
libgsm decoder wrapper. |
|
|
|
libgsm allows libavcodec to decode the GSM full rate audio codec. Requires |
|
the presence of the libgsm headers and library during configuration. You need |
|
to explicitly configure the build with @code{--enable-libgsm}. |
|
|
|
This decoder supports both the ordinary GSM and the Microsoft variant. |
|
|
|
@section libilbc |
|
|
|
libilbc decoder wrapper. |
|
|
|
libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC) |
|
audio codec. Requires the presence of the libilbc headers and library during |
|
configuration. You need to explicitly configure the build with |
|
@code{--enable-libilbc}. |
|
|
|
@subsection Options |
|
|
|
The following option is supported by the libilbc wrapper. |
|
|
|
@table @option |
|
@item enhance |
|
|
|
Enable the enhancement of the decoded audio when set to 1. The default |
|
value is 0 (disabled). |
|
|
|
@end table |
|
|
|
@section libopencore-amrnb |
|
|
|
libopencore-amrnb decoder wrapper. |
|
|
|
libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate |
|
Narrowband audio codec. Using it requires the presence of the |
|
libopencore-amrnb headers and library during configuration. You need to |
|
explicitly configure the build with @code{--enable-libopencore-amrnb}. |
|
|
|
An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB |
|
without this library. |
|
|
|
@section libopencore-amrwb |
|
|
|
libopencore-amrwb decoder wrapper. |
|
|
|
libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate |
|
Wideband audio codec. Using it requires the presence of the |
|
libopencore-amrwb headers and library during configuration. You need to |
|
explicitly configure the build with @code{--enable-libopencore-amrwb}. |
|
|
|
An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB |
|
without this library. |
|
|
|
@section libopus |
|
|
|
libopus decoder wrapper. |
|
|
|
libopus allows libavcodec to decode the Opus Interactive Audio Codec. |
|
Requires the presence of the libopus headers and library during |
|
configuration. You need to explicitly configure the build with |
|
@code{--enable-libopus}. |
|
|
|
An FFmpeg native decoder for Opus exists, so users can decode Opus |
|
without this library. |
|
|
|
@c man end AUDIO DECODERS |
|
|
|
@chapter Subtitles Decoders |
|
@c man begin SUBTILES DECODERS |
|
|
|
@section libaribb24 |
|
|
|
ARIB STD-B24 caption decoder. |
|
|
|
Implements profiles A and C of the ARIB STD-B24 standard. |
|
|
|
@subsection libaribb24 Decoder Options |
|
|
|
@table @option |
|
|
|
@item -aribb24-base-path @var{path} |
|
Sets the base path for the libaribb24 library. This is utilized for reading of |
|
configuration files (for custom unicode conversions), and for dumping of |
|
non-text symbols as images under that location. |
|
|
|
Unset by default. |
|
|
|
@item -aribb24-skip-ruby-text @var{boolean} |
|
Tells the decoder wrapper to skip text blocks that contain half-height ruby |
|
text. |
|
|
|
Enabled by default. |
|
|
|
@end table |
|
|
|
@section dvbsub |
|
|
|
@subsection Options |
|
|
|
@table @option |
|
@item compute_clut |
|
@table @option |
|
@item -1 |
|
Compute clut if no matching CLUT is in the stream. |
|
@item 0 |
|
Never compute CLUT |
|
@item 1 |
|
Always compute CLUT and override the one provided in the stream. |
|
@end table |
|
@item dvb_substream |
|
Selects the dvb substream, or all substreams if -1 which is default. |
|
|
|
@end table |
|
|
|
@section dvdsub |
|
|
|
This codec decodes the bitmap subtitles used in DVDs; the same subtitles can |
|
also be found in VobSub file pairs and in some Matroska files. |
|
|
|
@subsection Options |
|
|
|
@table @option |
|
@item palette |
|
Specify the global palette used by the bitmaps. When stored in VobSub, the |
|
palette is normally specified in the index file; in Matroska, the palette is |
|
stored in the codec extra-data in the same format as in VobSub. In DVDs, the |
|
palette is stored in the IFO file, and therefore not available when reading |
|
from dumped VOB files. |
|
|
|
The format for this option is a string containing 16 24-bits hexadecimal |
|
numbers (without 0x prefix) separated by commas, for example @code{0d00ee, |
|
ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, |
|
7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b}. |
|
|
|
@item ifo_palette |
|
Specify the IFO file from which the global palette is obtained. |
|
(experimental) |
|
|
|
@item forced_subs_only |
|
Only decode subtitle entries marked as forced. Some titles have forced |
|
and non-forced subtitles in the same track. Setting this flag to @code{1} |
|
will only keep the forced subtitles. Default value is @code{0}. |
|
@end table |
|
|
|
@section libzvbi-teletext |
|
|
|
Libzvbi allows libavcodec to decode DVB teletext pages and DVB teletext |
|
subtitles. Requires the presence of the libzvbi headers and library during |
|
configuration. You need to explicitly configure the build with |
|
@code{--enable-libzvbi}. |
|
|
|
@subsection Options |
|
|
|
@table @option |
|
@item txt_page |
|
List of teletext page numbers to decode. Pages that do not match the specified |
|
list are dropped. You may use the special @code{*} string to match all pages, |
|
or @code{subtitle} to match all subtitle pages. |
|
Default value is *. |
|
@item txt_default_region |
|
Set default character set used for decoding, a value between 0 and 87 (see |
|
ETS 300 706, Section 15, Table 32). Default value is -1, which does not |
|
override the libzvbi default. This option is needed for some legacy level 1.0 |
|
transmissions which cannot signal the proper charset. |
|
@item txt_chop_top |
|
Discards the top teletext line. Default value is 1. |
|
@item txt_format |
|
Specifies the format of the decoded subtitles. |
|
@table @option |
|
@item bitmap |
|
The default format, you should use this for teletext pages, because certain |
|
graphics and colors cannot be expressed in simple text or even ASS. |
|
@item text |
|
Simple text based output without formatting. |
|
@item ass |
|
Formatted ASS output, subtitle pages and teletext pages are returned in |
|
different styles, subtitle pages are stripped down to text, but an effort is |
|
made to keep the text alignment and the formatting. |
|
@end table |
|
@item txt_left |
|
X offset of generated bitmaps, default is 0. |
|
@item txt_top |
|
Y offset of generated bitmaps, default is 0. |
|
@item txt_chop_spaces |
|
Chops leading and trailing spaces and removes empty lines from the generated |
|
text. This option is useful for teletext based subtitles where empty spaces may |
|
be present at the start or at the end of the lines or empty lines may be |
|
present between the subtitle lines because of double-sized teletext characters. |
|
Default value is 1. |
|
@item txt_duration |
|
Sets the display duration of the decoded teletext pages or subtitles in |
|
milliseconds. Default value is -1 which means infinity or until the next |
|
subtitle event comes. |
|
@item txt_transparent |
|
Force transparent background of the generated teletext bitmaps. Default value |
|
is 0 which means an opaque background. |
|
@item txt_opacity |
|
Sets the opacity (0-255) of the teletext background. If |
|
@option{txt_transparent} is not set, it only affects characters between a start |
|
box and an end box, typically subtitles. Default value is 0 if |
|
@option{txt_transparent} is set, 255 otherwise. |
|
|
|
@end table |
|
|
|
@c man end SUBTILES DECODERS
|
|
|