added regression test mention

Originally committed as revision 538 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Fabrice Bellard 2002-05-20 16:21:46 +00:00
parent 89d5dfd5e8
commit 4196dcd621
1 changed files with 33 additions and 5 deletions

View File

@ -8,8 +8,8 @@
demux code for several formats). (no example yet, the API is likely
to evolve).
2) Integrating libavXXX in your GPL'ed program
----------------------------------------------
2) Integrating libavcodec or libav in your GPL'ed program
---------------------------------------------------------
You can integrate all the source code of the libraries to link them
statically to avoid any version problem. All you need is to provide a
@ -19,20 +19,48 @@ generated by ./configure to understand what is needed.
3) Coding Rules
---------------
ffmpeg is programmed in ANSI C language. GCC extension are
tolerated. TAB size is 4. The identation is the one specified by
'indent -i4 -kr'.
ffmpeg is programmed in ANSI C language. GCC extensions are
tolerated. Indent size is 4. The TAB character should not be used.
The presentation is the one specified by 'indent -i4 -kr'.
Main priority in ffmpeg is simplicity and small code size (=less
bugs).
Comments: for functions visible from other modules, use the JavaDoc
format (see examples in libav/utils.c) so that a documentation can be
generated automatically.
4) Submitting patches
---------------------
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.
5) Regression tests
-------------------
Before submitting a patch (or commiting 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
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.
Run 'make test' to test all the codecs.
Run 'make libavtest' to test all the codecs.
[Of course, some patches may change the regression tests results. In
this case, the regression tests reference results shall be modified
accordingly].