X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Fgeneral.texi;h=e96f88d799f0372b8ef9f426b0ed622d8cfd25b2;hb=5a717094676a9c3a5bc67686cb369911922cdd82;hp=036213559f84cb79116987a0a139d50c801e8270;hpb=342c7dfdbb46b1ff778ef142dc93d24990e776d7;p=ffmpeg diff --git a/doc/general.texi b/doc/general.texi index 036213559f8..e96f88d799f 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -109,6 +109,8 @@ library: @tab Format used in various Interplay computer games. @item IV8 @tab @tab X @tab A format generated by IndigoVision 8000 video server. +@item IVF (On2) @tab @tab X + @tab A format used by libvpx @item LMLM4 @tab @tab X @tab Used by Linux Media Labs MPEG-4 PCI boards @item Matroska @tab X @tab X @@ -210,7 +212,7 @@ library: @item RTMP @tab X @tab X @tab Output is performed by publishing stream to RTMP server @item RTP @tab @tab X -@item RTSP @tab @tab X +@item RTSP @tab X @tab X @item SDP @tab @tab X @item Sega FILM/CPK @tab @tab X @tab Used in many Sega Saturn console games. @@ -226,6 +228,7 @@ library: @item Sony Wave64 (W64) @tab @tab X @item SoX native format @tab X @tab X @item SUN AU format @tab X @tab X +@item Text files @tab @tab X @item THP @tab @tab X @tab Used on the Nintendo GameCube. @item Tiertex Limited SEQ @tab @tab X @@ -234,6 +237,7 @@ library: @item VC-1 test bitstream @tab X @tab X @item WAV @tab X @tab X @item WavPack @tab @tab X +@item WebM @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 @@ -241,6 +245,7 @@ library: @item Westwood Studios VQA @tab @tab X @tab Multimedia format used in Westwood Studios games. @item YUV4MPEG pipe @tab X @tab X +@item Psygnosis YOP @tab @tab X @end multitable @code{X} means that encoding (resp. decoding) is supported. @@ -277,6 +282,8 @@ following image formats are supported: @tab Portable GrayMap image @item PGMYUV @tab X @tab X @tab PGM with U and V components in YUV 4:2:0 +@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 @@ -310,6 +317,7 @@ following image formats are supported: @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 MJPEG-B @tab @tab X @item Apple QuickDraw @tab @tab X @tab fourcc: qdrw @@ -403,6 +411,8 @@ following image formats are supported: @tab Used in Interplay .MVE files. @item Karl Morton's video codec @tab @tab X @tab Codec used in Worms games. +@item Kega Game Video (KGV1) @tab @tab X + @tab Kega emulator screen capture codec. @item LCL (LossLess Codec Library) MSZH @tab @tab X @item LCL (LossLess Codec Library) ZLIB @tab E @tab E @item LOCO @tab @tab X @@ -433,6 +443,8 @@ following image formats are supported: @tab fourcc: VP50 @item On2 VP6 @tab @tab X @tab fourcc: VP60,VP61,VP62 +@item VP8 @tab E @tab X + @tab fourcc: VP80, encoding supported through external library libvpx @item planar RGB @tab @tab X @tab fourcc: 8BPS @item Q-team QPEG @tab @tab X @@ -488,6 +500,7 @@ following image formats are supported: @item Winnov WNV1 @tab @tab X @item WMV7 @tab X @tab X @item YAMAHA SMAF @tab X @tab X +@item Psygnosis YOP Video @tab @tab X @item ZLIB @tab X @tab X @tab part of LCL, encoder experimental @item Zip Motion Blocks Video @tab X @tab X @@ -549,8 +562,8 @@ following image formats are supported: @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 -@item AMR-NB @tab E @tab E - @tab supported through external library libopencore-amrnb +@item AMR-NB @tab E @tab X + @tab encoding supported through external library libopencore-amrnb @item AMR-WB @tab @tab E @tab decoding supported through external library libopencore-amrwb @item Apple lossless audio @tab X @tab X @@ -578,10 +591,10 @@ following image formats are supported: @item Enhanced AC-3 @tab @tab X @item FLAC (Free Lossless Audio Codec) @tab X @tab IX @item G.729 @tab @tab X -@item GSM @tab E @tab E - @tab supported through external library libgsm -@item GSM Microsoft variant @tab E @tab E - @tab supported through external library libgsm +@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 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 @@ -624,7 +637,7 @@ following image formats are supported: @item QCELP / PureVoice @tab @tab X @item QDesign Music Codec 2 @tab @tab X @tab There are still some distortions. -@item RealAudio 1.0 (14.4K) @tab @tab X +@item RealAudio 1.0 (14.4K) @tab X @tab X @tab Real 14400 bit/s codec @item RealAudio 2.0 (28.8K) @tab @tab X @tab Real 28800 bit/s codec @@ -646,7 +659,7 @@ following image formats are supported: @tab Used in HD-DVD and Blu-Ray discs. @item TwinVQ (VQF flavor) @tab @tab X @item Vorbis @tab E @tab X - @ A native but very primitive encoder exists. + @tab A native but very primitive encoder exists. @item WavPack @tab @tab X @item Westwood Audio (SND1) @tab @tab X @item Windows Media Audio 1 @tab X @tab X @@ -682,6 +695,7 @@ performance on systems without hardware floating point support). @item file @tab X @item Gopher @tab X @item HTTP @tab X +@item MMS @tab X @item pipe @tab X @item RTP @tab X @item TCP @tab X @@ -696,7 +710,6 @@ performance on systems without hardware floating point support). @multitable @columnfractions .4 .1 .1 @item Name @tab Input @tab Output @item ALSA @tab X @tab X -@item BEOS audio @tab X @tab X @item BKTR @tab X @tab @item DV1394 @tab X @tab @item JACK @tab X @tab @@ -713,11 +726,70 @@ performance on systems without hardware floating point support). @chapter Platform Specific information -@section BSD +@section DOS + +Using a cross-compiler is preferred for various reasons. + +@subsection DJGPP + +FFmpeg cannot be compiled because of broken system headers, add +@code{--extra-cflags=-U__STRICT_ANSI__} to the configure options as a +workaround. + +@section OS/2 + +For information about compiling FFmpeg on OS/2 see +@url{http://www.edm2.com/index.php/FFmpeg}. + +@section Unix-like + +Some parts of FFmpeg cannot be built with version 2.15 of the GNU +assembler which is still provided by a few AMD64 distributions. To +make sure your compiler really uses the required version of gas +after a binutils upgrade, run: + +@example +$(gcc -print-prog-name=as) --version +@end example + +If not, then you should install a different compiler that has no +hard-coded path to gas. In the worst case pass @code{--disable-asm} +to configure. + +@subsection BSD BSD make will not build FFmpeg, you need to install and use GNU Make (@file{gmake}). +@subsubsection FreeBSD + +FreeBSD will not compile out-of-the-box due to broken system headers. +Passing @code{--extra-cflags=-D__BSD_VISIBLE} to configure will work +around the problem. This may have unexpected sideeffects, so use it at +your own risk. If you care about FreeBSD, please make an attempt at +getting the system headers fixed. + +@subsection (Open)Solaris + +GNU Make is required to build FFmpeg, so you have to invoke (@file{gmake}), +standard Solaris Make will not work. When building with a non-c99 front-end +(gcc, generic suncc) add either @code{--extra-libs=/usr/lib/values-xpg6.o} +or @code{--extra-libs=/usr/lib/64/values-xpg6.o} to the configure options +since the libc is not c99-compliant by default. The probes performed by +configure may raise an exception leading to the death of configure itself +due to a bug in the system shell. Simply invoke a different shell such as +bash directly to work around this: + +@example +bash ./configure +@end example + +@subsection Darwin (MacOS X, iPhone) + +MacOS X on PowerPC or ARM (iPhone) requires a preprocessor from +@url{http://github.com/yuvi/gas-preprocessor} to build the optimized +assembler functions. + @section Windows To get help and instructions for building FFmpeg under Windows, check out @@ -922,14 +994,13 @@ Then you can easily test FFmpeg with Wine @subsection Compilation under Cygwin -The main issue with the 1.5.x Cygwin versions is that newlib, its C library, -does not contain llrint(). You need to upgrade to the unstable 1.7.x versions, -or leverage the implementation in MinGW (as explained below). +Please use Cygwin 1.7.x as the obsolete 1.5.x Cygwin versions lack +llrint() in its C library. -Just install your Cygwin with all the "Base" packages, plus the +Install your Cygwin with all the "Base" packages, plus the following "Devel" ones: @example -binutils, gcc-core, make, subversion, mingw-runtime +binutils, gcc4-core, make, subversion, mingw-runtime, texi2html @end example And the following "Utils" one: @@ -937,33 +1008,21 @@ And the following "Utils" one: diffutils @end example -The experimental gcc4 package is still buggy, hence please -use the official gcc 3.4.4 or a 4.2.x compiled from source by yourself. - -Install the current binutils-20080624-2 as they work fine (the old -binutils-20060709-1 proved buggy on shared builds). - -Then create a small library that just contains llrint(): - -@example -ar x /usr/lib/mingw/libmingwex.a llrint.o -ar cq /usr/local/lib/libllrint.a llrint.o -@end example - Then run @example -./configure --enable-static --disable-shared --extra-ldflags='-L /usr/local/lib' --extra-libs='-l llrint' +./configure --enable-static --disable-shared @end example -to make a static build or +to make a static build. + +The current @code{gcc4-core} package is buggy and needs this flag to build +shared libraries: @example -./configure --enable-shared --disable-static --extra-ldflags='-L /usr/local/lib' --extra-libs='-l llrint' +./configure --enable-shared --disable-static --extra-cflags=-fno-reorder-functions @end example -to build shared libraries. - If you want to build FFmpeg with additional libraries, download Cygwin "Devel" packages for Ogg and Vorbis from any Cygwin packages repository: @example @@ -974,7 +1033,7 @@ These library packages are only available from Cygwin Ports (@url{http://sourceware.org/cygwinports/}) : @example -yasm, libSDL-devel, libdirac-devel, libfaac-devel, libfaad-devel, libgsm-devel, +yasm, libSDL-devel, libdirac-devel, libfaac-devel, libgsm-devel, libmp3lame-devel, libschroedinger1.0-devel, speex-devel, libtheora-devel, libxvidcore-devel @end example @@ -1007,13 +1066,4 @@ and for a build with shared libraries ./configure --target-os=mingw32 --enable-memalign-hack --enable-shared --disable-static --extra-cflags=-mno-cygwin --extra-libs=-mno-cygwin @end example -@section BeOS - -BeOS support is broken in mysterious ways. - -@section OS/2 - -For information about compiling FFmpeg on OS/2 see -@url{http://www.edm2.com/index.php/FFmpeg}. - @bye