Merge remote-tracking branch 'qatar/master'
[ffmpeg.git] / doc / general.texi
index 38916de..370765e 100644 (file)
 
 @chapter External libraries
 
-Libav can be hooked up with a number of external libraries to add support
+FFmpeg can be hooked up with a number of external libraries to add support
 for more formats. None of them are used by default, their use has to be
 explicitly requested by passing the appropriate flags to
 @command{./configure}.
 
+@section OpenJPEG
+
+FFmpeg can use the OpenJPEG libraries for encoding/decoding J2K videos.  Go to
+@url{http://www.openjpeg.org/} to get the libraries and follow the installation
+instructions.  To enable using OpenJPEG in FFmpeg, pass @code{--enable-libopenjpeg} to
+@file{./configure}.
+
+
 @section OpenCORE and VisualOn libraries
 
 Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
@@ -25,13 +33,13 @@ libraries provide encoders for a number of audio codecs.
 OpenCORE and VisualOn libraries are 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
-upgrade Libav's license to LGPL version 3 (or if you have enabled
+upgrade FFmpeg's license to LGPL version 3 (or if you have enabled
 GPL components, GPL version 3) to use it.
 @end float
 
 @subsection OpenCORE AMR
 
-Libav can make use of the OpenCORE libraries for AMR-NB
+FFmpeg can make use of the OpenCORE libraries for AMR-NB
 decoding/encoding and AMR-WB decoding.
 
 Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
@@ -41,7 +49,7 @@ Then pass @code{--enable-libopencore-amrnb} and/or
 
 @subsection VisualOn AAC encoder library
 
-Libav can make use of the VisualOn AACenc library for AAC encoding.
+FFmpeg can make use of the VisualOn AACenc library for AAC encoding.
 
 Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
 instructions for installing the library.
@@ -49,7 +57,7 @@ Then pass @code{--enable-libvo-aacenc} to configure to enable it.
 
 @subsection VisualOn AMR-WB encoder library
 
-Libav can make use of the VisualOn AMR-WBenc library for AMR-WB encoding.
+FFmpeg can make use of the VisualOn AMR-WBenc library for AMR-WB encoding.
 
 Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
 instructions for installing the library.
@@ -57,7 +65,7 @@ Then pass @code{--enable-libvo-amrwbenc} to configure to enable it.
 
 @subsection Fraunhofer AAC library
 
-Libav can make use of the Fraunhofer AAC library for AAC encoding.
+FFmpeg can make use of the Fraunhofer AAC library for AAC encoding.
 
 Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
 instructions for installing the library.
@@ -65,7 +73,7 @@ Then pass @code{--enable-libfdk-aac} to configure to enable it.
 
 @section LAME
 
-Libav can make use of the LAME library for MP3 encoding.
+FFmpeg can make use of the LAME library for MP3 encoding.
 
 Go to @url{http://lame.sourceforge.net/} and follow the
 instructions for installing the library.
@@ -73,7 +81,7 @@ Then pass @code{--enable-libmp3lame} to configure to enable it.
 
 @section libvpx
 
-Libav can make use of the libvpx library for VP8 encoding.
+FFmpeg can make use of the libvpx library for VP8 encoding.
 
 Go to @url{http://www.webmproject.org/} and follow the instructions for
 installing the library. Then pass @code{--enable-libvpx} to configure to
@@ -81,7 +89,7 @@ enable it.
 
 @section x264
 
-Libav can make use of the x264 library for H.264 encoding.
+FFmpeg can make use of the x264 library for H.264 encoding.
 
 Go to @url{http://www.videolan.org/developers/x264.html} and follow the
 instructions for installing the library. Then pass @code{--enable-libx264} to
@@ -90,14 +98,14 @@ configure to enable it.
 @float NOTE
 x264 is under the GNU Public License Version 2 or later
 (see @url{http://www.gnu.org/licenses/old-licenses/gpl-2.0.html} for
-details), you must upgrade Libav's license to GPL in order to use it.
+details), you must upgrade FFmpeg's license to GPL in order to use it.
 @end float
 
 @section libilbc
 
 iLBC is a narrowband speech codec that has been made freely available
 by Google as part of the WebRTC project. libilbc is a packaging friendly
-copy of the iLBC codec. Libav can make use of the libilbc library for
+copy of the iLBC codec. FFmpeg can make use of the libilbc library for
 iLBC encoding and decoding.
 
 Go to @url{https://github.com/dekkers/libilbc} and follow the instructions for
@@ -106,13 +114,13 @@ enable it.
 
 
 
-@chapter Supported File Formats and Codecs
+@chapter Supported File Formats, Codecs or Features
 
 You can use the @code{-formats} and @code{-codecs} options to have an exhaustive list.
 
 @section File Formats
 
-Libav supports the following file formats through the @code{libavformat}
+FFmpeg supports the following file formats through the @code{libavformat}
 library:
 
 @multitable @columnfractions .4 .1 .1 .4
@@ -120,12 +128,17 @@ library:
 @item 4xm                       @tab   @tab X
     @tab 4X Technologies format, used in some games.
 @item 8088flex TMV              @tab   @tab X
+@item ACT Voice                 @tab   @tab X
+    @tab contains G.729 audio
 @item Adobe Filmstrip           @tab X @tab X
 @item Audio IFF (AIFF)          @tab X @tab X
 @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 Amazing Studio Packed Animation File        @tab   @tab X
+    @tab Multimedia format used in game Heart Of Darkness.
 @item Apple HTTP Live Streaming @tab   @tab X
+@item Artworx Data Format       @tab   @tab X
 @item ASF                       @tab X @tab X
 @item AVI                       @tab X @tab X
 @item AVISynth                  @tab   @tab X
@@ -135,6 +148,7 @@ library:
     @tab Audio and video format used in some games by Beam Software.
 @item Bethesda Softworks VID    @tab   @tab X
     @tab Used in some games from Bethesda Softworks.
+@item Binary text               @tab   @tab X
 @item Bink                      @tab   @tab X
     @tab Multimedia format used by many games.
 @item Bitmap Brothers JV        @tab   @tab X
@@ -153,7 +167,7 @@ library:
     @tab Video format used by CD+G karaoke disks
 @item Commodore CDXL            @tab   @tab X
     @tab Amiga CD video format
-@item Core Audio Format         @tab   @tab X
+@item Core Audio Format         @tab X @tab X
     @tab Apple Core Audio Format
 @item CRC testing format        @tab X @tab
 @item Creative Voice            @tab X @tab X
@@ -171,7 +185,7 @@ library:
 @item Electronic Arts cdata  @tab    @tab X
 @item Electronic Arts Multimedia  @tab    @tab X
     @tab Used in various EA games; files have extensions like WVE and UV2.
-@item FFM (AVserver live feed)  @tab X @tab X
+@item FFM (FFserver live feed)  @tab X @tab X
 @item Flash (SWF)               @tab X @tab X
 @item Flash 9 (AVM2)            @tab X @tab X
     @tab Only embedded audio is decoded.
@@ -182,13 +196,19 @@ library:
 @item framecrc testing format   @tab X @tab
 @item FunCom ISS                @tab   @tab X
     @tab Audio format used in various games from FunCom like The Longest Journey.
+@item G.723.1                   @tab X @tab X
+@item G.729 BIT                 @tab X @tab X
+@item G.729 raw                 @tab   @tab X
 @item GIF Animation             @tab X @tab
 @item GXF                       @tab X @tab X
     @tab General eXchange Format SMPTE 360M, used by Thomson Grass Valley
          playout servers.
+@item iCEDraw File              @tab   @tab X
+@item ICO                       @tab   @tab X
+    @tab Microsoft Windows ICO
 @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.
+    @tab Used in Quake III, Jedi Knight 2 and other computer games.
 @item IEC61937 encapsulation @tab X @tab X
 @item IFF                       @tab   @tab X
     @tab Interchange File Format
@@ -202,6 +222,8 @@ library:
 @item LATM                      @tab X @tab X
 @item LMLM4                     @tab   @tab X
     @tab Used by Linux Media Labs MPEG-4 PCI boards
+@item LOAS                      @tab   @tab X
+    @tab contains LATM multiplexed AAC audio
 @item LXF                       @tab   @tab X
     @tab VR native stream format, used by Leitch/Harris' video servers.
 @item Matroska                  @tab X @tab X
@@ -211,6 +233,7 @@ library:
 @item MAXIS XA                  @tab   @tab X
     @tab Used in Sim City 3000; file extension .xa.
 @item MD Studio                 @tab   @tab X
+@item Metal Gear Solid: The Twin Snakes @tab @tab X
 @item Mobotix .mxg              @tab   @tab X
 @item Monkey's Audio            @tab   @tab X
 @item Motion Pixels MVI         @tab   @tab X
@@ -310,6 +333,7 @@ library:
 @item RTP                       @tab X @tab X
 @item RTSP                      @tab X @tab X
 @item SAP                       @tab X @tab X
+@item SBG                       @tab   @tab X
 @item SDP                       @tab   @tab X
 @item Sega FILM/CPK             @tab   @tab X
     @tab Used in many Sega Saturn console games.
@@ -321,6 +345,8 @@ library:
     @tab Multimedia format used by many games.
 @item SMJPEG                    @tab X @tab X
     @tab Used in certain Loki game ports.
+@item Smush                     @tab   @tab X
+    @tab Multimedia format used in some LucasArts games.
 @item Sony OpenMG (OMA)         @tab X @tab X
     @tab Audio format used in Sony Sonic Stage and Sony Vegas.
 @item Sony PlayStation STR      @tab   @tab X
@@ -337,7 +363,7 @@ library:
 @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 Windows Televison (WTV)   @tab X @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
@@ -348,6 +374,7 @@ library:
     @tab Microsoft video container used in Xbox games.
 @item xWMA                      @tab   @tab X
     @tab Microsoft audio container used by XAudio 2.
+@item eXtended BINary text (XBIN) @tab @tab X
 @item YUV4MPEG pipe             @tab X @tab X
 @item Psygnosis YOP             @tab   @tab X
 @item ZeroCodec Lossless Video  @tab   @tab X
@@ -357,7 +384,7 @@ library:
 
 @section Image Formats
 
-Libav can read and write images for each frame of a video sequence. The
+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
@@ -370,10 +397,11 @@ following image formats are supported:
     @tab Microsoft BMP image
 @item DPX          @tab X @tab X
     @tab Digital Picture Exchange
+@item EXR          @tab   @tab X
+    @tab OpenEXR
 @item JPEG         @tab X @tab X
     @tab Progressive JPEG is not supported.
-@item JPEG 2000    @tab E @tab E
-    @tab decoding supported through external library libopenjpeg
+@item JPEG 2000    @tab X @tab X
 @item JPEG-LS      @tab X @tab X
 @item LJPEG        @tab X @tab
     @tab Lossless JPEG
@@ -390,7 +418,6 @@ following image formats are supported:
 @item PIC          @tab @tab X
     @tab Pictor/PC Paint
 @item PNG          @tab X @tab X
-    @tab 2/4 bpp not supported yet
 @item PPM          @tab X @tab X
     @tab Portable PixelMap image
 @item PTX          @tab   @tab X
@@ -403,7 +430,7 @@ following image formats are supported:
     @tab YUV, JPEG and some extension is not supported yet.
 @item Truevision Targa  @tab X @tab X
     @tab Targa (.TGA) image format
-@item XBM  @tab X @tab
+@item XBM  @tab X @tab X
     @tab X BitMap image format
 @item XWD  @tab X @tab X
     @tab X Window Dump image format
@@ -424,9 +451,10 @@ following image formats are supported:
 @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 Amazing Studio PAF Video @tab     @tab  X
 @item American Laser Games MM  @tab    @tab X
     @tab Used in games like Mad Dog McCree.
-@item AMV Video              @tab     @tab  X
+@item AMV Video              @tab  X  @tab  X
     @tab Used in Chinese MP3 players.
 @item ANSI/ASCII art         @tab     @tab  X
 @item Apple MJPEG-B          @tab     @tab  X
@@ -446,13 +474,18 @@ following image formats are supported:
 @item Autodesk Animator Flic video  @tab     @tab  X
 @item Autodesk RLE           @tab     @tab  X
     @tab fourcc: AASC
+@item Avid 1:1 10-bit RGB Packer  @tab  X  @tab  X
+    @tab fourcc: AVrp
 @item AVS (Audio Video Standard) video  @tab     @tab  X
     @tab Video encoding used by the Creature Shock game.
+@item AYUV                   @tab  X  @tab  X
+    @tab Microsoft uncompressed packed 4:4:4:4
 @item Beam Software VB       @tab     @tab  X
 @item Bethesda VID video     @tab     @tab  X
     @tab Used in some games from Bethesda Softworks.
 @item Bink Video             @tab     @tab  X
 @item Bitmap Brothers JV video  @tab   @tab X
+@item y41p Brooktree uncompressed 4:1:1 12-bit     @tab  X  @tab  X
 @item Brute Force & Ignorance   @tab   @tab X
     @tab Used in the game Flash Traffic: City of Angels.
 @item C93 video              @tab     @tab  X
@@ -474,7 +507,7 @@ following image formats are supported:
 @item Creative YUV (CYUV)    @tab     @tab  X
 @item DFA                    @tab     @tab  X
     @tab Codec used in Chronomaster game.
-@item Dirac                  @tab  E  @tab  E
+@item Dirac                  @tab  E  @tab  X
     @tab supported through external library libschroedinger
 @item Deluxe Paint Animation @tab     @tab  X
 @item DNxHD                  @tab   X @tab  X
@@ -494,11 +527,12 @@ following image formats are supported:
 @item Electronic Arts TGQ video  @tab     @tab  X
 @item Electronic Arts TQI video  @tab     @tab  X
 @item Escape 124             @tab     @tab  X
+@item Escape 130             @tab     @tab  X
 @item FFmpeg video codec #1  @tab  X  @tab  X
-    @tab experimental lossless codec (fourcc: FFV1)
+    @tab lossless codec (fourcc: FFV1)
 @item Flash Screen Video v1  @tab  X  @tab  X
     @tab fourcc: FSV1
-@item Flash Screen Video v2  @tab     @tab  X
+@item Flash Screen Video v2  @tab  X  @tab  X
 @item Flash Video (FLV)      @tab  X  @tab  X
     @tab Sorenson H.263 used in Flash
 @item Forward Uncompressed   @tab     @tab  X
@@ -530,6 +564,7 @@ following image formats are supported:
     @tab Used in the game Cyberia from Interplay.
 @item Interplay MVE video    @tab     @tab  X
     @tab Used in Interplay .MVE files.
+@item J2K @tab  X  @tab  X
 @item Karl Morton's video codec  @tab     @tab  X
     @tab Codec used in Worms games.
 @item Kega Game Video (KGV1) @tab      @tab  X
@@ -538,6 +573,8 @@ following image formats are supported:
 @item LCL (LossLess Codec Library) MSZH  @tab     @tab  X
 @item LCL (LossLess Codec Library) ZLIB  @tab  E  @tab  E
 @item LOCO                   @tab     @tab  X
+@item LucasArts Smush        @tab     @tab  X
+    @tab Used in LucasArts games.
 @item lossless MJPEG         @tab  X  @tab  X
 @item Microsoft ATC Screen   @tab     @tab  X
     @tab Also known as Microsoft Screen 3.
@@ -576,6 +613,8 @@ following image formats are supported:
     @tab fourcc: VP80, encoding supported through external library libvpx
 @item planar RGB             @tab     @tab  X
     @tab fourcc: 8BPS
+@item Prores                 @tab     @tab  X
+    @tab fourcc: apch,apcn,apcs,apco
 @item Q-team QPEG            @tab     @tab  X
     @tab fourccs: QPEG, Q1.0, Q1.1
 @item QuickTime 8BPS video   @tab     @tab  X
@@ -585,8 +624,8 @@ following image formats are supported:
     @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 R10K AJA Kona 10-bit RGB Codec     @tab  X  @tab  X
+@item R210 Quicktime Uncompressed RGB 10-bit     @tab  X  @tab  X
 @item Raw Video              @tab  X  @tab  X
 @item RealVideo 1.0          @tab  X  @tab  X
 @item RealVideo 2.0          @tab  X  @tab  X
@@ -621,6 +660,8 @@ following image formats are supported:
     @tab Codec used in DOS CD-ROM FlashBack game.
 @item Ut Video               @tab     @tab  X
 @item v210 QuickTime uncompressed 4:2:2 10-bit     @tab  X  @tab  X
+@item v308 QuickTime uncompressed 4:4:4            @tab  X  @tab  X
+@item v408 QuickTime uncompressed 4:4:4:4          @tab  X  @tab  X
 @item v410 QuickTime uncompressed 4:4:4 10-bit     @tab  X  @tab  X
 @item VBLE Lossless Codec    @tab     @tab  X
 @item VMware Screen Codec / VMware Video  @tab     @tab  X
@@ -639,6 +680,8 @@ following image formats are supported:
 @item WMV7                   @tab  X  @tab  X
 @item YAMAHA SMAF            @tab  X  @tab  X
 @item Psygnosis YOP Video    @tab     @tab  X
+@item yuv4                   @tab  X  @tab  X
+    @tab libquicktime uncompressed packed 4:2:0
 @item ZLIB                   @tab  X  @tab  X
     @tab part of LCL, encoder experimental
 @item Zip Motion Blocks Video  @tab   X @tab  X
@@ -654,6 +697,8 @@ following image formats are supported:
 @multitable @columnfractions .4 .1 .1 .4
 @item Name @tab Encoding @tab Decoding @tab Comments
 @item 8SVX audio             @tab     @tab  X
+@item AAC+                   @tab  E  @tab  X
+    @tab encoding supported through external library libaacplus
 @item AAC                    @tab  E  @tab  X
     @tab encoding supported through external library libfaac and libvo-aacenc
 @item AC-3                   @tab IX  @tab  X
@@ -705,20 +750,23 @@ following image formats are supported:
     @tab encoding supported through external library libopencore-amrnb
 @item AMR-WB                 @tab  E  @tab  X
     @tab encoding supported through external library libvo-amrwbenc
+@item Amazing Studio PAF Audio @tab     @tab  X
 @item Apple lossless audio   @tab  X  @tab  X
     @tab QuickTime fourcc 'alac'
 @item Atrac 1                @tab     @tab  X
 @item Atrac 3                @tab     @tab  X
 @item Bink Audio             @tab     @tab  X
     @tab Used in Bink and Smacker files in many games.
+@item CELT                   @tab     @tab  E
+    @tab decoding supported through external library libcelt
 @item Delphine Software International CIN audio  @tab     @tab  X
     @tab Codec used in Delphine Software International games.
 @item Discworld II BMV Audio @tab     @tab  X
 @item COOK                   @tab     @tab  X
     @tab All versions except 5.1 are supported.
-@item DCA (DTS Coherent Acoustics)  @tab     @tab  X
+@item DCA (DTS Coherent Acoustics)  @tab  X  @tab  X
 @item DPCM id RoQ            @tab  X  @tab  X
-    @tab Used in Quake III, Jedi Knight 2, other computer games.
+    @tab Used in Quake III, Jedi Knight 2 and other computer games.
 @item DPCM Interplay         @tab     @tab  X
     @tab Used in various Interplay computer games.
 @item DPCM Sierra Online     @tab     @tab  X
@@ -730,6 +778,8 @@ following image formats are supported:
 @item DV audio               @tab     @tab  X
 @item Enhanced AC-3          @tab  X  @tab  X
 @item FLAC (Free Lossless Audio Codec)  @tab  X  @tab  IX
+@item G.723.1                @tab X @tab X
+@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
@@ -792,12 +842,18 @@ following image formats are supported:
     @tab Used in Sierra VMD files.
 @item Smacker audio          @tab     @tab  X
 @item SMPTE 302M AES3 audio  @tab     @tab  X
+@item Sonic                  @tab  X  @tab  X
+    @tab experimental codec
+@item Sonic lossless         @tab  X  @tab  X
+    @tab experimental codec
 @item Speex                  @tab  E  @tab  E
     @tab supported through external library libspeex
 @item True Audio (TTA)       @tab     @tab  X
 @item TrueHD                 @tab     @tab  X
     @tab Used in HD-DVD and Blu-Ray discs.
 @item TwinVQ (VQF flavor)    @tab     @tab  X
+@item VIMA                   @tab     @tab  X
+    @tab Used in LucasArts SMUSH animations.
 @item Vorbis                 @tab  E  @tab  X
     @tab A native but very primitive encoder exists.
 @item WavPack                @tab     @tab  X
@@ -820,12 +876,17 @@ performance on systems without hardware floating point support).
 
 @multitable @columnfractions .4 .1 .1 .1 .1
 @item Name @tab Muxing @tab Demuxing @tab Encoding @tab Decoding
-@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 @tab   @tab X
-@item XSUB         @tab   @tab   @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 JACOsub          @tab X @tab X @tab   @tab X
+@item MicroDVD         @tab X @tab X @tab   @tab X
+@item PGS              @tab   @tab   @tab   @tab X
+@item RealText         @tab   @tab X @tab   @tab X
+@item SAMI             @tab   @tab X @tab   @tab X
+@item SubRip (SRT)     @tab X @tab X @tab X @tab X
+@item 3GPP Timed Text  @tab   @tab   @tab   @tab X
+@item XSUB             @tab   @tab   @tab X @tab X
 @end multitable
 
 @code{X} means that the feature is supported.
@@ -880,4 +941,16 @@ performance on systems without hardware floating point support).
 
 @code{X} means that input/output is supported.
 
+@section Timecode
+
+@multitable @columnfractions .4 .1 .1
+@item Codec/format      @tab Read   @tab Write
+@item AVI               @tab X      @tab X
+@item DV                @tab X      @tab X
+@item GXF               @tab X      @tab X
+@item MOV               @tab X      @tab X
+@item MPEG1/2           @tab X      @tab X
+@item MXF               @tab X      @tab X
+@end multitable
+
 @bye