mirror of https://git.ffmpeg.org/ffmpeg.git
added regression test mention
Originally committed as revision 538 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
89d5dfd5e8
commit
4196dcd621
|
@ -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].
|
||||||
|
|
Loading…
Reference in New Issue