@settitle Developer Documentation
@titlepage
-@sp 7
@center @titlefont{Developer Documentation}
-@sp 3
@end titlepage
+@top
+
+@contents
@chapter Developers Guide
Also if you have doubts about splitting or not splitting, do not hesitate to
ask/discuss it on the developer mailing list.
@item
- Do not change behavior of the program (renaming options etc) without
- first discussing it on the ffmpeg-devel mailing list. Do not remove
- functionality from the code. Just improve!
+ Do not change behavior of the programs (renaming options etc) or public
+ API or ABI without first discussing it on the ffmpeg-devel mailing list.
+ Do not remove functionality from the code. Just improve!
Note: Redundant code can be removed.
@item
if it spans multiple files. This makes reviewing your patches much easier
for us and greatly increases your chances of getting your patch applied.
-Use the patcheck tool of ffmpeg to check your patch.
-The tool is located in the tool directory.
+Use the patcheck tool of FFmpeg to check your patch.
+The tool is located in the tools directory.
Run the regression tests before submitting a patch so that you can
verify that there are no big problems.
Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
AVInputFormat/AVOutputFormat struct?
@item
- Did you bump the minor version number in @file{avcodec.h} or
- @file{avformat.h}?
+ Did you bump the minor version number (and reset the micro version
+ number) in @file{avcodec.h} or @file{avformat.h}?
@item
Did you register it in @file{allcodecs.c} or @file{allformats.c}?
@item
Remember to do this even if you're just adding a format to a file that is
already being compiled by some other rule, like a raw demuxer.
@item
- Did you add an entry to the table of supported formats or codecs in the
- documentation?
+ Did you add an entry to the table of supported formats or codecs in
+ @file{doc/general.texi}?
@item
Did you add an entry in the Changelog?
@item
If it depends on a parser or a library, did you add that dependency in
configure?
@item
- Did you "svn add" the appropriate files before commiting?
+ Did you "git add" the appropriate files before committing?
@end enumerate
@section patch submission checklist
@item
Is the patch a unified diff?
@item
- Is the patch against latest FFmpeg SVN?
+ Is the patch against latest FFmpeg git master branch?
@item
Are you subscribed to ffmpeg-dev?
(the list is subscribers only due to spam)
@section Patch review process
All patches posted to ffmpeg-devel will be reviewed, unless they contain a
-clear note that the patch is not for SVN.
+clear note that the patch is not for the git master branch.
Reviews and comments will be posted as replies to the patch on the
mailing list. The patch submitter then has to take care of every comment,
that can be by resubmitting a changed patch or by discussion. Resubmitted
audio stream. These are then encoded and decoded with all codecs or
formats. The CRC (or MD5) of each generated file is recorded in a
result file. A 'diff' is launched to compare the reference results and
-the result file.
+the result file. The output is checked immediately after each test
+has run.
The regression tests then go 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 and formats.
+Run 'make test' to test all the codecs and formats. Commands like
+'make regtest-mpeg2' can be used to run a single test. By default,
+make will abort if any test fails. To run all tests regardless,
+use make -k. To get a more verbose output, use 'make V=1 test' or
+'make V=2 test'.
Run 'make fulltest' to test all the codecs, formats and FFserver.