fixing yuv422 -> yuv420p (i need that for the vceq videos ...)
[ffmpeg.git] / doc / ffmpeg-doc.texi
index 781d8dc68c87016fe9b60ad0b875aeb11db262c5..902a194045636ae8057354f1a38630832f1b76a1 100644 (file)
@@ -35,7 +35,7 @@ video on the fly with a high quality polyphase filter.
   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 +83,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 +108,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 +136,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 +299,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,8 +321,8 @@ 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}
-library.
+FFmpeg supports the following file formats through the @code{libavformat}
+library:
 
 @multitable @columnfractions .4 .1 .1
 @item Supported File Format @tab Encoding @tab Decoding @tab Comments
@@ -339,9 +339,6 @@ library.
 @item Macromedia Flash@tab X @tab X
 @tab Only embedded audio is decoded
 @item Real Audio and Video @tab X @tab X 
-@item PGM, YUV, PPM, JPEG images @tab X @tab X 
-@item Animated GIF @tab X @tab
-@tab Only uncompressed GIFs are generated
 @item Raw AC3 @tab X  @tab  X 
 @item Raw MJPEG @tab X  @tab  X 
 @item Raw MPEG video @tab X  @tab  X 
@@ -350,19 +347,34 @@ library.
 @item Quicktime        @tab   @tab  X 
 @item MPEG4            @tab  @tab  X 
 @tab MPEG4 is a variant of Quicktime
-@item Raw MPEG4 video  @tab  @tab  X 
-@tab Only small files are supported.
+@item Raw MPEG4 video  @tab  X @tab  X 
 @item DV               @tab  @tab X
 @tab Only the video track is decoded.
 @end multitable
 
 @code{X} means that the encoding (resp. decoding) is supported.
 
+@section Image Formats
+
+FFmpeg can read and write images for each frame of a video sequence. The
+following image formats are supported:
+
+@multitable @columnfractions .4 .1 .1
+@item Supported Image Format @tab Encoding @tab Decoding @tab Comments
+@item PGM, PPM     @tab X @tab X 
+@item PGMYUV       @tab X @tab X @tab PGM with U and V components in 420
+@item JPEG         @tab X @tab X @tab Progressive JPEG is not supported
+@item .Y.U.V       @tab X @tab X @tab One raw file per component
+@item Animated GIF @tab X @tab   @tab Only uncompressed GIFs are generated
+@end multitable
+
+@code{X} means that the encoding (resp. decoding) is supported.
+
 @section Video Codecs
 
 @multitable @columnfractions .4 .1 .1 .7
 @item Supported Codec @tab Encoding @tab Decoding @tab Comments
-@item MPEG1 video            @tab  X  @tab  X 
+@item MPEG1 video            @tab  X  @tab  X
 @item MPEG2 video            @tab     @tab  X 
 @item MPEG4                  @tab  X  @tab  X @tab Also known as DIVX4/5
 @item MSMPEG4 V1             @tab  X  @tab  X
@@ -372,6 +384,7 @@ library.
 @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
 @end multitable
 
 @code{X} means that the encoding (resp. decoding) is supported.
@@ -386,11 +399,13 @@ 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
-@tab encoding is supported thru the external library libvorbis.
+@item Vorbis                 @tab  X   @tab  X
+@tab supported through the external library libvorbis.
+@item WMA V1/V2              @tab      @tab X
+
 @end multitable
 
 @code{X} means that the encoding (resp. decoding) is supported.
@@ -403,7 +418,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
@@ -432,7 +447,7 @@ that ffmpeg negates when returning. This ends up turning errors into
 valid results, then crashes.
 (To be fixed)
 
-@chapter Developpers Guide
+@chapter Developers Guide
 
 @section API
 @itemize
@@ -475,10 +490,10 @@ 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.
+verify that there are 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
+submitting it to me, you accept implicitly to put it under my
 copyright. I prefer to do this to avoid potential problems if
 licensing of ffmpeg changes.
 
@@ -489,15 +504,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.