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
./configure.
Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer libraries provide encoders for a number of audio codecs.
OpenCORE and VisualOn libraries are under the Apache License 2.0 (see 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 GPL components, GPL version 3) to use it.
Libav can make use of the OpenCORE libraries for AMR-NB decoding/encoding and AMR-WB decoding.
Go to http://sourceforge.net/projects/opencore-amr/ and follow the
instructions for installing the libraries.
Then pass --enable-libopencore-amrnb and/or
--enable-libopencore-amrwb to configure to enable them.
Libav can make use of the VisualOn AACenc library for AAC encoding.
Go to http://sourceforge.net/projects/opencore-amr/ and follow the
instructions for installing the library.
Then pass --enable-libvo-aacenc to configure to enable it.
Libav can make use of the VisualOn AMR-WBenc library for AMR-WB encoding.
Go to http://sourceforge.net/projects/opencore-amr/ and follow the
instructions for installing the library.
Then pass --enable-libvo-amrwbenc to configure to enable it.
Libav can make use of the Fraunhofer AAC library for AAC encoding.
Go to http://sourceforge.net/projects/opencore-amr/ and follow the
instructions for installing the library.
Then pass --enable-libfdk-aac to configure to enable it.
Libav can make use of the LAME library for MP3 encoding.
Go to http://lame.sourceforge.net/ and follow the
instructions for installing the library.
Then pass --enable-libmp3lame to configure to enable it.
Libav can make use of the TwoLAME library for MP2 encoding.
Go to http://www.twolame.org/ and follow the
instructions for installing the library.
Then pass --enable-libtwolame to configure to enable it.
Libav can make use of the libvpx library for VP8 encoding.
Go to http://www.webmproject.org/ and follow the instructions for
installing the library. Then pass --enable-libvpx to configure to
enable it.
Libav can make use of the libwavpack library for WavPack encoding.
Go to http://www.wavpack.com/ and follow the instructions for
installing the library. Then pass --enable-libwavpack to configure to
enable it.
Libav can make use of the x264 library for H.264 encoding.
Go to http://www.videolan.org/developers/x264.html and follow the
instructions for installing the library. Then pass --enable-libx264 to
configure to enable it.
x264 is under the GNU Public License Version 2 or later (see 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.
Libav can make use of the x265 library for HEVC encoding.
Go to http://x265.org/developers.html and follow the instructions
for installing the library. Then pass --enable-libx265 to configure
to enable it.
x265 is under the GNU Public License Version 2 or later (see 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.
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 https://github.com/dekkers/libilbc and follow the instructions for
installing the library. Then pass --enable-libilbc to configure to
enable it.
Libav can read AviSynth scripts as input. To enable support you need a
suitable ‘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 --enable-avisynth to
configure to enable AviSynth support.
For Windows, supported AviSynth variants are AviSynth 2.6 for 32-bit builds and AviSynth+ 0.1 for 32-bit and 64-bit builds. The necessary ‘avisynth_c.h’ header is the variant in the ‘extras/’ directory of the x264 source tree. For convenience, this header is also available from a temporary repository along with an installation routine.
For Linux and OS X, the supported AviSynth variant is AvxSynth. ‘avxsynth_c.h’ is installed as part of the normal build routine, as illustrated on 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).
AviSynth and AvxSynth are loaded dynamically. Distributors can build Libav
with --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).
You can use the -formats and -codecs options to have an exhaustive list.
Libav supports the following file formats through the libavformat
library:
| Name | Encoding | Decoding | Comments |
| 4xm | X | 4X Technologies format, used in some games. | |
| 8088flex TMV | X | ||
| Adobe Filmstrip | X | X | |
| Audio IFF (AIFF) | X | X | |
| American Laser Games MM | X | Multimedia format used in games like Mad Dog McCree. | |
| 3GPP AMR | X | X | |
| Amazing Studio Packed Animation File | X | Multimedia format used in game Heart Of Darkness. | |
| Apple HTTP Live Streaming | X | ||
| ASF | X | X | |
| AVI | X | X | |
| AviSynth | X | ||
| AVS | X | Multimedia format used by the Creature Shock game. | |
| Beam Software SIFF | X | Audio and video format used in some games by Beam Software. | |
| Bethesda Softworks VID | X | Used in some games from Bethesda Softworks. | |
| Bink | X | Multimedia format used by many games. | |
| Bitmap Brothers JV | X | Used in Z and Z95 games. | |
| Brute Force & Ignorance | X | Used in the game Flash Traffic: City of Angels. | |
| BWF | X | X | |
| CRI ADX | X | X | Audio-only format used in console video games. |
| Discworld II BMV | X | ||
| Interplay C93 | X | Used in the game Cyberia from Interplay. | |
| Delphine Software International CIN | X | Multimedia format used by Delphine Software games. | |
| CD+G | X | Video format used by CD+G karaoke disks | |
| Commodore CDXL | X | Amiga CD video format | |
| Core Audio Format | X | Apple Core Audio Format | |
| CRC testing format | X | ||
| Creative Voice | X | X | Created for the Sound Blaster Pro. |
| CRYO APC | X | Audio format used in some games by CRYO Interactive Entertainment. | |
| D-Cinema audio | X | X | |
| Deluxe Paint Animation | X | ||
| DFA | X | This format is used in Chronomaster game | |
| DV video | X | X | |
| DXA | X | This format is used in the non-Windows version of the Feeble Files game and different game cutscenes repacked for use with ScummVM. | |
| Electronic Arts cdata | X | ||
| Electronic Arts Multimedia | X | Used in various EA games; files have extensions like WVE and UV2. | |
| Flash (SWF) | X | X | |
| Flash 9 (AVM2) | X | X | Only embedded audio is decoded. |
| FLI/FLC/FLX animation | X | .fli/.flc files | |
| Flash Video (FLV) | X | X | Macromedia Flash video files |
| framecrc testing format | X | ||
| FunCom ISS | X | Audio format used in various games from FunCom like The Longest Journey. | |
| GIF Animation | X | ||
| GXF | X | X | General eXchange Format SMPTE 360M, used by Thomson Grass Valley playout servers. |
| HNM | X | Only version 4 supported, used in some games from Cryo Interactive | |
| id Quake II CIN video | X | ||
| id RoQ | X | X | Used in Quake III, Jedi Knight 2, other computer games. |
| IEC61937 encapsulation | X | X | |
| IFF | X | Interchange File Format | |
| iLBC | X | X | |
| Interplay MVE | X | Format used in various Interplay computer games. | |
| IV8 | X | A format generated by IndigoVision 8000 video server. | |
| IVF (On2) | X | X | A format used by libvpx |
| LATM | X | X | |
| LMLM4 | X | Used by Linux Media Labs MPEG-4 PCI boards | |
| LXF | X | VR native stream format, used by Leitch/Harris’ video servers. | |
| Matroska | X | X | |
| Matroska audio | X | ||
| FFmpeg metadata | X | X | Metadata in text format. |
| MAXIS XA | X | Used in Sim City 3000; fi |