289 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			289 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@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 hevc
 | 
						|
 | 
						|
HEVC / H.265 decoder.
 | 
						|
 | 
						|
Note: the @option{skip_loop_filter} option has effect only at level
 | 
						|
@code{all}.
 | 
						|
 | 
						|
@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
 | 
						|
 | 
						|
@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 synthetizer.
 | 
						|
 | 
						|
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 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 comas, 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. You may use the special * string to
 | 
						|
match all pages. Pages that do not match the specified list are dropped.
 | 
						|
Default value is *.
 | 
						|
@item txt_chop_top
 | 
						|
Discards the top teletext line. Default value is 1.
 | 
						|
@item txt_format
 | 
						|
Specifies the format of the decoded subtitles. The teletext decoder is capable
 | 
						|
of decoding the teletext pages to bitmaps or to simple text, you should use
 | 
						|
"bitmap" for teletext pages, because certain graphics and colors cannot be
 | 
						|
expressed in simple text. You might use "text" for teletext based subtitles if
 | 
						|
your application can handle simple text based subtitles. Default value is
 | 
						|
bitmap.
 | 
						|
@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 charactes.
 | 
						|
Default value is 1.
 | 
						|
@item txt_duration
 | 
						|
Sets the display duration of the decoded teletext pages or subtitles in
 | 
						|
miliseconds. Default value is 30000 which is 30 seconds.
 | 
						|
@item txt_transparent
 | 
						|
Force transparent background of the generated teletext bitmaps. Default value
 | 
						|
is 0 which means an opaque (black) background.
 | 
						|
@end table
 | 
						|
 | 
						|
@c man end SUBTILES DECODERS
 |