lavu/opt: add AV_OPT_FLAG_DEPRECATED
[ffmpeg.git] / doc / decoders.texi
index 08f8df8..a9510bd 100644 (file)
@@ -14,7 +14,7 @@ You can disable all the decoders with the configure option
 with the options @code{--enable-decoder=@var{DECODER}} /
 @code{--disable-decoder=@var{DECODER}}.
 
-The option @code{-codecs} of the ff* tools will display the list of
+The option @code{-decoders} of the ff* tools will display the list of
 enabled decoders.
 
 @c man end DECODERS
@@ -52,9 +52,57 @@ top-field-first is assumed
 @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.
+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
@@ -62,7 +110,7 @@ documented.
 
 @section libcelt
 
-libcelt decoder wrapper
+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.
@@ -70,7 +118,7 @@ You need to explicitly configure the build with @code{--enable-libcelt}.
 
 @section libgsm
 
-libgsm decoder wrapper
+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
@@ -80,7 +128,7 @@ This decoder supports both the ordinary GSM and the Microsoft variant.
 
 @section libilbc
 
-libilbc decoder wrapper
+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
@@ -101,7 +149,7 @@ value is 0 (disabled).
 
 @section libopencore-amrnb
 
-libopencore-amrnb decoder wrapper
+libopencore-amrnb decoder wrapper.
 
 libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate
 Narrowband audio codec. Using it requires the presence of the
@@ -111,11 +159,54 @@ 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
@@ -135,6 +226,62 @@ 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 characters.
+Default value is 1.
+@item txt_duration
+Sets the display duration of the decoded teletext pages or subtitles in
+milliseconds. 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 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