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 demux code for several formats). (no example yet, the API is likely
to evolve). 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 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 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 3) Coding Rules
--------------- ---------------
ffmpeg is programmed in ANSI C language. GCC extension are ffmpeg is programmed in ANSI C language. GCC extensions are
tolerated. TAB size is 4. The identation is the one specified by tolerated. Indent size is 4. The TAB character should not be used.
'indent -i4 -kr'.
The presentation is the one specified by 'indent -i4 -kr'.
Main priority in ffmpeg is simplicity and small code size (=less Main priority in ffmpeg is simplicity and small code size (=less
bugs). 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 4) Submitting patches
--------------------- ---------------------
When you submit your patch, try to send a unified diff (diff '-u' When you submit your patch, try to send a unified diff (diff '-u'
option). I cannot read other diffs :-) 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 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 implicitely to put it under my
copyright. I prefer to do this to avoid potential problems if copyright. I prefer to do this to avoid potential problems if
licensing of ffmpeg changes. 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].