@item American Laser Games MM @tab @tab X
@tab Multimedia format used in games like Mad Dog McCree.
@item 3GPP AMR @tab X @tab X
+@item Apple HTTP Live Streaming @tab @tab X
@item ASF @tab X @tab X
@item AVI @tab X @tab X
@item AVISynth @tab @tab X
@item id Quake II CIN video @tab @tab X
@item id RoQ @tab X @tab X
@tab Used in Quake III, Jedi Knight 2, other computer games.
-@item IEC61937 encapsulation @tab X @tab
+@item IEC61937 encapsulation @tab X @tab X
@item IFF @tab @tab X
@tab Interchange File Format
@item Interplay MVE @tab @tab X
@tab A format used by libvpx
@item LMLM4 @tab @tab X
@tab Used by Linux Media Labs MPEG-4 PCI boards
+@item LXF @tab @tab X
+ @tab VR native stream format, used by Leitch/Harris' video servers.
@item Matroska @tab X @tab X
@item Matroska audio @tab X @tab
+@item FFmpeg metadata @tab X @tab X
+ @tab Metadata in text format.
@item MAXIS XA @tab @tab X
@tab Used in Sim City 3000; file extension .xa.
@item MD Studio @tab @tab X
+@item Mobotix .mxg @tab @tab X
@item Monkey's Audio @tab @tab X
@item Motion Pixels MVI @tab @tab X
@item MOV/QuickTime/MP4 @tab X @tab X
@item QCP @tab @tab X
@item raw ADTS (AAC) @tab X @tab X
@item raw AC-3 @tab X @tab X
-@item raw Chinese AVS video @tab @tab X
+@item raw Chinese AVS video @tab X @tab X
@item raw CRI ADX @tab X @tab X
@item raw Dirac @tab X @tab X
@item raw DNxHD @tab X @tab X
@item Lego Mindstorms RSO @tab X @tab X
@item RTMP @tab X @tab X
@tab Output is performed by publishing stream to RTMP server
-@item RTP @tab @tab X
+@item RTP @tab X @tab X
@item RTSP @tab X @tab X
+@item SAP @tab X @tab X
@item SDP @tab @tab X
@item Sega FILM/CPK @tab @tab X
@tab Used in many Sega Saturn console games.
@item WAV @tab X @tab X
@item WavPack @tab @tab X
@item WebM @tab X @tab X
+@item Windows Televison (WTV) @tab @tab X
@item Wing Commander III movie @tab @tab X
@tab Multimedia format used in Origin's Wing Commander III computer game.
@item Westwood Studios audio @tab @tab X
@item 8088flex TMV @tab @tab X
@item 8SVX exponential @tab @tab X
@item 8SVX fibonacci @tab @tab X
+@item A64 multicolor @tab X @tab
+ @tab Creates video suitable to be played on a commodore 64 (multicolor mode).
@item American Laser Games MM @tab @tab X
@tab Used in games like Mad Dog McCree.
@item AMV Video @tab @tab X
@tab fourcc: CSCD
@item CD+G @tab @tab X
@tab Video codec for CD+G karaoke disks
-@item Chinese AVS video @tab @tab X
- @tab AVS1-P2, JiZhun profile
+@item Chinese AVS video @tab E @tab X
+ @tab AVS1-P2, JiZhun profile, encoding through external library libxavs
@item Delphine Software International CIN video @tab @tab X
@tab Codec used in Delphine Software International games.
@item Cinepak @tab @tab X
@tab Codec used in Worms games.
@item Kega Game Video (KGV1) @tab @tab X
@tab Kega emulator screen capture codec.
+@item Lagarith @tab @tab X
@item LCL (LossLess Codec Library) MSZH @tab @tab X
@item LCL (LossLess Codec Library) ZLIB @tab E @tab E
@item LOCO @tab @tab X
@tab fourcc: 'smc '
@item QuickTime video (RPZA) @tab @tab X
@tab fourcc: rpza
+@item R10K AJA Kona 10-bit RGB Codec @tab @tab X
@item R210 Quicktime Uncompressed RGB 10-bit @tab @tab X
@item Raw Video @tab X @tab X
@item RealVideo 1.0 @tab X @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
+@item ADPCM G.722 @tab X @tab X
@item ADPCM G.726 @tab X @tab X
@item ADPCM IMA AMV @tab @tab X
@tab Used in AMV files
@item ADPCM Yamaha @tab X @tab X
@item AMR-NB @tab E @tab X
@tab encoding supported through external library libopencore-amrnb
-@item AMR-WB @tab @tab E
- @tab decoding supported through external library libopencore-amrwb
+@item AMR-WB @tab @tab X
@item Apple lossless audio @tab X @tab X
@tab QuickTime fourcc 'alac'
@item Atrac 1 @tab @tab X
@item DV audio @tab @tab X
@item Enhanced AC-3 @tab @tab X
@item FLAC (Free Lossless Audio Codec) @tab X @tab IX
-@item G.729 @tab @tab X
@item GSM @tab E @tab X
@tab encoding supported through external library libgsm
@item GSM Microsoft variant @tab E @tab X
@multitable @columnfractions .4 .1 .1 .1 .1
@item Name @tab Muxing @tab Demuxing @tab Encoding @tab Decoding
-@item SSA/ASS @tab X @tab X
+@item SSA/ASS @tab X @tab X @tab X @tab X
@item DVB @tab X @tab X @tab X @tab X
@item DVD @tab X @tab X @tab X @tab X
@item PGS @tab @tab @tab @tab X
-@item SubRip (SRT) @tab X @tab X
+@item SubRip (SRT) @tab X @tab X @tab @tab X
@item XSUB @tab @tab @tab X @tab X
@end multitable
MacOS X on PowerPC or ARM (iPhone) requires a preprocessor from
@url{http://github.com/yuvi/gas-preprocessor} to build the optimized
-assembler functions.
+assembler functions. Just download the Perl script and put it somewhere
+in your PATH, FFmpeg's configure will pick it up automatically.
@section Windows
the static libraries, as described above. But in Step 4,
you should only need to add the directory where the LIB files are installed
(i.e. @file{c:\msys\usr\local\bin}). This is not a typo, the LIB files are
-installed in the @file{bin} directory. And instead of adding @file{libxx.a}
-files, you should add @file{avcodec.lib}, @file{avformat.lib}, and
-@file{avutil.lib}. There should be no need for @file{libmingwex.a},
+installed in the @file{bin} directory. And instead of adding the static
+libraries (@file{libxxx.a} files) you should add the MSVC import libraries
+(@file{avcodec.lib}, @file{avformat.lib}, @file{avcore.lib}, and
+@file{avutil.lib}). Note that you should not use the GCC import
+libraries (@file{libxxx.dll.a} files), as these will give you undefined
+reference errors. There should be no need for @file{libmingwex.a},
@file{libgcc.a}, and @file{wsock32.lib}, nor any other external library
statically linked into the DLLs. The @file{bin} directory contains a bunch
of DLL files, but the ones that are actually used to run your application
are the ones with a major version number in their filenames
(i.e. @file{avcodec-51.dll}).
+FFmpeg headers do not declare global data for Windows DLLs through the usual
+dllexport/dllimport interface. Such data will be exported properly while
+building, but to use them in your MSVC++ code you will have to edit the
+appropriate headers and mark the data as dllimport. For example, in
+libavutil/pixdesc.h you should have:
+@example
+extern __declspec(dllimport) const AVPixFmtDescriptor av_pix_fmt_descriptors[];
+@end example
+
@subsection Cross compilation for Windows with Linux
You must use the MinGW cross compilation tools available at