Libav 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 @file{./configure}.
+explicitly requested by passing the appropriate flags to
+@command{./configure}.
@section OpenCORE and VisualOn libraries
-Spun off Google Android sources, OpenCore and VisualOn libraries provide
-encoders for a number of audio codecs.
+Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
+libraries provide encoders for a number of audio codecs.
@float NOTE
OpenCORE and VisualOn libraries are under the Apache License 2.0
instructions for installing the library.
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.
+
+Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
+instructions for installing the library.
+Then pass @code{--enable-libfdk-aac} to configure to enable it.
+
@section LAME
Libav can make use of the LAME library for MP3 encoding.
instructions for installing the library.
Then pass @code{--enable-libmp3lame} to configure to enable it.
+@section TwoLAME
+
+Libav can make use of the TwoLAME library for MP2 encoding.
+
+Go to @url{http://www.twolame.org/} and follow the
+instructions for installing the library.
+Then pass @code{--enable-libtwolame} to configure to enable it.
+
@section libvpx
Libav can make use of the libvpx library for VP8 encoding.
installing the library. Then pass @code{--enable-libvpx} to configure to
enable it.
+@section libwavpack
+
+Libav can make use of the libwavpack library for WavPack encoding.
+
+Go to @url{http://www.wavpack.com/} and follow the instructions for
+installing the library. Then pass @code{--enable-libwavpack} to configure to
+enable it.
+
+@section OpenH264
+
+Libav can make use of the OpenH264 library for H.264 encoding.
+
+Go to @url{http://www.openh264.org/} and follow the instructions for
+installing the library. Then pass @code{--enable-libopenh264} to configure to
+enable it.
+
@section x264
Libav can make use of the x264 library for H.264 encoding.
details), you must upgrade Libav's license to GPL in order to use it.
@end float
+@section x265
+
+Libav can make use of the x265 library for HEVC encoding.
+
+Go to @url{http://x265.org/developers.html} and follow the instructions
+for installing the library. Then pass @code{--enable-libx265} to configure
+to enable it.
+
+@float note
+x265 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.
+@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
+iLBC encoding and decoding.
+
+Go to @url{https://github.com/dekkers/libilbc} and follow the instructions for
+installing the library. Then pass @code{--enable-libilbc} to configure to
+enable it.
+
+@section AviSynth
+
+Libav can read AviSynth scripts as input. To enable support you need a
+suitable @file{avisynth_c.h} header to compile against. The header in
+classic AviSynth's CVS repository is not compatible as it has not been
+updated to support AviSynth 2.6. AviSynth 2.5 is not supported by Libav.
+Once you have the appropriate header, pass @code{--enable-avisynth} to
+configure to enable AviSynth support.
+
+For Windows, supported AviSynth variants are
+@url{http://avisynth.nl, AviSynth 2.6} for 32-bit builds and
+@url{http://avs-plus.net, AviSynth+ 0.1} for 32-bit and 64-bit builds.
+The necessary @file{avisynth_c.h} header is the variant in the @file{extras/}
+directory of the @url{https://www.videolan.org/developers/x264.html, x264}
+source tree. For convenience, this header is also available from a
+@url{https://github.com/qyot27/avisynth_headers, temporary repository}
+along with an installation routine.
+
+For Linux and OS X, the supported AviSynth variant is
+@url{https://github.com/avxsynth/avxsynth, AvxSynth}.
+@file{avxsynth_c.h} is installed as part of the normal
+build routine, as illustrated on
+@url{https://github.com/avxsynth/avxsynth/wiki/System-Setup, AvxSynth's wiki}.
+(the instructions for compiling its prerequisites are outdated, as FFMS 2.18
+or higher is now needed; the list of dependencies to be downloaded from the
+repositories is still the same, though).
+
+@float NOTE
+AviSynth and AvxSynth are loaded dynamically. Distributors can build Libav
+with @code{--enable-avisynth}, and the binaries will work regardless of the
+end user having AviSynth or AvxSynth installed - they'll only need to be
+installed to use AviSynth scripts (obviously).
+@end float
@chapter Supported File Formats and Codecs
@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 ASF @tab X @tab X
@item AVI @tab X @tab X
-@item AVISynth @tab @tab X
+@item AviSynth @tab @tab X
@item AVS @tab @tab X
@tab Multimedia format used by the Creature Shock game.
@item Beam Software SIFF @tab @tab X
@item Brute Force & Ignorance @tab @tab X
@tab Used in the game Flash Traffic: City of Angels.
@item BWF @tab X @tab X
-@item CRI ADX @tab @tab X
+@item CRI ADX @tab X @tab X
@tab Audio-only format used in console video games.
@item Discworld II BMV @tab @tab X
@item Interplay C93 @tab @tab X
@tab Multimedia format used by Delphine Software games.
@item CD+G @tab @tab X
@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
@tab Apple Core Audio Format
@item CRC testing format @tab X @tab
@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 Flash (SWF) @tab X @tab X
@item Flash 9 (AVM2) @tab X @tab X
@tab Only embedded audio is decoded.
@item GXF @tab X @tab X
@tab General eXchange Format SMPTE 360M, used by Thomson Grass Valley
playout servers.
+@item HNM @tab @tab X
+ @tab Only version 4 supported, used in some games from Cryo Interactive
@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 X
@item IFF @tab @tab X
@tab Interchange File Format
+@item iLBC @tab X @tab X
@item Interplay MVE @tab @tab X
@tab Format used in various Interplay computer games.
@item IV8 @tab @tab X
@tab also known as DVB Transport Stream
@item MPEG-4 @tab X @tab X
@tab MPEG-4 is a variant of QuickTime.
+@item Mirillis FIC video @tab @tab X
+ @tab No cursor rendering.
@item MIME multipart JPEG @tab X @tab
@item MSN TCP webcam @tab @tab X
@tab Used by MSN Messenger webcam streams.
@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 HEVC @tab X @tab X
@item raw Ingenient MJPEG @tab @tab X
@item raw MJPEG @tab X @tab X
@item raw MLP @tab @tab X
@item raw video @tab X @tab X
@item raw id RoQ @tab X @tab
@item raw Shorten @tab @tab X
+@item raw TAK @tab @tab X
@item raw TrueHD @tab X @tab X
@item raw VC-1 @tab @tab X
@item raw PCM A-law @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 Silicon Graphics Movie @tab @tab X
@item Sierra SOL @tab @tab X
@tab .sol files used in Sierra Online games.
@item Sierra VMD @tab @tab X
@tab Used in Sierra CD-ROM games.
@item Smacker @tab @tab X
@tab Multimedia format used by many games.
-@item SMJPEG @tab @tab X
+@item SMJPEG @tab X @tab X
@tab Used in certain Loki game ports.
+@item Smush
+ @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
@tab Microsoft audio container used by XAudio 2.
@item YUV4MPEG pipe @tab X @tab X
@item Psygnosis YOP @tab @tab X
+@item ZeroCodec Lossless Video @tab @tab X
@end multitable
@code{X} means that encoding (resp. decoding) is supported.
@item Name @tab Encoding @tab Decoding @tab Comments
@item .Y.U.V @tab X @tab X
@tab one raw file per component
+@item Alias PIX @tab X @tab X
+ @tab Alias/Wavefront PIX image format
@item animated GIF @tab X @tab X
@tab Only uncompressed GIFs are generated.
@item BMP @tab X @tab X
@tab Microsoft BMP image
+@item BRender PIX @tab @tab X
+ @tab Argonaut BRender 3D engine image format.
@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 @tab E
- @tab decoding supported through external library libopenjpeg
+@item JPEG 2000 @tab E @tab X
+ @tab encoding supported through external library libopenjpeg
@item JPEG-LS @tab X @tab X
@item LJPEG @tab X @tab
@tab Lossless JPEG
@tab V.Flash PTX format
@item SGI @tab X @tab X
@tab SGI RGB image format
-@item Sun Rasterfile @tab @tab X
+@item Sun Rasterfile @tab X @tab X
@tab Sun RAS image format
@item TIFF @tab X @tab X
@tab YUV, JPEG and some extension is not supported yet.
@item Truevision Targa @tab X @tab X
@tab Targa (.TGA) image format
+@item WebP @tab E @tab X
+ @tab WebP image format, encoding supported through external library libwebp
+@item XBM @tab X @tab X
+ @tab X BitMap image format
+@item XWD @tab X @tab X
+ @tab X Window Dump image format
@end multitable
@code{X} means that encoding (resp. decoding) is 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
@tab Used in Chinese MP3 players.
@item ANSI/ASCII art @tab @tab X
+@item Apple Intermediate Codec @tab @tab X
@item Apple MJPEG-B @tab @tab X
-@item Apple ProRes @tab @tab X
+@item Apple ProRes @tab X @tab X
@item Apple QuickDraw @tab @tab X
@tab fourcc: qdrw
@item Asus v1 @tab X @tab X
@tab fourcc: CSCD
@item CD+G @tab @tab X
@tab Video codec for CD+G karaoke disks
+@item CDXL @tab @tab X
+ @tab Amiga CD video codec
@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 Discworld II BMV Video @tab @tab X
+@item Canopus Lossless Codec @tab @tab X
@item Cinepak @tab @tab X
@item Cirrus Logic AccuPak @tab X @tab X
@tab fourcc: CLJR
@item DFA @tab @tab X
@tab Codec used in Chronomaster game.
@item Dirac @tab E @tab E
- @tab supported through external libdirac/libschroedinger libraries
+ @tab supported through external library libschroedinger
@item Deluxe Paint Animation @tab @tab X
@item DNxHD @tab X @tab X
@tab aka SMPTE VC3
@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)
@item Flash Screen Video v1 @tab X @tab X
@item Flash Screen Video v2 @tab @tab X
@item Flash Video (FLV) @tab X @tab X
@tab Sorenson H.263 used in Flash
+@item Forward Uncompressed @tab @tab X
@item Fraps @tab @tab X
+@item Go2Webinar @tab @tab X
+ @tab fourcc: G2M4
@item H.261 @tab X @tab X
@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
- @tab encoding supported through external library libx264
-@item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration) @tab E @tab X
+ @tab encoding supported through external library libx264 and OpenH264
+@item HEVC @tab X @tab X
+ @tab encoding supported through the external library libx265
+@item HNM version 4 @tab @tab X
@item HuffYUV @tab X @tab X
@item HuffYUV FFmpeg variant @tab X @tab X
@item IBM Ultimotion @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
+@item LucasArts SANM @tab @tab X
+ @tab Used in LucasArts SMUSH animations.
@item lossless MJPEG @tab X @tab X
+@item Microsoft ATC Screen @tab @tab X
+ @tab Also known as Microsoft Screen 3.
+@item Microsoft Expression Encoder Screen @tab @tab X
+ @tab Also known as Microsoft Titanium Screen 2.
@item Microsoft RLE @tab @tab X
+@item Microsoft Screen 1 @tab @tab X
+ @tab Also known as Windows Media Video V7 Screen.
+@item Microsoft Screen 2 @tab @tab X
+ @tab Also known as Windows Media Video V9 Screen.
@item Microsoft Video 1 @tab @tab X
@item Mimic @tab @tab X
@tab Used in MSN Messenger Webcam streams.
@item Mobotix MxPEG video @tab @tab X
@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.
+ @tab libxvidcore can be used alternatively for encoding.
@item MPEG-4 part 2 Microsoft variant version 1 @tab @tab X
@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
@tab fourcc: VP50
@item On2 VP6 @tab @tab X
@tab fourcc: VP60,VP61,VP62
+@item On2 VP7 @tab @tab X
+ @tab fourcc: VP70,VP71
@item VP8 @tab E @tab X
@tab fourcc: VP80, encoding supported through external library libvpx
+@item VP9 @tab E @tab X
+ @tab Encoding supported through external library libvpx
@item planar RGB @tab @tab X
@tab fourcc: 8BPS
@item Q-team QPEG @tab @tab X
@tab used in some games by Entertainment Software Partners
@item Sierra VMD video @tab @tab X
@tab Used in Sierra VMD files.
+@item Silicon Graphics Motion Video Compressor 1 (MVC1) @tab @tab X
+@item Silicon Graphics Motion Video Compressor 2 (MVC2) @tab @tab X
+@item Silicon Graphics RLE 8-bit video @tab @tab X
@item Smacker video @tab @tab X
@tab Video encoding used in Smacker.
@item SMPTE VC-1 @tab @tab X
-@item Snow @tab X @tab X
- @tab experimental wavelet codec (fourcc: SNOW)
@item Sony PlayStation MDEC (Motion DECoder) @tab @tab X
@item Sorenson Vector Quantizer 1 @tab X @tab X
@tab fourcc: SVQ1
@tab fourcc: SP5X
@item TechSmith Screen Capture Codec @tab @tab X
@tab fourcc: TSCC
+@item TechSmith Screen Capture Codec 2 @tab @tab X
+ @tab fourcc: TSC2
@item Theora @tab E @tab X
@tab encoding supported through external library libtheora
@item Tiertex Limited SEQ video @tab @tab X
@tab Codec used in DOS CD-ROM FlashBack game.
-@item Ut Video @tab @tab X
+@item Ut Video @tab X @tab X
@item v210 QuickTime uncompressed 4:2:2 10-bit @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 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 VIMA
+ @tab Used in LucasArts SMUSH animations.
@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
@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 ATRAC1 @tab @tab X
+@item ATRAC3 @tab @tab X
+@item ATRAC3+ @tab @tab X
@item Bink Audio @tab @tab X
@tab Used in Bink and Smacker files in many games.
@item Delphine Software International CIN audio @tab @tab X
@tab Codec used in Delphine Software International games.
+@item Digital Speech Standard - Standard Play mode (DSS SP) @tab @tab X
@item Discworld II BMV Audio @tab @tab X
@item COOK @tab @tab X
@tab All versions except 5.1 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 @tab X
@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
+@item IAC (Indeo Audio Coder) @tab @tab X
+@item iLBC (Internet Low Bitrate Codec) @tab E @tab E
+ @tab encoding and decoding supported through external library libilbc
@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
@item Monkey's Audio @tab @tab X
@tab Only versions 3.97-3.99 are supported.
@item MP1 (MPEG audio layer 1) @tab @tab IX
-@item MP2 (MPEG audio layer 2) @tab IX @tab IX
+@item MP2 (MPEG audio layer 2) @tab IE @tab IX
+ @tab encoding supported also through external library TwoLAME
@item MP3 (MPEG audio layer 3) @tab E @tab IX
@tab encoding supported through external library LAME, ADU MP3 and MP3onMP4 also supported
@item MPEG-4 Audio Lossless Coding (ALS) @tab @tab X
@item Musepack SV7 @tab @tab X
@item Musepack SV8 @tab @tab X
@item Nellymoser Asao @tab X @tab X
+@item On2 AVC (Audio for Video Codec) @tab @tab X
+@item Opus @tab E @tab E
+ @tab supported through external library libopus
@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 signed 16-bit little-endian planar @tab @tab X
+@item PCM signed 24-bit little-endian planar @tab @tab X
+@item PCM signed 32-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
@tab Real 28800 bit/s codec
@item RealAudio 3.0 (dnet) @tab IX @tab X
@tab Real low bitrate AC-3 codec
+@item RealAudio Lossless @tab @tab X
@item RealAudio SIPR / ACELP.NET @tab @tab X
@item Shorten @tab @tab X
@item Sierra VMD audio @tab @tab X
@item SMPTE 302M AES3 audio @tab @tab X
@item Speex @tab E @tab E
@tab supported through external library libspeex
+@item TAK (Tom's lossless Audio Kompressor) @tab @tab X
@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 Vorbis @tab E @tab X
@tab A native but very primitive encoder exists.
-@item WavPack @tab @tab X
+@item Voxware MetaSound @tab @tab X
+@item WavPack @tab E @tab X
+ @tab supported through external library libwavpack
@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
+@item Windows Media Audio Lossless @tab @tab X
@item Windows Media Audio Pro @tab @tab X
@item Windows Media Audio Voice @tab @tab X
@end multitable
@multitable @columnfractions .4 .1
@item Name @tab Support
-@item Apple HTTP Live Streaming @tab X
@item file @tab X
@item Gopher @tab X
+@item HLS @tab X
@item HTTP @tab X
-@item MMS @tab X
+@item HTTPS @tab X
+@item Icecast @tab X
+@item MMSH @tab X
+@item MMST @tab X
@item pipe @tab X
+@item RTMP @tab X
+@item RTMPE @tab X
+@item RTMPS @tab X
+@item RTMPT @tab X
+@item RTMPTE @tab X
+@item RTMPTS @tab X
@item RTP @tab X
+@item SCTP @tab X
@item TCP @tab X
+@item TLS @tab X
@item UDP @tab X
@end multitable
@code{X} means that the protocol is supported.
+@code{E} means that support is provided through an external library.
+
@section Input/Output Devices
@item ALSA @tab X @tab X
@item BKTR @tab X @tab
@item DV1394 @tab X @tab
+@item Linux framebuffer @tab X @tab
@item JACK @tab X @tab
+@item LIBCDIO @tab X
@item LIBDC1394 @tab X @tab
@item OSS @tab X @tab X
@item Pulseaudio @tab X @tab
-@item Video4Linux @tab X @tab
@item Video4Linux2 @tab X @tab
@item VfW capture @tab X @tab
@item X11 grabbing @tab X @tab