Commit | Line | Data |
---|---|---|
2ba45a60 DM |
1 | @chapter Decoders |
2 | @c man begin DECODERS | |
3 | ||
4 | Decoders are configured elements in FFmpeg which allow the decoding of | |
5 | multimedia streams. | |
6 | ||
7 | When you configure your FFmpeg build, all the supported native decoders | |
8 | are enabled by default. Decoders requiring an external library must be enabled | |
9 | manually via the corresponding @code{--enable-lib} option. You can list all | |
10 | available decoders using the configure option @code{--list-decoders}. | |
11 | ||
12 | You can disable all the decoders with the configure option | |
13 | @code{--disable-decoders} and selectively enable / disable single decoders | |
14 | with the options @code{--enable-decoder=@var{DECODER}} / | |
15 | @code{--disable-decoder=@var{DECODER}}. | |
16 | ||
17 | The option @code{-decoders} of the ff* tools will display the list of | |
18 | enabled decoders. | |
19 | ||
20 | @c man end DECODERS | |
21 | ||
22 | @chapter Video Decoders | |
23 | @c man begin VIDEO DECODERS | |
24 | ||
25 | A description of some of the currently available video decoders | |
26 | follows. | |
27 | ||
28 | @section rawvideo | |
29 | ||
30 | Raw video decoder. | |
31 | ||
32 | This decoder decodes rawvideo streams. | |
33 | ||
34 | @subsection Options | |
35 | ||
36 | @table @option | |
37 | @item top @var{top_field_first} | |
38 | Specify the assumed field type of the input video. | |
39 | @table @option | |
40 | @item -1 | |
41 | the video is assumed to be progressive (default) | |
42 | @item 0 | |
43 | bottom-field-first is assumed | |
44 | @item 1 | |
45 | top-field-first is assumed | |
46 | @end table | |
47 | ||
48 | @end table | |
49 | ||
50 | @c man end VIDEO DECODERS | |
51 | ||
52 | @chapter Audio Decoders | |
53 | @c man begin AUDIO DECODERS | |
54 | ||
55 | A description of some of the currently available audio decoders | |
56 | follows. | |
57 | ||
58 | @section ac3 | |
59 | ||
60 | AC-3 audio decoder. | |
61 | ||
62 | This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well as | |
63 | the undocumented RealAudio 3 (a.k.a. dnet). | |
64 | ||
65 | @subsection AC-3 Decoder Options | |
66 | ||
67 | @table @option | |
68 | ||
69 | @item -drc_scale @var{value} | |
70 | Dynamic Range Scale Factor. The factor to apply to dynamic range values | |
71 | from the AC-3 stream. This factor is applied exponentially. | |
72 | There are 3 notable scale factor ranges: | |
73 | @table @option | |
74 | @item drc_scale == 0 | |
75 | DRC disabled. Produces full range audio. | |
76 | @item 0 < drc_scale <= 1 | |
77 | DRC enabled. Applies a fraction of the stream DRC value. | |
78 | Audio reproduction is between full range and full compression. | |
79 | @item drc_scale > 1 | |
80 | DRC enabled. Applies drc_scale asymmetrically. | |
81 | Loud sounds are fully compressed. Soft sounds are enhanced. | |
82 | @end table | |
83 | ||
84 | @end table | |
85 | ||
86 | @section ffwavesynth | |
87 | ||
88 | Internal wave synthetizer. | |
89 | ||
90 | This decoder generates wave patterns according to predefined sequences. Its | |
91 | use is purely internal and the format of the data it accepts is not publicly | |
92 | documented. | |
93 | ||
94 | @section libcelt | |
95 | ||
96 | libcelt decoder wrapper. | |
97 | ||
98 | libcelt allows libavcodec to decode the Xiph CELT ultra-low delay audio codec. | |
99 | Requires the presence of the libcelt headers and library during configuration. | |
100 | You need to explicitly configure the build with @code{--enable-libcelt}. | |
101 | ||
102 | @section libgsm | |
103 | ||
104 | libgsm decoder wrapper. | |
105 | ||
106 | libgsm allows libavcodec to decode the GSM full rate audio codec. Requires | |
107 | the presence of the libgsm headers and library during configuration. You need | |
108 | to explicitly configure the build with @code{--enable-libgsm}. | |
109 | ||
110 | This decoder supports both the ordinary GSM and the Microsoft variant. | |
111 | ||
112 | @section libilbc | |
113 | ||
114 | libilbc decoder wrapper. | |
115 | ||
116 | libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC) | |
117 | audio codec. Requires the presence of the libilbc headers and library during | |
118 | configuration. You need to explicitly configure the build with | |
119 | @code{--enable-libilbc}. | |
120 | ||
121 | @subsection Options | |
122 | ||
123 | The following option is supported by the libilbc wrapper. | |
124 | ||
125 | @table @option | |
126 | @item enhance | |
127 | ||
128 | Enable the enhancement of the decoded audio when set to 1. The default | |
129 | value is 0 (disabled). | |
130 | ||
131 | @end table | |
132 | ||
133 | @section libopencore-amrnb | |
134 | ||
135 | libopencore-amrnb decoder wrapper. | |
136 | ||
137 | libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate | |
138 | Narrowband audio codec. Using it requires the presence of the | |
139 | libopencore-amrnb headers and library during configuration. You need to | |
140 | explicitly configure the build with @code{--enable-libopencore-amrnb}. | |
141 | ||
142 | An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB | |
143 | without this library. | |
144 | ||
145 | @section libopencore-amrwb | |
146 | ||
147 | libopencore-amrwb decoder wrapper. | |
148 | ||
149 | libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate | |
150 | Wideband audio codec. Using it requires the presence of the | |
151 | libopencore-amrwb headers and library during configuration. You need to | |
152 | explicitly configure the build with @code{--enable-libopencore-amrwb}. | |
153 | ||
154 | An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB | |
155 | without this library. | |
156 | ||
157 | @section libopus | |
158 | ||
159 | libopus decoder wrapper. | |
160 | ||
161 | libopus allows libavcodec to decode the Opus Interactive Audio Codec. | |
162 | Requires the presence of the libopus headers and library during | |
163 | configuration. You need to explicitly configure the build with | |
164 | @code{--enable-libopus}. | |
165 | ||
166 | An FFmpeg native decoder for Opus exists, so users can decode Opus | |
167 | without this library. | |
168 | ||
169 | @c man end AUDIO DECODERS | |
170 | ||
171 | @chapter Subtitles Decoders | |
172 | @c man begin SUBTILES DECODERS | |
173 | ||
174 | @section dvdsub | |
175 | ||
176 | This codec decodes the bitmap subtitles used in DVDs; the same subtitles can | |
177 | also be found in VobSub file pairs and in some Matroska files. | |
178 | ||
179 | @subsection Options | |
180 | ||
181 | @table @option | |
182 | @item palette | |
183 | Specify the global palette used by the bitmaps. When stored in VobSub, the | |
184 | palette is normally specified in the index file; in Matroska, the palette is | |
185 | stored in the codec extra-data in the same format as in VobSub. In DVDs, the | |
186 | palette is stored in the IFO file, and therefore not available when reading | |
187 | from dumped VOB files. | |
188 | ||
189 | The format for this option is a string containing 16 24-bits hexadecimal | |
190 | numbers (without 0x prefix) separated by comas, for example @code{0d00ee, | |
191 | ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, | |
192 | 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b}. | |
f6fa7814 DM |
193 | |
194 | @item ifo_palette | |
195 | Specify the IFO file from which the global palette is obtained. | |
196 | (experimental) | |
197 | ||
198 | @item forced_subs_only | |
199 | Only decode subtitle entries marked as forced. Some titles have forced | |
200 | and non-forced subtitles in the same track. Setting this flag to @code{1} | |
201 | will only keep the forced subtitles. Default value is @code{0}. | |
2ba45a60 DM |
202 | @end table |
203 | ||
204 | @section libzvbi-teletext | |
205 | ||
206 | Libzvbi allows libavcodec to decode DVB teletext pages and DVB teletext | |
207 | subtitles. Requires the presence of the libzvbi headers and library during | |
208 | configuration. You need to explicitly configure the build with | |
209 | @code{--enable-libzvbi}. | |
210 | ||
211 | @subsection Options | |
212 | ||
213 | @table @option | |
214 | @item txt_page | |
215 | List of teletext page numbers to decode. You may use the special * string to | |
216 | match all pages. Pages that do not match the specified list are dropped. | |
217 | Default value is *. | |
218 | @item txt_chop_top | |
219 | Discards the top teletext line. Default value is 1. | |
220 | @item txt_format | |
221 | Specifies the format of the decoded subtitles. The teletext decoder is capable | |
222 | of decoding the teletext pages to bitmaps or to simple text, you should use | |
223 | "bitmap" for teletext pages, because certain graphics and colors cannot be | |
224 | expressed in simple text. You might use "text" for teletext based subtitles if | |
225 | your application can handle simple text based subtitles. Default value is | |
226 | bitmap. | |
227 | @item txt_left | |
228 | X offset of generated bitmaps, default is 0. | |
229 | @item txt_top | |
230 | Y offset of generated bitmaps, default is 0. | |
231 | @item txt_chop_spaces | |
232 | Chops leading and trailing spaces and removes empty lines from the generated | |
233 | text. This option is useful for teletext based subtitles where empty spaces may | |
234 | be present at the start or at the end of the lines or empty lines may be | |
235 | present between the subtitle lines because of double-sized teletext charactes. | |
236 | Default value is 1. | |
237 | @item txt_duration | |
238 | Sets the display duration of the decoded teletext pages or subtitles in | |
239 | miliseconds. Default value is 30000 which is 30 seconds. | |
240 | @item txt_transparent | |
241 | Force transparent background of the generated teletext bitmaps. Default value | |
242 | is 0 which means an opaque (black) background. | |
243 | @end table | |
244 | ||
245 | @c man end SUBTILES DECODERS |