Revision 019c8838

View differences:

doc/ffmpeg-doc.texi
83 83
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
84 84
@end example
85 85

  
86
Convert the audio file a.wav and the raw yuv video file a.yuv
87
to mpeg file a.mpg
86
Convert the audio file a.wav and the raw YUV video file a.yuv
87
to MPEG file a.mpg
88 88

  
89 89
* You can also do audio and video conversions at the same time:
90 90

  
......
258 258
set right pad band size (in pixels)
259 259
@item -padcolor (hex color)
260 260
set color of padded bands. The value for pad color is expressed 
261
as a six digit hexidecimal number where the first two digits represent red, 
261
as a six digit hexadecimal number where the first two digits represent red, 
262 262
middle two digits green and last two digits blue. Defaults to 000000 (black)
263 263
@item -vn
264 264
disable video recording
......
269 269
@item -minrate bitrate
270 270
set min video bitrate tolerance (in kbit/s)
271 271
@item -bufsize size
272
set ratecontrol buffere size (in kbit)
272
set ratecontrol buffer size (in kbit)
273 273
@item -vcodec codec       
274 274
force video codec to @var{codec}. Use the @code{copy} special value to
275 275
tell that the raw codec data must be copied as is.
......
338 338
@end table
339 339

  
340 340
@item -dct_algo algo
341
set dct algorithm to @var{algo}. Available values are:
341
set DCT algorithm to @var{algo}. Available values are:
342 342
@table @samp
343 343
@item 0
344 344
FF_DCT_AUTO (default)
......
355 355
@end table
356 356

  
357 357
@item -idct_algo algo
358
set idct algorithm to @var{algo}. Available values are:
358
set IDCT algorithm to @var{algo}. Available values are:
359 359
@table @samp
360 360
@item 0
361 361
FF_IDCT_AUTO (default)
......
414 414
@item 1
415 415
FF_MB_DECISION_BITS: chooses the one which needs the fewest bits
416 416
@item 2
417
FF_MB_DECISION_RD: rate distoration
417
FF_MB_DECISION_RD: rate distortion
418 418
@end table
419 419

  
420 420
@item -4mv
......
424 424
@item -bug param
425 425
workaround not auto detected encoder bugs
426 426
@item -strict strictness
427
how strictly to follow the standarts
427
how strictly to follow the standards
428 428
@item -aic
429 429
enable Advanced intra coding (h263+)
430 430
@item -umv
......
451 451

  
452 452
@table @option
453 453
@item -ar freq    
454
set the audio sampling freq (default = 44100 Hz)
454
set the audio sampling frequency (default = 44100 Hz)
455 455
@item -ab bitrate 
456 456
set the audio bitrate in kbit/s (default = 64)
457 457
@item -ac channels
......
499 499
loop over the input stream. Currently it works only for image
500 500
streams. This option is used for ffserver automatic testing.
501 501
@item -loop_output number_of_times
502
Repeatedly loop output for formats that support looping such as animated gif
502
Repeatedly loop output for formats that support looping such as animated GIF
503 503
(Zero will loop the output infinitely)
504 504
@end table
505 505

  
......
569 569
@settitle FFmpeg video converter
570 570

  
571 571
@c man begin SEEALSO
572
ffserver(1), ffplay(1) and the html documentation of @file{ffmpeg}.
572
ffserver(1), ffplay(1) and the HTML documentation of @file{ffmpeg}.
573 573
@c man end
574 574

  
575 575
@c man begin AUTHOR
......
595 595

  
596 596
@itemize
597 597
@item For streaming at very low bit rate application, use a low frame rate
598
and a small gop size. This is especially true for real video where
598
and a small GOP size. This is especially true for real video where
599 599
the Linux player does not seem to be very fast, so it can miss
600 600
frames. An example is:
601 601

  
......
617 617
is about as good as JPEG compression).
618 618

  
619 619
@item To have very low bitrates in audio, reduce the sampling frequency
620
(down to 22050 kHz for mpeg audio, 22050 or 11025 for ac3).
620
(down to 22050 kHz for MPEG audio, 22050 or 11025 for AC3).
621 621

  
622 622
@item To have a constant quality (but a variable bitrate), use the option
623 623
'-qscale n' when 'n' is between 1 (excellent quality) and 31 (worst
......
663 663
@item Raw Shorten audio @tab    @tab  X 
664 664
@item SUN AU format @tab X  @tab  X 
665 665
@item NUT @tab X @tab X @tab NUT Open Container Format
666
@item Quicktime        @tab X @tab  X 
666
@item QuickTime        @tab X @tab  X 
667 667
@item MPEG4            @tab X @tab  X 
668
@tab MPEG4 is a variant of Quicktime
668
@tab MPEG4 is a variant of QuickTime
669 669
@item Raw MPEG4 video  @tab  X @tab  X 
670 670
@item DV               @tab  X @tab  X
671 671
@item 4xm              @tab    @tab X
......
722 722
@item Supported Codec @tab Encoding @tab Decoding @tab Comments
723 723
@item MPEG1 video            @tab  X  @tab  X
724 724
@item MPEG2 video            @tab  X  @tab  X 
725
@item MPEG4                  @tab  X  @tab  X @tab Also known as DIVX4/5
725
@item MPEG4                  @tab  X  @tab  X @tab Also known as DivX4/5
726 726
@item MSMPEG4 V1             @tab  X  @tab  X
727 727
@item MSMPEG4 V2             @tab  X  @tab  X
728
@item MSMPEG4 V3             @tab  X  @tab  X @tab Also known as DIVX3
728
@item MSMPEG4 V3             @tab  X  @tab  X @tab Also known as DivX3
729 729
@item WMV7                   @tab  X  @tab  X
730 730
@item WMV8                   @tab  X  @tab  X @tab Not completely working
731 731
@item H.261                  @tab  X  @tab  X
......
825 825
@item RA288                  @tab      @tab X
826 826
@tab Real 28800 bit/s codec
827 827
@item RADnet                 @tab X    @tab IX
828
@tab Real lowbitrate AC3 codec, liba52 is used for decoding
828
@tab Real low bitrate AC3 codec, liba52 is used for decoding
829 829
@item AMR-NB                 @tab X    @tab X
830 830
@tab supported through an external library
831 831
@item AMR-WB                 @tab X    @tab X
......
926 926
@example
927 927
./configure --enable-mingw32 --cross-prefix=i386-mingw32msvc-
928 928
@end example
929
(you can change the cross-prefix according to the prefix choosen for the
929
(you can change the cross-prefix according to the prefix chosen for the
930 930
MinGW tools).
931 931

  
932 932
Then you can easily test ffmpeg with wine
933 933
(@url{http://www.winehq.com/}).
934 934

  
935
@section MacOS X
935
@section Mac OS X
936 936

  
937 937
@section BeOS
938 938

  
......
949 949

  
950 950
ffserver is broken (needs poll() implementation).
951 951

  
952
There is still issues with errno codes, which are negative in BeOs, and
952
There is still issues with errno codes, which are negative in BeOS, and
953 953
that ffmpeg negates when returning. This ends up turning errors into 
954 954
valid results, then crashes.
955 955
(To be fixed)
......
999 999
accept patches to remove their use unless they absolutely don't impair
1000 1000
clarity and performance.
1001 1001

  
1002
All code must compile with gcc 2.95 and gcc 3.3. Currently, ffmpeg also
1002
All code must compile with GCC 2.95 and GCC 3.3. Currently, ffmpeg also
1003 1003
compiles with several other compilers, such as the Compaq ccc compiler
1004 1004
or Sun Studio 9, and we would like to keep it that way unless it would
1005 1005
be exceedingly involved. To ensure compatibility, please don't use any
1006
additional C99 features or gcc extensions. Watch out especially for:
1006
additional C99 features or GCC extensions. Watch out especially for:
1007 1007
@itemize @bullet
1008 1008
@item
1009 1009
mixing statements and declarations;
......
1012 1012
@item
1013 1013
@samp{__attribute__} not protected by @samp{#ifdef __GNUC__} or similar;
1014 1014
@item
1015
gcc statement expressions (@samp{(x = (@{ int y = 4; y; @})}).
1015
GCC statement expressions (@samp{(x = (@{ int y = 4; y; @})}).
1016 1016
@end itemize
1017 1017

  
1018 1018
Indent size is 4. The TAB character should not be used.
......
1024 1024
Comments: use the JavaDoc/Doxygen 
1025 1025
format (see examples below) so that a documentation
1026 1026
can be generated automatically. All non trivial functions should have a comment
1027
above it explaining what the function does, even if its just one sentance.
1027
above it explaining what the function does, even if its just one sentence.
1028 1028
All Structures and their member variables should be documented too.
1029 1029
@example
1030 1030
/**
......
1034 1034
?*/
1035 1035

  
1036 1036
/**
1037
?* Summary sentance.
1037
?* Summary sentence.
1038 1038
?* more text ...
1039 1039
?* ...
1040 1040
?*/
......
1046 1046
@} Foobar;
1047 1047

  
1048 1048
/**
1049
?* Summary sentance.
1049
?* Summary sentence.
1050 1050
?* more text ...
1051 1051
?* ...
1052 1052
?* @@param my_parameter description of my_parameter
......
1080 1080
   pieces.
1081 1081
@item
1082 1082
   Do not change behavior of the program (renaming options etc) without
1083
   first discussing it on the ffmpeg-dev mailing list. Do not remove
1083
   first discussing it on the ffmpeg-devel mailing list. Do not remove
1084 1084
   functionality from the code. Just improve!
1085 1085
   
1086 1086
   Note: Redundant code can be removed
1087 1087
@item
1088 1088
   Do not commit changes to the build system (Makefiles, configure script)
1089
   which change behaviour, defaults etc, without asking first. The same
1089
   which change behavior, defaults etc, without asking first. The same
1090 1090
   applies to compiler warning fixes, trivial looking fixes and to code
1091 1091
   maintained by other developers. We usually have a reason for doing things
1092
   the way we do. Send your changes as patches to the ffmpeg-dev mailing
1092
   the way we do. Send your changes as patches to the ffmpeg-devel mailing
1093 1093
   list, and if the code maintainers say OK, you may commit. This does not
1094 1094
   apply to files you wrote and/or maintain.
1095 1095
@item
......
1097 1097
   with functional changes, such commits will be rejected and removed. Every
1098 1098
   developer has his own indentation style, you should not change it. Of course
1099 1099
   if you (re)write something, you can use your own style, even though we would
1100
   prefer if the indention throughout ffmpeg would be consistant (Many projects
1100
   prefer if the indentation throughout ffmpeg would be consistent (Many projects
1101 1101
   force a given indentation style - we don't.) If you really need to make
1102 1102
   indentation changes (try to avoid this), separate them strictly from real
1103 1103
   changes.
1104 1104

  
1105 1105
   NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code,
1106 1106
   then either do NOT change the indentation of the inner part within (don't 
1107
   move it to the right)! or do so in a seperate commit
1107
   move it to the right)! or do so in a separate commit
1108 1108
@item
1109 1109
   Always fill out the commit log message. Describe in a few lines what you
1110 1110
   changed and why. You can refer to mailing list postings if you fix a
......
1112 1112
@item
1113 1113
   If you apply a patch by someone else, include the name and email address in
1114 1114
   the CVS log message. Since the ffmpeg-cvslog mailing list is publicly
1115
   archived you should add some spam protection to the email address. Send an
1116
   answer to ffmpeg-dev (or wherever you got the patch from) saying that
1115
   archived you should add some SPAM protection to the email address. Send an
1116
   answer to ffmpeg-devel (or wherever you got the patch from) saying that
1117 1117
   you applied the patch.
1118 1118
@item
1119 1119
   Do NOT commit to code actively maintained by others without permission. Send
1120
   a patch to ffmpeg-dev instead.
1120
   a patch to ffmpeg-devel instead.
1121 1121
@item
1122 1122
    Subscribe to the ffmpeg-cvslog mailing list. The diffs of all CVS commits
1123 1123
    are sent there and reviewed by all the other developers. Bugs and possible
......
1125 1125
    expect you to react if problems with your code are uncovered.
1126 1126
@item
1127 1127
    Update the documentation if you change behavior or add features. If you are
1128
    unsure how best to do this, send a patch to ffmpeg-dev, the documentation
1128
    unsure how best to do this, send a patch to ffmpeg-devel, the documentation
1129 1129
    maintainer(s) will review and commit your stuff.
1130 1130
@item
1131 1131
    Revert a commit ONLY in case of a big blunder like committing something not
1132 1132
    intended to be committed or committing a wrong file, the wrong version of a
1133
    patch, cvs policy violation or broken code and you are going to recommit the
1133
    patch, CVS policy violation or broken code and you are going to recommit the
1134 1134
    right thing immediately.
1135 1135

  
1136 1136
    Never revert changes made a long time ago or buggy code. Fix it in the
......
1146 1146
Note, these rules are mostly borrowed from the MPlayer project.
1147 1147

  
1148 1148
@subsection Renaming/moving files or content of files
1149
  You CANNOT do that. Post a request for such a change to the mailinglist
1149
  You CANNOT do that. Post a request for such a change to the mailing list
1150 1150
  Do NOT remove & readd a file - it will kill the changelog!!!!
1151 1151

  
1152 1152
@section Submitting patches
......
1165 1165

  
1166 1166
Patches should be posted as base64 encoded attachments (or any other
1167 1167
encoding which ensures that the patch wont be trashed during 
1168
transmission) to the ffmpeg-devel mailinglist, see 
1168
transmission) to the ffmpeg-devel mailing list, see 
1169 1169
@url{http://www1.mplayerhq.hu/mailman/listinfo/ffmpeg-devel}
1170 1170

  
1171 1171
It also helps quite a bit if you tell us what the patch does (for example
1172
'replaces lrint by lrintf') , and why (for example '*bsd isnt c99 compliant
1172
'replaces lrint by lrintf') , and why (for example '*bsd isn't C99 compliant
1173 1173
and has no lrint()')
1174 1174

  
1175 1175
We reply to all patches submitted and either apply or reject with some

Also available in: Unified diff