overdue format updates
[libav.git] / doc / ffmpeg-doc.texi
index 9b37c18..d4ef24f 100644 (file)
@@ -30,12 +30,13 @@ video on the fly with a high quality polyphase filter.
   ffmpeg /tmp/out.mpg 
 @end example
 
-  Note that you must activate the right video source and channel
-  before launching ffmpeg. You can use any TV viewer such as xawtv by
-  Gerd Knorr which I find very good. You must also set correctly the
-  audio recording levels with a standard mixer.
+  Note that you must activate the right video source and channel before
+  launching ffmpeg. You can use any TV viewer such as xawtv
+  (@url{http://bytesex.org/xawtv/}) by Gerd Knorr which I find very
+  good. You must also set correctly the audio recording levels with a
+  standard mixer.
 
-@section Video and Audio file format convertion
+@section Video and Audio file format conversion
 
 * ffmpeg can use any supported file format and protocol as input: 
 
@@ -83,7 +84,7 @@ Examples:
   Convert the audio file a.wav and the raw yuv video file a.yuv
   to mpeg file a.mpg
 
-* You can also do audio and video convertions at the same time:
+* You can also do audio and video conversions at the same time:
 
 @example
   ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
@@ -108,13 +109,13 @@ Examples:
   ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800 -g 300 -bf 2 -acodec mp3 -ab 128 snatch.avi
 @end example
 
-  This is a typicall DVD ripper example, input from a VOB file, output
+  This is a typical DVD ripper example, input from a VOB file, output
   to an AVI file with MPEG-4 video and MP3 audio, note that in this
   command we use B frames so the MPEG-4 stream is DivX5 compatible, GOP
   size is 300 that means an INTRA frame every 10 seconds for 29.97 fps
   input video.  Also the audio stream is MP3 encoded so you need LAME
   support which is enabled using @code{--enable-mp3lame} when
-  configuring.  The mapping is particullary usefull for DVD transcoding
+  configuring.  The mapping is particularly useful for DVD transcoding
   to get the desired audio language.
 
   NOTE: to see the supported input formats, use @code{ffmpeg -formats}.
@@ -136,7 +137,7 @@ Examples:
   files.
 
   By default, ffmpeg tries to convert as losslessly as possible: it
-  uses the same audio and video parameter fors the outputs as the one
+  uses the same audio and video parameter for the outputs as the one
   specified for the inputs.
 
 @section Main options
@@ -299,7 +300,7 @@ ffmpeg handles also many protocols specified with the URL syntax.
 @item If your computer is not fast enough, you can speed up the
   compression at the expense of the compression ratio. You can use
   '-me zero' to speed up motion estimation, and '-intra' to disable
-  completly motion estimation (you have only I frames, which means it
+  completely motion estimation (you have only I frames, which means it
   is about as good as JPEG compression).
 
 @item To have very low bitrates in audio, reduce the sampling frequency
@@ -321,7 +322,7 @@ You can use the @code{-formats} option to have an exhaustive list.
 
 @section File Formats
 
-FFmpeg supports the following file formats thru the @code{libavformat}
+FFmpeg supports the following file formats through the @code{libavformat}
 library:
 
 @multitable @columnfractions .4 .1 .1
@@ -350,6 +351,8 @@ library:
 @item Raw MPEG4 video  @tab  X @tab  X 
 @item DV               @tab  @tab X
 @tab Only the video track is decoded.
+@item 4xm              @tab    @tab X
+@tab 4X Technologies format, used in some games
 @end multitable
 
 @code{X} means that the encoding (resp. decoding) is supported.
@@ -381,10 +384,18 @@ following image formats are supported:
 @item MSMPEG4 V2             @tab  X  @tab  X
 @item MSMPEG4 V3             @tab  X  @tab  X @tab Also known as DIVX3
 @item WMV7                   @tab  X  @tab  X
+@item WMV8                   @tab  X  @tab  X @tab Not completely working
 @item H263(+)                @tab  X  @tab  X @tab Also known as Real Video 1.0
 @item MJPEG                  @tab  X  @tab  X 
 @item DV                     @tab     @tab  X 
 @item Huff YUV               @tab  X  @tab  X
+@item Asus v1                @tab  X  @tab  X @tab fourcc: ASV1
+@item Creative YUV           @tab     @tab  X @tab fourcc: CYUV
+@item H.264                  @tab     @tab  X
+@item Sorenson Video 1       @tab     @tab  X @tab fourcc: SVQ1
+@item Sorenson Video 3       @tab     @tab  X @tab fourcc: SVQ3
+@item On2 VP3                @tab     @tab  X @tab still experimental
+@item Intel Indeo 3          @tab     @tab  X @tab only works on i386 right now
 @end multitable
 
 @code{X} means that the encoding (resp. decoding) is supported.
@@ -399,13 +410,14 @@ solutions.
 @item Supported Codec @tab Encoding @tab Decoding @tab Comments
 @item MPEG audio layer 2     @tab  IX  @tab  IX 
 @item MPEG audio layer 1/3   @tab IX   @tab  IX
-@tab MP3 encoding is supported thru the external library LAME
+@tab MP3 encoding is supported through the external library LAME
 @item AC3                    @tab  IX  @tab  X
 @tab liba52 is used internally for decoding.
 @item Vorbis                 @tab  X   @tab  X
-@tab supported thru the external library libvorbis.
+@tab supported through the external library libvorbis.
 @item WMA V1/V2              @tab      @tab X
-
+@item Microsoft ADPCM        @tab X    @tab X
+@item IMA ADPCM              @tab X    @tab X
 @end multitable
 
 @code{X} means that the encoding (resp. decoding) is supported.
@@ -418,7 +430,7 @@ performances on systems without hardware floating point support).
 @section Linux
 
 ffmpeg should be compiled with at least GCC 2.95.3. GCC 3.2 is the
-prefered compiler now for ffmpeg. All futur optimizations will depend on
+preferred compiler now for ffmpeg. All future optimizations will depend on
 features only found in GCC 3.2.
 
 @section BSD
@@ -490,12 +502,7 @@ When you submit your patch, try to send a unified diff (diff '-u'
 option). I cannot read other diffs :-)
 
 Run the regression tests before submitting a patch so that you can
-verify that there is no big problems.
-
-Except if your patch is really big and adds an important feature, by
-submitting it to me, you accept implicitely to put it under my
-copyright. I prefer to do this to avoid potential problems if
-licensing of ffmpeg changes.
+verify that there are no big problems.
 
 Patches should be posted as base64 encoded attachments (or any other
 encoding which ensures that the patch wont be trashed during 
@@ -504,15 +511,19 @@ transmission) to the ffmpeg-devel mailinglist, see
 
 @section Regression tests
 
-Before submitting a patch (or commiting with CVS), you should at least
+Before submitting a patch (or committing with CVS), you should at least
 test that you did not break anything.
 
 The regression test build a synthetic video stream and a synthetic
-audio stream. Then there are encoded then decoded with all codecs or
+audio stream. Then these are encoded then decoded with all codecs or
 formats. The CRC (or MD5) of each generated file is recorded in a
 result file. Then a 'diff' is launched with the reference results and
 the result file.
 
+The regression test then goes on to test the ffserver code with a 
+limited set of streams. It is important that this step runs correctly
+as well.
+
 Run 'make test' to test all the codecs.
 
 Run 'make libavtest' to test all the codecs.