X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Fgeneral.texi;h=0beffad370a6dfda9304ce383ef5c77898f61bc9;hb=8a26ae5f94e613dbf7eb8e3c60462e966e409cdc;hp=090e4c594b39440386a73d516890692e7fc6638a;hpb=a229d6c2856a03654942ad8cb8a77003f688fea2;p=ffmpeg diff --git a/doc/general.texi b/doc/general.texi index 090e4c594b3..0beffad370a 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -13,12 +13,13 @@ 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 @@ -54,6 +55,14 @@ Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the 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. @@ -62,6 +71,14 @@ 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 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. @@ -70,6 +87,22 @@ 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 + +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. @@ -84,7 +117,69 @@ x264 is under the GNU Public License Version 2 or later 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 as +provided by AviSynth+ is fully compatible. 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 RC1 or higher} for 32-bit builds and +@url{http://avs-plus.net, AviSynth+ r1718 or higher} for 32-bit and 64-bit builds. +@url{https://github.com/AviSynth/AviSynthPlus, AviSynth+'s git repository} +provides a GNU-style Makefile which can install just the headers using +@code{make install PREFIX=/install/prefix}. + +@float NOTE +When using AviSynth+'s installed headers, the user must also pass +the avisynth/ include directory to @code{--extra-cflags}. For example, +if the PREFIX given to AviSynth+'s Makefile was /usr/i686-w64-mingw32, +then the correct command would be +@code{--extra-cflags="-I/usr/i686-w64-mingw32/include/avisynth"}. +@end float + +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 @@ -105,10 +200,12 @@ library: @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 @@ -129,6 +226,10 @@ library: @tab Used in the game Cyberia from Interplay. @item Delphine Software International CIN @tab @tab X @tab Multimedia format used by Delphine Software games. +@item Digital Speech Standard (DSS) @tab @tab X +@item Canopus HQ @tab @tab X +@item Canopus HQA @tab @tab X +@item Canopus HQX @tab @tab X @item CD+G @tab @tab X @tab Video format used by CD+G karaoke disks @item Commodore CDXL @tab @tab X @@ -144,6 +245,7 @@ library: @item Deluxe Paint Animation @tab @tab X @item DFA @tab @tab X @tab This format is used in Chronomaster game +@item DirectDraw Surface @tab @tab X @item DV video @tab X @tab X @item DXA @tab @tab X @tab This format is used in the non-Windows version of the Feeble Files @@ -151,7 +253,6 @@ 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 Flash (SWF) @tab X @tab X @item Flash 9 (AVM2) @tab X @tab X @tab Only embedded audio is decoded. @@ -166,12 +267,15 @@ library: @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 @@ -205,6 +309,8 @@ library: @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. @@ -241,6 +347,7 @@ library: @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 @@ -252,6 +359,7 @@ library: @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 @@ -292,6 +400,7 @@ library: @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 @@ -300,12 +409,15 @@ library: @tab Multimedia format used by many games. @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 @item Sony Wave64 (W64) @tab @tab X @item SoX native format @tab X @tab X @item SUN AU format @tab X @tab X +@item TDSC @tab @tab X @item Text files @tab @tab X @item THP @tab @tab X @tab Used on the Nintendo GameCube. @@ -313,6 +425,7 @@ library: @tab Tiertex .seq files used in the DOS CD-ROM version of the game Flashback. @item True Audio @tab @tab X @item VC-1 test bitstream @tab X @tab X +@item Vidvox Hap @tab X @tab X @item WAV @tab X @tab X @item WavPack @tab @tab X @item WebM @tab X @tab X @@ -343,16 +456,22 @@ following image formats are 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 @@ -382,7 +501,9 @@ 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 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 @@ -403,11 +524,13 @@ 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 @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 X @tab X @item Apple QuickDraw @tab @tab X @@ -447,6 +570,7 @@ following image formats are supported: @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 @@ -473,6 +597,7 @@ 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) @item Flash Screen Video v1 @tab X @tab X @@ -482,12 +607,16 @@ following image formats are supported: @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 @@ -517,8 +646,18 @@ 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 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. @@ -528,8 +667,6 @@ following image formats are supported: @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 @tab libxvidcore can be used alternatively for encoding. @@ -545,8 +682,12 @@ following image formats are supported: @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 @@ -572,11 +713,12 @@ following image formats are supported: @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 @@ -586,11 +728,13 @@ following image formats are supported: @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 @@ -669,6 +813,8 @@ following image formats are supported: @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 @@ -676,18 +822,22 @@ 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 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 DCA (DTS Coherent Acoustics) @tab @tab X + @tab supported extensions: XCh, XLL (partially) @item DPCM id RoQ @tab X @tab X @tab Used in Quake III, Jedi Knight 2, other computer games. @item DPCM Interplay @tab @tab X @@ -701,10 +851,14 @@ 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 @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 @@ -713,16 +867,23 @@ following image formats are supported: @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 big-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 @@ -762,13 +923,16 @@ following image formats are supported: @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 @@ -802,19 +966,32 @@ performance on systems without hardware floating point support). @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