doc/general: rearrange libraries in alphabetical order
authorGyan Doshi <ffmpeg@gyani.pro>
Fri, 7 Dec 2018 12:26:00 +0000 (17:56 +0530)
committerGyan Doshi <ffmpeg@gyani.pro>
Fri, 7 Dec 2018 12:26:00 +0000 (17:56 +0530)
doc/general.texi

index d883240..36e5f91 100644 (file)
@@ -17,21 +17,85 @@ 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 libxavs2
+@section Alliance for Open Media (AOM)
 
-FFmpeg can make use of the xavs2 library for AVS2-P2/IEEE1857.4 video encoding.
+FFmpeg can make use of the AOM library for AV1 decoding and encoding.
 
-Go to @url{https://github.com/pkuvcl/xavs2} and follow the instructions for
-installing the library. Then pass @code{--enable-libxavs2} to configure to
+Go to @url{http://aomedia.org/} and follow the instructions for
+installing the library. Then pass @code{--enable-libaom} to configure to
 enable it.
 
+@section AMD AMF/VCE
+
+FFmpeg can use the AMD Advanced Media Framework library under Windows
+for accelerated H.264 and HEVC encoding on hardware with Video Coding Engine (VCE).
+
+To enable support you must obtain the AMF framework header files from
+@url{https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git}.
+
+Create an @code{AMF/} directory in the system include path.
+Copy the contents of @code{AMF/amf/public/include/} into that directory.
+Then configure FFmpeg with @code{--enable-amf}.
+
+@section AviSynth
+
+FFmpeg can read AviSynth scripts as input. To enable support, pass
+@code{--enable-avisynth} to configure.  The correct headers are
+included in compat/avisynth/, which allows the user to enable support
+without needing to search for these headers themselves.
+
+For Windows, supported AviSynth variants are
+@url{http://avisynth.nl, AviSynth 2.6 RC1 or higher} for 32-bit builds and
+@url{http://avs-plus.net, AviSynth+ r1718 or higher} for 32-bit and 64-bit builds.
+
+For Linux and OS X, the supported AviSynth variant is
+@url{https://github.com/avxsynth/avxsynth, AvxSynth}.
+
 @float NOTE
-libxavs2 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 FFmpeg's license to GPL in order to use it.
+There is currently a regression in AviSynth+'s @code{capi.h} header as of
+October 2016, which interferes with the ability for builds of FFmpeg to use
+MSVC-built binaries of AviSynth. Until this is resolved, you can make sure
+a known good version is installed by checking out a version from before
+the regression occurred:
+
+@code{git clone -b MT git://github.com/AviSynth/AviSynthPlus.git @*
+cd AviSynthPlus @*
+git checkout -b oldheader b4f292b4dbfad149697fb65c6a037bb3810813f9 @*
+make install PREFIX=/install/prefix}
 @end float
 
-@section libdavs2
+@float NOTE
+AviSynth and AvxSynth are loaded dynamically.  Distributors can build FFmpeg
+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
+
+@section Chromaprint
+
+FFmpeg can make use of the Chromaprint library for generating audio fingerprints.
+Pass @code{--enable-chromaprint} to configure to
+enable it. See @url{https://acoustid.org/chromaprint}.
+
+@section codec2
+
+FFmpeg can make use of the codec2 library for codec2 decoding and encoding.
+There is currently no native decoder, so libcodec2 must be used for decoding.
+
+Go to @url{http://freedv.org/}, download "Codec 2 source archive".
+Build and install using CMake. Debian users can install the libcodec2-dev package instead.
+Once libcodec2 is installed you can pass @code{--enable-libcodec2} to configure to enable it.
+
+The easiest way to use codec2 is with .c2 files, since they contain the mode information required for decoding.
+To encode such a file, use a .c2 file extension and give the libcodec2 encoder the -mode option:
+@code{ffmpeg -i input.wav -mode 700C output.c2}.
+Playback is as simple as @code{ffplay output.c2}.
+For a list of supported modes, run @code{ffmpeg -h encoder=libcodec2}.
+Raw codec2 files are also supported.
+To make sense of them the mode in use needs to be specified as a format option:
+@code{ffmpeg -f codec2raw -mode 1300 -i input.raw output.wav}.
+
+@section davs2
 
 FFmpeg can make use of the davs2 library for AVS2-P2/IEEE1857.4 video decoding.
 
@@ -45,25 +109,57 @@ libdavs2 is under the GNU Public License Version 2 or later
 details), you must upgrade FFmpeg's license to GPL in order to use it.
 @end float
 
-@section Alliance for Open Media libaom
+@section Game Music Emu
 
-FFmpeg can make use of the libaom library for AV1 decoding.
+FFmpeg can make use of the Game Music Emu library to read audio from supported video game
+music file formats. Pass @code{--enable-libgme} to configure to
+enable it. See @url{https://bitbucket.org/mpyne/game-music-emu/overview}.
 
-Go to @url{http://aomedia.org/} and follow the instructions for
-installing the library. Then pass @code{--enable-libaom} to configure to
-enable it.
+@section Intel QuickSync Video
 
-@section Chromaprint
+FFmpeg can use Intel QuickSync Video (QSV) for accelerated decoding and encoding
+of multiple codecs. To use QSV, FFmpeg must be linked against the @code{libmfx}
+dispatcher, which loads the actual decoding libraries.
 
-FFmpeg can make use of the Chromaprint library for generating audio fingerprints.
-Pass @code{--enable-chromaprint} to configure to
-enable it. See @url{https://acoustid.org/chromaprint}.
+The dispatcher is open source and can be downloaded from
+@url{https://github.com/lu-zero/mfx_dispatch.git}. FFmpeg needs to be configured
+with the @code{--enable-libmfx} option and @code{pkg-config} needs to be able to
+locate the dispatcher's @code{.pc} files.
 
-@section Game Music Emu
+@section Kvazaar
 
-FFmpeg can make use of the Game Music Emu library to read audio from supported video game
-music file formats. Pass @code{--enable-libgme} to configure to
-enable it. See @url{https://bitbucket.org/mpyne/game-music-emu/overview}.
+FFmpeg can make use of the Kvazaar library for HEVC encoding.
+
+Go to @url{https://github.com/ultravideo/kvazaar} and follow the
+instructions for installing the library. Then pass
+@code{--enable-libkvazaar} to configure to enable it.
+
+@section LAME
+
+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.
+Then pass @code{--enable-libmp3lame} to configure to enable it.
+
+@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. FFmpeg can make use of the libilbc library for
+iLBC decoding and encoding.
+
+Go to @url{https://github.com/TimothyGu/libilbc} and follow the instructions for
+installing the library. Then pass @code{--enable-libilbc} to configure to
+enable it.
+
+@section libvpx
+
+FFmpeg can make use of the libvpx library for VP8/VP9 decoding and encoding.
+
+Go to @url{http://www.webmproject.org/} and follow the instructions for
+installing the library. Then pass @code{--enable-libvpx} to configure to
+enable it.
 
 @section ModPlug
 
@@ -71,13 +167,6 @@ FFmpeg can make use of this library, originating in Modplug-XMMS, to read from M
 See @url{https://github.com/Konstanty/libmodplug}. Pass @code{--enable-libmodplug} to configure to
 enable it.
 
-@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, VisualOn, and Fraunhofer libraries
 
 Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
@@ -123,13 +212,27 @@ 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
+@section OpenH264
 
-FFmpeg can make use of the LAME library for MP3 encoding.
+FFmpeg can make use of the OpenH264 library for H.264 decoding and encoding.
 
-Go to @url{http://lame.sourceforge.net/} and follow the
-instructions for installing the library.
-Then pass @code{--enable-libmp3lame} to configure to enable it.
+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.
+
+For decoding, this library is much more limited than the built-in decoder
+in libavcodec; currently, this library lacks support for decoding B-frames
+and some other main/high profile features. (It currently only supports
+constrained baseline profile and CABAC.) Using it is mostly useful for
+testing and for taking advantage of Cisco's patent portfolio license
+(@url{http://www.openh264.org/BINARY_LICENSE.txt}).
+
+@section OpenJPEG
+
+FFmpeg can use the OpenJPEG libraries for decoding/encoding 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 TwoLAME
 
@@ -139,33 +242,7 @@ 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 libcodec2 / codec2 general
-
-FFmpeg can make use of libcodec2 for codec2 encoding and decoding.
-There is currently no native decoder, so libcodec2 must be used for decoding.
-
-Go to @url{http://freedv.org/}, download "Codec 2 source archive".
-Build and install using CMake. Debian users can install the libcodec2-dev package instead.
-Once libcodec2 is installed you can pass @code{--enable-libcodec2} to configure to enable it.
-
-The easiest way to use codec2 is with .c2 files, since they contain the mode information required for decoding.
-To encode such a file, use a .c2 file extension and give the libcodec2 encoder the -mode option:
-@code{ffmpeg -i input.wav -mode 700C output.c2}.
-Playback is as simple as @code{ffplay output.c2}.
-For a list of supported modes, run @code{ffmpeg -h encoder=libcodec2}.
-Raw codec2 files are also supported.
-To make sense of them the mode in use needs to be specified as a format option:
-@code{ffmpeg -f codec2raw -mode 1300 -i input.raw output.wav}.
-
-@section libvpx
-
-FFmpeg can make use of the libvpx library for VP8/VP9 encoding.
-
-Go to @url{http://www.webmproject.org/} and follow the instructions for
-installing the library. Then pass @code{--enable-libvpx} to configure to
-enable it.
-
-@section libwavpack
+@section WavPack
 
 FFmpeg can make use of the libwavpack library for WavPack encoding.
 
@@ -173,29 +250,6 @@ 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 libxavs
-
-FFmpeg can make use of the libxavs library for Xavs encoding.
-
-Go to @url{http://xavs.sf.net/} and follow the instructions for
-installing the library. Then pass @code{--enable-libxavs} to configure to
-enable it.
-
-@section OpenH264
-
-FFmpeg can make use of the OpenH264 library for H.264 encoding and decoding.
-
-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.
-
-For decoding, this library is much more limited than the built-in decoder
-in libavcodec; currently, this library lacks support for decoding B-frames
-and some other main/high profile features. (It currently only supports
-constrained baseline profile and CABAC.) Using it is mostly useful for
-testing and for taking advantage of Cisco's patent portfolio license
-(@url{http://www.openh264.org/BINARY_LICENSE.txt}).
-
 @section x264
 
 FFmpeg can make use of the x264 library for H.264 encoding.
@@ -224,91 +278,36 @@ x265 is under the GNU Public License Version 2 or later
 details), you must upgrade FFmpeg's license to GPL in order to use it.
 @end float
 
-@section kvazaar
-
-FFmpeg can make use of the kvazaar library for HEVC encoding.
+@section xavs
 
-Go to @url{https://github.com/ultravideo/kvazaar} and follow the
-instructions for installing the library. Then pass
-@code{--enable-libkvazaar} to configure to enable it.
-
-@section libilbc
+FFmpeg can make use of the xavs library for AVS encoding.
 
-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. FFmpeg can make use of the libilbc library for
-iLBC encoding and decoding.
-
-Go to @url{https://github.com/TimothyGu/libilbc} and follow the instructions for
-installing the library. Then pass @code{--enable-libilbc} to configure to
+Go to @url{http://xavs.sf.net/} and follow the instructions for
+installing the library. Then pass @code{--enable-libxavs} to configure to
 enable it.
 
-@section libzvbi
+@section xavs2
 
-libzvbi is a VBI decoding library which can be used by FFmpeg to decode DVB
-teletext pages and DVB teletext subtitles.
+FFmpeg can make use of the xavs2 library for AVS2-P2/IEEE1857.4 video encoding.
 
-Go to @url{http://sourceforge.net/projects/zapping/} and follow the instructions for
-installing the library. Then pass @code{--enable-libzvbi} to configure to
+Go to @url{https://github.com/pkuvcl/xavs2} and follow the instructions for
+installing the library. Then pass @code{--enable-libxavs2} to configure to
 enable it.
 
-@section AviSynth
-
-FFmpeg can read AviSynth scripts as input. To enable support, pass
-@code{--enable-avisynth} to configure.  The correct headers are
-included in compat/avisynth/, which allows the user to enable support
-without needing to search for these headers themselves.
-
-For Windows, supported AviSynth variants are
-@url{http://avisynth.nl, AviSynth 2.6 RC1 or higher} for 32-bit builds and
-@url{http://avs-plus.net, AviSynth+ r1718 or higher} for 32-bit and 64-bit builds.
-
-For Linux and OS X, the supported AviSynth variant is
-@url{https://github.com/avxsynth/avxsynth, AvxSynth}.
-
-@float NOTE
-There is currently a regression in AviSynth+'s @code{capi.h} header as of
-October 2016, which interferes with the ability for builds of FFmpeg to use
-MSVC-built binaries of AviSynth. Until this is resolved, you can make sure
-a known good version is installed by checking out a version from before
-the regression occurred:
-
-@code{git clone -b MT git://github.com/AviSynth/AviSynthPlus.git @*
-cd AviSynthPlus @*
-git checkout -b oldheader b4f292b4dbfad149697fb65c6a037bb3810813f9 @*
-make install PREFIX=/install/prefix}
-@end float
-
 @float NOTE
-AviSynth and AvxSynth are loaded dynamically.  Distributors can build FFmpeg
-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).
+libxavs2 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 FFmpeg's license to GPL in order to use it.
 @end float
 
-@section Intel QuickSync Video
-
-FFmpeg can use Intel QuickSync Video (QSV) for accelerated encoding and decoding
-of multiple codecs. To use QSV, FFmpeg must be linked against the @code{libmfx}
-dispatcher, which loads the actual decoding libraries.
+@section ZVBI
 
-The dispatcher is open source and can be downloaded from
-@url{https://github.com/lu-zero/mfx_dispatch.git}. FFmpeg needs to be configured
-with the @code{--enable-libmfx} option and @code{pkg-config} needs to be able to
-locate the dispatcher's @code{.pc} files.
-
-@section AMD VCE
-
-FFmpeg can use the AMD Advanced Media Framework library for accelerated H.264
-and HEVC encoding on VCE enabled hardware under Windows.
-
-To enable support you must obtain the AMF framework header files from
-@url{https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git}.
-
-Create an @code{AMF/} directory in the system include path.
-Copy the contents of @code{AMF/amf/public/include/} into that directory.
-Then configure FFmpeg with @code{--enable-amf}.
+ZVBI is a VBI decoding library which can be used by FFmpeg to decode DVB
+teletext pages and DVB teletext subtitles.
 
+Go to @url{http://sourceforge.net/projects/zapping/} and follow the instructions for
+installing the library. Then pass @code{--enable-libzvbi} to configure to
+enable it.
 
 @chapter Supported File Formats, Codecs or Features