general.texi 45 KB
Newer Older
1 2 3 4 5 6 7
\input texinfo @c -*- texinfo -*-

@settitle General Documentation
@titlepage
@center @titlefont{General Documentation}
@end titlepage

8 9 10
@top

@contents
11 12 13

@chapter external libraries

14
Libav can be hooked up with a number of external libraries to add support
15 16 17
for more formats. None of them are used by default, their use has to be
explicitly requested by passing the appropriate flags to @file{./configure}.

18
@section OpenCORE AMR
19

20
Libav can make use of the OpenCORE libraries for AMR-NB
21
decoding/encoding and AMR-WB decoding.
22

23
Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the instructions for
24 25 26 27 28 29
installing the libraries. Then pass @code{--enable-libopencore-amrnb} and/or
@code{--enable-libopencore-amrwb} to configure to enable the libraries.

Note that OpenCORE is under the Apache License 2.0 (see
@url{http://www.apache.org/licenses/LICENSE-2.0} for details), which is
incompatible with the LGPL version 2.1 and GPL version 2. You have to
30
upgrade Libav's license to LGPL version 3 (or if you have enabled
31 32
GPL components, GPL version 3) to use it.

33 34 35

@chapter Supported File Formats and Codecs

Daniel Verkamp's avatar
Daniel Verkamp committed
36
You can use the @code{-formats} and @code{-codecs} options to have an exhaustive list.
37 38 39

@section File Formats

40
Libav supports the following file formats through the @code{libavformat}
41 42 43
library:

@multitable @columnfractions .4 .1 .1 .4
44
@item Name @tab Encoding @tab Decoding @tab Comments
Diego Biurrun's avatar
Diego Biurrun committed
45
@item 4xm                       @tab   @tab X
46
    @tab 4X Technologies format, used in some games.
47
@item 8088flex TMV              @tab   @tab X
48
@item Adobe Filmstrip           @tab X @tab X
49
@item Audio IFF (AIFF)          @tab X @tab X
Diego Biurrun's avatar
Diego Biurrun committed
50 51
@item American Laser Games MM   @tab   @tab X
    @tab Multimedia format used in games like Mad Dog McCree.
52
@item 3GPP AMR                  @tab X @tab X
53
@item Apple HTTP Live Streaming @tab   @tab X
54 55
@item ASF                       @tab X @tab X
@item AVI                       @tab X @tab X
56
@item AVISynth                  @tab   @tab X
57
@item AVS                       @tab   @tab X
58
    @tab Multimedia format used by the Creature Shock game.
59 60 61
@item Beam Software SIFF        @tab   @tab X
    @tab Audio and video format used in some games by Beam Software.
@item Bethesda Softworks VID    @tab   @tab X
62
    @tab Used in some games from Bethesda Softworks.
Peter Ross's avatar
Peter Ross committed
63 64
@item Bink                      @tab   @tab X
    @tab Multimedia format used by many games.
Peter Ross's avatar
Peter Ross committed
65 66
@item Bitmap Brothers JV        @tab   @tab X
    @tab Used in Z and Z95 games.
67 68 69
@item Brute Force & Ignorance   @tab   @tab X
    @tab Used in the game Flash Traffic: City of Angels.
@item Interplay C93             @tab   @tab X
70
    @tab Used in the game Cyberia from Interplay.
71
@item Delphine Software International CIN @tab   @tab X
72
    @tab Multimedia format used by Delphine Software games.
Michael Tison's avatar
Michael Tison committed
73 74
@item CD+G                      @tab   @tab X
    @tab Video format used by CD+G karaoke disks
Peter Ross's avatar
Peter Ross committed
75 76
@item Core Audio Format         @tab   @tab X
    @tab Apple Core Audio Format
77
@item CRC testing format        @tab X @tab
78
@item Creative Voice            @tab X @tab X
79
    @tab Created for the Sound Blaster Pro.
Diego Biurrun's avatar
Diego Biurrun committed
80 81
@item CRYO APC                  @tab   @tab X
    @tab Audio format used in some games by CRYO Interactive Entertainment.
82
@item D-Cinema audio            @tab X @tab X
Peter Ross's avatar
Peter Ross committed
83
@item Deluxe Paint Animation    @tab   @tab X
Kostya Shishkov's avatar
Kostya Shishkov committed
84 85
@item DFA                       @tab   @tab X
    @tab This format is used in Chronomaster game
86
@item DV video                  @tab X @tab X
87
@item DXA                       @tab   @tab X
88 89
    @tab This format is used in the non-Windows version of the Feeble Files
         game and different game cutscenes repacked for use with ScummVM.
90
@item Electronic Arts cdata  @tab    @tab X
91
@item Electronic Arts Multimedia  @tab    @tab X
92
    @tab Used in various EA games; files have extensions like WVE and UV2.
93 94
@item FFM (FFserver live feed)  @tab X @tab X
@item Flash (SWF)               @tab X @tab X
95 96 97
@item Flash 9 (AVM2)            @tab X @tab X
    @tab Only embedded audio is decoded.
@item FLI/FLC/FLX animation     @tab   @tab X
98
    @tab .fli/.flc files
99
@item Flash Video (FLV)         @tab   @tab X
100
    @tab Macromedia Flash video files
101
@item framecrc testing format   @tab X @tab
102 103
@item FunCom ISS                @tab   @tab X
    @tab Audio format used in various games from FunCom like The Longest Journey.
104
@item GIF Animation             @tab X @tab
105
@item GXF                       @tab X @tab X
106
    @tab General eXchange Format SMPTE 360M, used by Thomson Grass Valley
Diego Biurrun's avatar
Diego Biurrun committed
107
         playout servers.
108
@item id Quake II CIN video     @tab   @tab X
Diego Biurrun's avatar
Diego Biurrun committed
109
@item id RoQ                    @tab X @tab X
110
    @tab Used in Quake III, Jedi Knight 2, other computer games.
Anssi Hannula's avatar
Anssi Hannula committed
111
@item IEC61937 encapsulation @tab X @tab X
112
@item IFF                       @tab   @tab X
113
    @tab Interchange File Format
114
@item Interplay MVE             @tab   @tab X
115
    @tab Format used in various Interplay computer games.
116 117
@item IV8                       @tab   @tab X
    @tab A format generated by IndigoVision 8000 video server.
118
@item IVF (On2)                 @tab X @tab X
David Conrad's avatar
David Conrad committed
119
    @tab A format used by libvpx
120
@item LMLM4                     @tab   @tab X
121
    @tab Used by Linux Media Labs MPEG-4 PCI boards
122 123
@item LXF                       @tab   @tab X
    @tab VR native stream format, used by Leitch/Harris' video servers.
Diego Biurrun's avatar
Diego Biurrun committed
124
@item Matroska                  @tab X @tab X
125
@item Matroska audio            @tab X @tab
Anton Khirnov's avatar
Anton Khirnov committed
126
@item FFmpeg metadata           @tab X @tab X
Anton Khirnov's avatar
Anton Khirnov committed
127
    @tab Metadata in text format.
128
@item MAXIS XA                  @tab   @tab X
129
    @tab Used in Sim City 3000; file extension .xa.
130
@item MD Studio                 @tab   @tab X
Anatoly Nenashev's avatar
Anatoly Nenashev committed
131
@item Mobotix .mxg              @tab   @tab X
Diego Biurrun's avatar
Diego Biurrun committed
132
@item Monkey's Audio            @tab   @tab X
133
@item Motion Pixels MVI         @tab   @tab X
134 135
@item MOV/QuickTime/MP4         @tab X @tab X
    @tab 3GP, 3GP2, PSP, iPod variants supported
136 137
@item MP2                       @tab X @tab X
@item MP3                       @tab X @tab X
138 139 140 141 142
@item MPEG-1 System             @tab X @tab X
    @tab muxed audio and video, VCD format supported
@item MPEG-PS (program stream)  @tab X @tab X
    @tab also known as @code{VOB} file, SVCD and DVD format supported
@item MPEG-TS (transport stream) @tab X @tab X
143
    @tab also known as DVB Transport Stream
144
@item MPEG-4                    @tab X @tab X
145
    @tab MPEG-4 is a variant of QuickTime.
146
@item MIME multipart JPEG       @tab X @tab
147
@item MSN TCP webcam            @tab   @tab X
148
    @tab Used by MSN Messenger webcam streams.
149 150 151
@item MTV                       @tab   @tab X
@item Musepack                  @tab   @tab X
@item Musepack SV8              @tab   @tab X
152 153
@item Material eXchange Format (MXF) @tab X @tab X
    @tab SMPTE 377M, used by D-Cinema, broadcast industry.
154 155
@item Material eXchange Format (MXF), D-10 Mapping @tab X @tab X
    @tab SMPTE 386M, D-10/IMX Mapping.
156 157
@item NC camera feed            @tab   @tab X
    @tab NC (AVIP NC4600) camera streams
158 159
@item NTT TwinVQ (VQF)          @tab   @tab X
    @tab Nippon Telegraph and Telephone Corporation TwinVQ.
160
@item Nullsoft Streaming Video  @tab   @tab X
161
@item NuppelVideo               @tab   @tab X
162
@item NUT                       @tab X @tab X
163
    @tab NUT Open Container Format
164
@item Ogg                       @tab X @tab X
165
@item TechnoTrend PVA           @tab   @tab X
166
    @tab Used by TechnoTrend DVB PCI boards.
Kenan Gillet's avatar
Kenan Gillet committed
167
@item QCP                       @tab   @tab X
168
@item raw ADTS (AAC)            @tab X @tab X
Diego Biurrun's avatar
Diego Biurrun committed
169
@item raw AC-3                  @tab X @tab X
170
@item raw Chinese AVS video     @tab X @tab X
171 172 173 174 175 176 177 178 179 180 181
@item raw CRI ADX               @tab X @tab X
@item raw Dirac                 @tab X @tab X
@item raw DNxHD                 @tab X @tab X
@item raw DTS                   @tab X @tab X
@item raw E-AC-3                @tab X @tab X
@item raw FLAC                  @tab X @tab X
@item raw GSM                   @tab   @tab X
@item raw H.261                 @tab X @tab X
@item raw H.263                 @tab X @tab X
@item raw H.264                 @tab X @tab X
@item raw Ingenient MJPEG       @tab   @tab X
Diego Biurrun's avatar
Diego Biurrun committed
182
@item raw MJPEG                 @tab X @tab X
183 184 185 186 187 188
@item raw MLP                   @tab   @tab X
@item raw MPEG                  @tab   @tab X
@item raw MPEG-1                @tab   @tab X
@item raw MPEG-2                @tab   @tab X
@item raw MPEG-4                @tab X @tab X
@item raw NULL                  @tab X @tab
Diego Biurrun's avatar
Diego Biurrun committed
189
@item raw video                 @tab X @tab X
190 191
@item raw id RoQ                @tab X @tab
@item raw Shorten               @tab   @tab X
Ramiro Polla's avatar
Ramiro Polla committed
192
@item raw TrueHD                @tab X @tab X
193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
@item raw VC-1                  @tab   @tab X
@item raw PCM A-law             @tab X @tab X
@item raw PCM mu-law            @tab X @tab X
@item raw PCM signed 8 bit      @tab X @tab X
@item raw PCM signed 16 bit big-endian  @tab X @tab X
@item raw PCM signed 16 bit little-endian  @tab X @tab X
@item raw PCM signed 24 bit big-endian  @tab X @tab X
@item raw PCM signed 24 bit little-endian  @tab X @tab X
@item raw PCM signed 32 bit big-endian  @tab X @tab X
@item raw PCM signed 32 bit little-endian  @tab X @tab X
@item raw PCM unsigned 8 bit    @tab X @tab X
@item raw PCM unsigned 16 bit big-endian  @tab X @tab X
@item raw PCM unsigned 16 bit little-endian  @tab X @tab X
@item raw PCM unsigned 24 bit big-endian  @tab X @tab X
@item raw PCM unsigned 24 bit little-endian  @tab X @tab X
@item raw PCM unsigned 32 bit big-endian  @tab X @tab X
@item raw PCM unsigned 32 bit little-endian  @tab X @tab X
@item raw PCM floating-point 32 bit big-endian  @tab X @tab X
@item raw PCM floating-point 32 bit little-endian  @tab X @tab X
@item raw PCM floating-point 64 bit big-endian  @tab X @tab X
@item raw PCM floating-point 64 bit little-endian  @tab X @tab X
214
@item RDT                       @tab   @tab X
215
@item REDCODE R3D               @tab   @tab X
Baptiste Coudurier's avatar
Baptiste Coudurier committed
216
    @tab File format used by RED Digital cameras, contains JPEG 2000 frames and PCM audio.
Diego Biurrun's avatar
Diego Biurrun committed
217
@item RealMedia                 @tab X @tab X
218
@item Redirector                @tab   @tab X
219
@item Renderware TeXture Dictionary @tab   @tab X
220
@item RL2                       @tab   @tab X
221
    @tab Audio and video format used in some games by Entertainment Software Partners.
222
@item RPL/ARMovie               @tab   @tab X
223
@item Lego Mindstorms RSO       @tab X @tab X
224 225
@item RTMP                      @tab X @tab X
    @tab Output is performed by publishing stream to RTMP server
226
@item RTP                       @tab X @tab X
Martin Storsjö's avatar
Martin Storsjö committed
227
@item RTSP                      @tab X @tab X
Martin Storsjö's avatar
Martin Storsjö committed
228
@item SAP                       @tab X @tab X
229
@item SDP                       @tab   @tab X
230
@item Sega FILM/CPK             @tab   @tab X
231
    @tab Used in many Sega Saturn console games.
232
@item Sierra SOL                @tab   @tab X
233
    @tab .sol files used in Sierra Online games.
234
@item Sierra VMD                @tab   @tab X
235
    @tab Used in Sierra CD-ROM games.
236
@item Smacker                   @tab   @tab X
237
    @tab Multimedia format used by many games.
238 239 240
@item Sony OpenMG (OMA)         @tab   @tab X
    @tab Audio format used in Sony Sonic Stage and Sony Vegas.
@item Sony PlayStation STR      @tab   @tab X
Daniel Verkamp's avatar
Daniel Verkamp committed
241
@item Sony Wave64 (W64)         @tab   @tab X
242
@item SoX native format         @tab X @tab X
Diego Biurrun's avatar
Diego Biurrun committed
243
@item SUN AU format             @tab X @tab X
Peter Ross's avatar
Peter Ross committed
244
@item Text files                @tab   @tab X
245
@item THP                       @tab   @tab X
246
    @tab Used on the Nintendo GameCube.
247 248
@item Tiertex Limited SEQ       @tab   @tab X
    @tab Tiertex .seq files used in the DOS CD-ROM version of the game Flashback.
249 250
@item True Audio                @tab   @tab X
@item VC-1 test bitstream       @tab X @tab X
251
@item WAV                       @tab X @tab X
252
@item WavPack                   @tab   @tab X
James Zern's avatar
James Zern committed
253
@item WebM                      @tab X @tab X
Peter Ross's avatar
Peter Ross committed
254
@item Windows Televison (WTV)   @tab   @tab X
255
@item Wing Commander III movie  @tab   @tab X
256
    @tab Multimedia format used in Origin's Wing Commander III computer game.
257 258 259 260
@item Westwood Studios audio    @tab   @tab X
    @tab Multimedia format used in Westwood Studios games.
@item Westwood Studios VQA      @tab   @tab X
    @tab Multimedia format used in Westwood Studios games.
261
@item YUV4MPEG pipe             @tab X @tab X
262
@item Psygnosis YOP             @tab   @tab X
263 264 265 266 267 268 269 270 271 272
@end multitable

@code{X} means that encoding (resp. decoding) is supported.

@section Image Formats

FFmpeg can read and write images for each frame of a video sequence. The
following image formats are supported:

@multitable @columnfractions .4 .1 .1 .4
273
@item Name @tab Encoding @tab Decoding @tab Comments
274 275 276 277
@item .Y.U.V       @tab X @tab X
    @tab one raw file per component
@item animated GIF @tab X @tab X
    @tab Only uncompressed GIFs are generated.
278 279
@item BMP          @tab X @tab X
    @tab Microsoft BMP image
280 281
@item DPX          @tab   @tab X
    @tab Digital Picture Exchange
282 283 284 285
@item JPEG         @tab X @tab X
    @tab Progressive JPEG is not supported.
@item JPEG 2000    @tab   @tab E
    @tab decoding supported through external library libopenjpeg
286 287 288
@item JPEG-LS      @tab X @tab X
@item LJPEG        @tab X @tab
    @tab Lossless JPEG
289
@item PAM          @tab X @tab X
290
    @tab PAM is a PNM extension with alpha support.
291
@item PBM          @tab X @tab X
292
    @tab Portable BitMap image
293
@item PCX          @tab X @tab X
294
    @tab PC Paintbrush
295
@item PGM          @tab X @tab X
296
    @tab Portable GrayMap image
297
@item PGMYUV       @tab X @tab X
298
    @tab PGM with U and V components in YUV 4:2:0
Peter Ross's avatar
Peter Ross committed
299 300
@item PIC          @tab @tab X
    @tab Pictor/PC Paint
301 302
@item PNG          @tab X @tab X
    @tab 2/4 bpp not supported yet
303
@item PPM          @tab X @tab X
304
    @tab Portable PixelMap image
305 306 307 308
@item PTX          @tab   @tab X
    @tab V.Flash PTX format
@item SGI          @tab X @tab X
    @tab SGI RGB image format
309 310
@item Sun Rasterfile  @tab   @tab X
    @tab Sun RAS image format
311 312
@item TIFF         @tab X @tab X
    @tab YUV, JPEG and some extension is not supported yet.
313 314
@item Truevision Targa  @tab X @tab X
    @tab Targa (.TGA) image format
315 316 317 318
@end multitable

@code{X} means that encoding (resp. decoding) is supported.

319 320
@code{E} means that support is provided through an external library.

321 322 323
@section Video Codecs

@multitable @columnfractions .4 .1 .1 .4
324
@item Name @tab Encoding @tab Decoding @tab Comments
325
@item 4X Movie               @tab     @tab  X
326
    @tab Used in certain computer games.
327
@item 8088flex TMV           @tab     @tab  X
328 329
@item 8SVX exponential       @tab     @tab  X
@item 8SVX fibonacci         @tab     @tab  X
330 331
@item A64 multicolor         @tab  X  @tab
    @tab Creates video suitable to be played on a commodore 64 (multicolor mode).
332
@item American Laser Games MM  @tab    @tab X
333
    @tab Used in games like Mad Dog McCree.
334
@item AMV Video              @tab     @tab  X
335
    @tab Used in Chinese MP3 players.
Peter Ross's avatar
Peter Ross committed
336
@item ANSI/ASCII art         @tab     @tab  X
337 338
@item Apple MJPEG-B          @tab     @tab  X
@item Apple QuickDraw        @tab     @tab  X
339
    @tab fourcc: qdrw
340
@item Asus v1                @tab  X  @tab  X
341
    @tab fourcc: ASV1
342
@item Asus v2                @tab  X  @tab  X
343
    @tab fourcc: ASV2
344
@item ATI VCR1               @tab     @tab  X
345
    @tab fourcc: VCR1
346
@item ATI VCR2               @tab     @tab  X
347
    @tab fourcc: VCR2
348
@item Auravision Aura        @tab     @tab  X
Kostya Shishkov's avatar
Kostya Shishkov committed
349
@item Auravision Aura 2      @tab     @tab  X
350
@item Autodesk Animator Flic video  @tab     @tab  X
351
@item Autodesk RLE           @tab     @tab  X
352
    @tab fourcc: AASC
353
@item AVS (Audio Video Standard) video  @tab     @tab  X
354
    @tab Video encoding used by the Creature Shock game.
355
@item Beam Software VB       @tab     @tab  X
356
@item Bethesda VID video     @tab     @tab  X
357
    @tab Used in some games from Bethesda Softworks.
Kostya Shishkov's avatar
Kostya Shishkov committed
358
@item Bink Video             @tab     @tab  X
Peter Ross's avatar
Peter Ross committed
359
@item Bitmap Brothers JV video  @tab   @tab X
360 361
@item Brute Force & Ignorance   @tab   @tab X
    @tab Used in the game Flash Traffic: City of Angels.
362
@item C93 video              @tab     @tab  X
363
    @tab Codec used in Cyberia game.
364
@item CamStudio              @tab     @tab  X
365
    @tab fourcc: CSCD
Michael Tison's avatar
Michael Tison committed
366 367
@item CD+G                   @tab     @tab  X
    @tab Video codec for CD+G karaoke disks
368 369
@item Chinese AVS video      @tab  E  @tab  X
    @tab AVS1-P2, JiZhun profile, encoding through external library libxavs
370 371
@item Delphine Software International CIN video  @tab     @tab  X
    @tab Codec used in Delphine Software International games.
372 373
@item Cinepak                @tab     @tab  X
@item Cirrus Logic AccuPak   @tab     @tab  X
374
    @tab fourcc: CLJR
375
@item Creative YUV (CYUV)    @tab     @tab  X
Kostya Shishkov's avatar
Kostya Shishkov committed
376 377
@item DFA                    @tab     @tab  X
    @tab Codec used in Chronomaster game.
378
@item Dirac                  @tab  E  @tab  E
379
    @tab supported through external libdirac/libschroedinger libraries
Peter Ross's avatar
Peter Ross committed
380
@item Deluxe Paint Animation @tab     @tab  X
381 382
@item DNxHD                  @tab   X @tab  X
    @tab aka SMPTE VC3
383
@item Duck TrueMotion 1.0   @tab     @tab  X
384
    @tab fourcc: DUCK
385
@item Duck TrueMotion 2.0    @tab     @tab  X
386
    @tab fourcc: TM20
387 388
@item DV (Digital Video)     @tab  X  @tab  X
@item Feeble Files/ScummVM DXA  @tab     @tab  X
389
    @tab Codec originally used in Feeble Files game.
390
@item Electronic Arts CMV video  @tab     @tab  X
391
    @tab Used in NHL 95 game.
Peter Ross's avatar
Peter Ross committed
392
@item Electronic Arts Madcow video  @tab     @tab  X
393 394 395 396
@item Electronic Arts TGV video  @tab     @tab  X
@item Electronic Arts TGQ video  @tab     @tab  X
@item Electronic Arts TQI video  @tab     @tab  X
@item Escape 124             @tab     @tab  X
397
@item FFmpeg video codec #1  @tab  X  @tab  X
398
    @tab experimental lossless codec (fourcc: FFV1)
399
@item Flash Screen Video v1  @tab  X  @tab  X
400
    @tab fourcc: FSV1
401
@item Flash Video (FLV)      @tab  X  @tab  X
402
    @tab Sorenson H.263 used in Flash
403
@item Fraps                  @tab     @tab  X
404
@item H.261                  @tab  X  @tab  X
405 406 407
@item H.263 / H.263-1996     @tab  X  @tab  X
@item H.263+ / H.263-1998 / H.263 version 2  @tab  X  @tab  X
@item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10  @tab  E  @tab  X
408
    @tab encoding supported through external library libx264
409
@item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)  @tab  E  @tab  X
410
@item HuffYUV                @tab  X  @tab  X
411
@item HuffYUV FFmpeg variant @tab  X  @tab  X
412
@item IBM Ultimotion         @tab     @tab  X
413
    @tab fourcc: ULTI
414
@item id Cinematic video     @tab     @tab  X
415
    @tab Used in Quake II.
416
@item id RoQ video           @tab  X  @tab  X
417
    @tab Used in Quake III, Jedi Knight 2, other computer games.
Peter Ross's avatar
Peter Ross committed
418 419 420 421
@item IFF ILBM               @tab     @tab  X
    @tab IFF interlaved bitmap
@item IFF ByteRun1           @tab     @tab  X
    @tab IFF run length encoded bitmap
422 423
@item Intel H.263            @tab     @tab  X
@item Intel Indeo 2          @tab     @tab  X
424
@item Intel Indeo 3          @tab     @tab  X
Kostya Shishkov's avatar
Kostya Shishkov committed
425
@item Intel Indeo 5          @tab     @tab  X
426
@item Interplay C93          @tab     @tab  X
427
    @tab Used in the game Cyberia from Interplay.
428
@item Interplay MVE video    @tab     @tab  X
429
    @tab Used in Interplay .MVE files.
430
@item Karl Morton's video codec  @tab     @tab  X
431
    @tab Codec used in Worms games.
432 433
@item Kega Game Video (KGV1) @tab      @tab  X
    @tab Kega emulator screen capture codec.
434
@item Lagarith               @tab     @tab  X
435 436
@item LCL (LossLess Codec Library) MSZH  @tab     @tab  X
@item LCL (LossLess Codec Library) ZLIB  @tab  E  @tab  E
437 438 439
@item LOCO                   @tab     @tab  X
@item lossless MJPEG         @tab  X  @tab  X
@item Microsoft RLE          @tab     @tab  X
440
@item Microsoft Video 1      @tab     @tab  X
441
@item Mimic                  @tab     @tab  X
442
    @tab Used in MSN Messenger Webcam streams.
443
@item Miro VideoXL           @tab     @tab  X
444
    @tab fourcc: VIXL
445
@item MJPEG (Motion JPEG)    @tab  X  @tab  X
anatoly's avatar
anatoly committed
446
@item Mobotix MxPEG video    @tab     @tab  X
447 448 449 450 451 452 453
@item Motion Pixels video    @tab     @tab  X
@item MPEG-1 video           @tab  X  @tab  X
@item MPEG-1/2 video XvMC (X-Video Motion Compensation)  @tab     @tab  X
@item MPEG-1/2 video (VDPAU acceleration)  @tab     @tab  X
@item MPEG-2 video           @tab  X  @tab  X
@item MPEG-4 part 2          @tab  X  @tab  X
    @ libxvidcore can be used alternatively for encoding.
454
@item MPEG-4 part 2 Microsoft variant version 1  @tab     @tab  X
455 456
@item MPEG-4 part 2 Microsoft variant version 2  @tab  X  @tab  X
@item MPEG-4 part 2 Microsoft variant version 3  @tab  X  @tab  X
457
@item Nintendo Gamecube THP video  @tab     @tab  X
458 459
@item NuppelVideo/RTjpeg     @tab     @tab  X
    @tab Video encoding used in NuppelVideo files.
460
@item On2 VP3                @tab     @tab  X
461
    @tab still experimental
462
@item On2 VP5                @tab     @tab  X
463
    @tab fourcc: VP50
464
@item On2 VP6                @tab     @tab  X
465
    @tab fourcc: VP60,VP61,VP62
David Conrad's avatar
David Conrad committed
466 467
@item VP8                    @tab  E  @tab  X
    @tab fourcc: VP80, encoding supported through external library libvpx
468
@item planar RGB             @tab     @tab  X
469
    @tab fourcc: 8BPS
470
@item Q-team QPEG            @tab     @tab  X
471
    @tab fourccs: QPEG, Q1.0, Q1.1
472
@item QuickTime 8BPS video   @tab     @tab  X
473 474 475 476 477 478
@item QuickTime Animation (RLE) video  @tab  X  @tab  X
    @tab fourcc: 'rle '
@item QuickTime Graphics (SMC)  @tab     @tab  X
    @tab fourcc: 'smc '
@item QuickTime video (RPZA) @tab     @tab  X
    @tab fourcc: rpza
Zhou Zongyi's avatar
Zhou Zongyi committed
479
@item R10K AJA Kona 10-bit RGB Codec     @tab     @tab  X
480
@item R210 Quicktime Uncompressed RGB 10-bit     @tab     @tab  X
481
@item Raw Video              @tab  X  @tab  X
482 483
@item RealVideo 1.0          @tab  X  @tab  X
@item RealVideo 2.0          @tab  X  @tab  X
Kostya Shishkov's avatar
Kostya Shishkov committed
484 485
@item RealVideo 3.0          @tab     @tab  X
    @tab still far from ideal
Kostya Shishkov's avatar
Kostya Shishkov committed
486
@item RealVideo 4.0          @tab     @tab  X
487
@item Renderware TXD (TeXture Dictionary)  @tab     @tab  X
488
    @tab Texture dictionaries used by the Renderware Engine.
489 490
@item RL2 video              @tab     @tab  X
    @tab used in some games by Entertainment Software Partners
491 492
@item Sierra VMD video       @tab     @tab  X
    @tab Used in Sierra VMD files.
493
@item Smacker video          @tab     @tab  X
494
    @tab Video encoding used in Smacker.
495
@item SMPTE VC-1             @tab     @tab  X
496
@item Snow                   @tab  X  @tab  X
497
    @tab experimental wavelet codec (fourcc: SNOW)
498
@item Sony PlayStation MDEC (Motion DECoder)  @tab     @tab  X
499
@item Sorenson Vector Quantizer 1  @tab  X  @tab  X
500
    @tab fourcc: SVQ1
501
@item Sorenson Vector Quantizer 3  @tab     @tab  X
502
    @tab fourcc: SVQ3
503
@item Sunplus JPEG (SP5X)    @tab     @tab  X
504
    @tab fourcc: SP5X
505
@item TechSmith Screen Capture Codec  @tab     @tab  X
506
    @tab fourcc: TSCC
507
@item Theora                 @tab  E  @tab  X
508
    @tab encoding supported through external library libtheora
509
@item Tiertex Limited SEQ video  @tab     @tab  X
510
    @tab Codec used in DOS CD-ROM FlashBack game.
511
@item V210 Quicktime Uncompressed 4:2:2 10-bit     @tab  X  @tab  X
512
@item VMware Screen Codec / VMware Video  @tab     @tab  X
513
    @tab Codec used in videos captured by VMware.
514
@item Westwood Studios VQA (Vector Quantized Animation) video  @tab     @tab  X
515
@item Windows Media Video 7  @tab  X  @tab  X
516
@item Windows Media Video 8  @tab  X  @tab  X
517 518
@item Windows Media Video 9  @tab     @tab  X
    @tab not completely working
519 520
@item Wing Commander III / Xan  @tab     @tab  X
    @tab Used in Wing Commander III .MVE files.
Kostya Shishkov's avatar
Kostya Shishkov committed
521 522
@item Wing Commander IV / Xan  @tab     @tab  X
    @tab Used in Wing Commander IV.
523 524
@item Winnov WNV1            @tab     @tab  X
@item WMV7                   @tab  X  @tab  X
525
@item YAMAHA SMAF            @tab  X  @tab  X
526
@item Psygnosis YOP Video    @tab     @tab  X
527
@item ZLIB                   @tab  X  @tab  X
528
    @tab part of LCL, encoder experimental
529
@item Zip Motion Blocks Video  @tab   X @tab  X
530
    @tab Encoder works only in PAL8.
531 532 533 534
@end multitable

@code{X} means that encoding (resp. decoding) is supported.

535 536
@code{E} means that support is provided through an external library.

537 538
@section Audio Codecs

539
@multitable @columnfractions .4 .1 .1 .4
540
@item Name @tab Encoding @tab Decoding @tab Comments
541
@item 8SVX audio             @tab     @tab  X
542
@item AAC                    @tab  E  @tab  X
543
    @tab encoding supported through external library libfaac
Justin Ruggles's avatar
Justin Ruggles committed
544
@item AC-3                   @tab IX  @tab  X
545 546 547 548 549 550 551 552 553 554 555 556
@item ADPCM 4X Movie         @tab     @tab  X
@item ADPCM CDROM XA         @tab     @tab  X
@item ADPCM Creative Technology @tab     @tab  X
    @tab 16 -> 4, 8 -> 4, 8 -> 3, 8 -> 2
@item ADPCM Electronic Arts  @tab     @tab  X
    @tab Used in various EA titles.
@item ADPCM Electronic Arts Maxis CDROM XS  @tab     @tab  X
    @tab Used in Sim City 3000.
@item ADPCM Electronic Arts R1  @tab     @tab  X
@item ADPCM Electronic Arts R2  @tab     @tab  X
@item ADPCM Electronic Arts R3  @tab     @tab  X
@item ADPCM Electronic Arts XAS @tab     @tab  X
Martin Storsjö's avatar
Martin Storsjö committed
557
@item ADPCM G.722            @tab  X  @tab  X
558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588
@item ADPCM G.726            @tab  X  @tab  X
@item ADPCM IMA AMV          @tab     @tab  X
    @tab Used in AMV files
@item ADPCM IMA Electronic Arts EACS  @tab     @tab  X
@item ADPCM IMA Electronic Arts SEAD  @tab     @tab  X
@item ADPCM IMA Funcom       @tab     @tab  X
@item ADPCM IMA QuickTime    @tab  X  @tab  X
@item ADPCM IMA Loki SDL MJPEG  @tab     @tab  X
@item ADPCM IMA WAV          @tab  X  @tab  X
@item ADPCM IMA Westwood     @tab     @tab  X
@item ADPCM ISS IMA          @tab     @tab  X
    @tab Used in FunCom games.
@item ADPCM IMA Duck DK3     @tab     @tab  X
    @tab Used in some Sega Saturn console games.
@item ADPCM IMA Duck DK4     @tab     @tab  X
    @tab Used in some Sega Saturn console games.
@item ADPCM Microsoft        @tab  X  @tab  X
@item ADPCM MS IMA           @tab  X  @tab  X
@item ADPCM Nintendo Gamecube THP  @tab     @tab  X
@item ADPCM QT IMA           @tab  X  @tab  X
@item ADPCM SEGA CRI ADX     @tab  X  @tab  X
    @tab Used in Sega Dreamcast games.
@item ADPCM Shockwave Flash  @tab  X  @tab  X
@item ADPCM SMJPEG IMA       @tab     @tab  X
    @tab Used in certain Loki game ports.
@item ADPCM Sound Blaster Pro 2-bit  @tab     @tab  X
@item ADPCM Sound Blaster Pro 2.6-bit  @tab     @tab  X
@item ADPCM Sound Blaster Pro 4-bit  @tab     @tab  X
@item ADPCM Westwood Studios IMA @tab     @tab  X
    @tab Used in Westwood Studios games like Command and Conquer.
@item ADPCM Yamaha           @tab  X  @tab  X
589
@item AMR-NB                 @tab  E  @tab  X
590
    @tab encoding supported through external library libopencore-amrnb
591
@item AMR-WB                 @tab     @tab  X
592
@item Apple lossless audio   @tab  X  @tab  X
593
    @tab QuickTime fourcc 'alac'
594
@item Atrac 1                @tab     @tab  X
595
@item Atrac 3                @tab     @tab  X
Peter Ross's avatar
Peter Ross committed
596 597
@item Bink Audio             @tab     @tab  X
    @tab Used in Bink and Smacker files in many games.
598
@item Delphine Software International CIN audio  @tab     @tab  X
599
    @tab Codec used in Delphine Software International games.
600 601 602
@item COOK                   @tab     @tab  X
    @tab All versions except 5.1 are supported.
@item DCA (DTS Coherent Acoustics)  @tab     @tab  X
603 604 605 606 607 608 609 610
@item DPCM id RoQ            @tab  X  @tab  X
    @tab Used in Quake III, Jedi Knight 2, other computer games.
@item DPCM Interplay         @tab     @tab  X
    @tab Used in various Interplay computer games.
@item DPCM Sierra Online     @tab     @tab  X
    @tab Used in Sierra Online game audio files.
@item DPCM Sol               @tab     @tab  X
@item DPCM Xan               @tab     @tab  X
611
    @tab Used in Origin's Wing Commander IV AVI files.
612 613
@item DSP Group TrueSpeech   @tab     @tab  X
@item DV audio               @tab     @tab  X
614
@item Enhanced AC-3          @tab     @tab  X
615
@item FLAC (Free Lossless Audio Codec)  @tab  X  @tab  IX
616 617 618 619
@item GSM                    @tab  E  @tab  X
    @tab encoding supported through external library libgsm
@item GSM Microsoft variant  @tab  E  @tab  X
    @tab encoding supported through external library libgsm
620 621 622
@item IMC (Intel Music Coder)  @tab     @tab  X
@item MACE (Macintosh Audio Compression/Expansion) 3:1  @tab     @tab  X
@item MACE (Macintosh Audio Compression/Expansion) 6:1  @tab     @tab  X
Ramiro Polla's avatar
Ramiro Polla committed
623 624
@item MLP (Meridian Lossless Packing)  @tab     @tab  X
    @tab Used in DVD-Audio discs.
625
@item Monkey's Audio         @tab     @tab  X
626
    @tab Only versions 3.97-3.99 are supported.
627 628 629 630
@item MP1 (MPEG audio layer 1)  @tab     @tab IX
@item MP2 (MPEG audio layer 2)  @tab IX  @tab IX
@item MP3 (MPEG audio layer 3)  @tab  E  @tab IX
    @tab encoding supported through external library LAME, ADU MP3 and MP3onMP4 also supported
631
@item MPEG-4 Audio Lossless Coding (ALS)  @tab     @tab  X
632 633
@item Musepack SV7           @tab     @tab  X
@item Musepack SV8           @tab     @tab  X
634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649
@item Nellymoser Asao        @tab  X  @tab  X
@item PCM A-law              @tab  X  @tab  X
@item PCM mu-law             @tab  X  @tab  X
@item PCM 16-bit little-endian planar  @tab     @tab  X
@item PCM 32-bit floating point big-endian  @tab  X  @tab  X
@item PCM 32-bit floating point little-endian  @tab  X  @tab  X
@item PCM 64-bit floating point big-endian  @tab  X  @tab  X
@item PCM 64-bit floating point little-endian  @tab  X  @tab  X
@item PCM D-Cinema audio signed 24-bit   @tab  X  @tab  X
@item PCM signed 8-bit       @tab  X  @tab  X
@item PCM signed 16-bit big-endian  @tab  X  @tab  X
@item PCM signed 16-bit little-endian  @tab  X  @tab  X
@item PCM signed 24-bit big-endian  @tab  X  @tab  X
@item PCM signed 24-bit little-endian  @tab  X  @tab  X
@item PCM signed 32-bit big-endian  @tab  X  @tab  X
@item PCM signed 32-bit little-endian  @tab  X  @tab  X
650
@item PCM signed 16/20/24-bit big-endian in MPEG-TS  @tab     @tab  X
651 652 653 654 655 656 657 658
@item PCM unsigned 8-bit     @tab  X  @tab  X
@item PCM unsigned 16-bit big-endian  @tab  X  @tab  X
@item PCM unsigned 16-bit little-endian  @tab  X  @tab  X
@item PCM unsigned 24-bit big-endian  @tab  X  @tab  X
@item PCM unsigned 24-bit little-endian  @tab  X  @tab  X
@item PCM unsigned 32-bit big-endian  @tab  X  @tab  X
@item PCM unsigned 32-bit little-endian  @tab  X  @tab  X
@item PCM Zork               @tab  X  @tab  X
659
@item QCELP / PureVoice      @tab     @tab  X
660
@item QDesign Music Codec 2  @tab     @tab  X
661
    @tab There are still some distortions.
Francesco Lavra's avatar
Francesco Lavra committed
662
@item RealAudio 1.0 (14.4K)  @tab  X  @tab  X
663
    @tab Real 14400 bit/s codec
664
@item RealAudio 2.0 (28.8K)  @tab     @tab  X
665
    @tab Real 28800 bit/s codec
666
@item RealAudio 3.0 (dnet)   @tab IX  @tab  X
Justin Ruggles's avatar
Justin Ruggles committed
667
    @tab Real low bitrate AC-3 codec
668
@item RealAudio SIPR / ACELP.NET @tab     @tab  X
669
@item Shorten                @tab     @tab  X
670 671
@item Sierra VMD audio       @tab     @tab  X
    @tab Used in Sierra VMD files.
672
@item Smacker audio          @tab     @tab  X
673
@item Speex                  @tab     @tab  E
674
    @tab supported through external library libspeex
675
@item True Audio (TTA)       @tab     @tab  X
Ramiro Polla's avatar
Ramiro Polla committed
676 677
@item TrueHD                 @tab     @tab  X
    @tab Used in HD-DVD and Blu-Ray discs.
Vitor Sessak's avatar
Vitor Sessak committed
678
@item TwinVQ (VQF flavor)    @tab     @tab  X
679
@item Vorbis                 @tab  E  @tab  X
680
    @tab A native but very primitive encoder exists.
681
@item WavPack                @tab     @tab  X
682 683 684
@item Westwood Audio (SND1)  @tab     @tab  X
@item Windows Media Audio 1  @tab  X  @tab  X
@item Windows Media Audio 2  @tab  X  @tab  X
685
@item Windows Media Audio Pro @tab    @tab  X
Ronald S. Bultje's avatar
Ronald S. Bultje committed
686
@item Windows Media Audio Voice @tab  @tab  X
687 688 689 690
@end multitable

@code{X} means that encoding (resp. decoding) is supported.

691 692
@code{E} means that support is provided through an external library.

693 694 695
@code{I} means that an integer-only version is available, too (ensures high
performance on systems without hardware floating point support).

Diego Biurrun's avatar
Diego Biurrun committed
696 697
@section Subtitle Formats

698
@multitable @columnfractions .4 .1 .1 .1 .1
699
@item Name @tab Muxing @tab Demuxing @tab Encoding @tab Decoding
700
@item SSA/ASS      @tab X @tab X @tab X @tab X
701 702
@item DVB          @tab X @tab X @tab X @tab X
@item DVD          @tab X @tab X @tab X @tab X
Stephen Backway's avatar
Stephen Backway committed
703
@item PGS          @tab   @tab   @tab   @tab X
Aurelien Jacobs's avatar
Aurelien Jacobs committed
704
@item SubRip (SRT) @tab X @tab X @tab   @tab X
705
@item XSUB         @tab   @tab   @tab X @tab X
Diego Biurrun's avatar
Diego Biurrun committed
706 707 708 709
@end multitable

@code{X} means that the feature is supported.

710 711
@section Network Protocols

712
@multitable @columnfractions .4 .1
713
@item Name         @tab Support
714
@item Apple HTTP Live Streaming @tab X
715 716 717
@item file         @tab X
@item Gopher       @tab X
@item HTTP         @tab X
718
@item MMS          @tab X
719 720 721 722 723 724 725 726 727
@item pipe         @tab X
@item RTP          @tab X
@item TCP          @tab X
@item UDP          @tab X
@end multitable

@code{X} means that the protocol is supported.


728 729 730 731 732 733 734
@section Input/Output Devices

@multitable @columnfractions .4 .1 .1
@item Name              @tab Input  @tab Output
@item ALSA              @tab X      @tab X
@item BKTR              @tab X      @tab
@item DV1394            @tab X      @tab
735
@item JACK              @tab X      @tab
736 737 738 739 740 741 742 743
@item LIBDC1394         @tab X      @tab
@item OSS               @tab X      @tab X
@item Video4Linux       @tab X      @tab
@item Video4Linux2      @tab X      @tab
@item VfW capture       @tab X      @tab
@item X11 grabbing      @tab X      @tab
@end multitable

744
@code{X} means that input/output is supported.
745 746


747 748
@chapter Platform Specific information

749 750 751 752 753 754
@section DOS

Using a cross-compiler is preferred for various reasons.

@subsection DJGPP

755
Libav cannot be compiled because of broken system headers, add
756 757 758
@code{--extra-cflags=-U__STRICT_ANSI__} to the configure options as a
workaround.

759 760
@section OS/2

761
For information about compiling Libav on OS/2 see
762 763 764 765
@url{http://www.edm2.com/index.php/FFmpeg}.

@section Unix-like

766
Some parts of Libav cannot be built with version 2.15 of the GNU
767 768 769 770 771 772 773 774 775 776 777 778
assembler which is still provided by a few AMD64 distributions. To
make sure your compiler really uses the required version of gas
after a binutils upgrade, run:

@example
$(gcc -print-prog-name=as) --version
@end example

If not, then you should install a different compiler that has no
hard-coded path to gas. In the worst case pass @code{--disable-asm}
to configure.

779
@subsection BSD