aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorFabrice Bellard <fabrice@bellard.org>2002-05-20 16:21:46 +0000
committerFabrice Bellard <fabrice@bellard.org>2002-05-20 16:21:46 +0000
commit4196dcd621930e2ed3c2ffa67607c338c0e09a9e (patch)
tree4528a44b4d969c55b06a1de378892a3b5d3f22aa /doc
parent89d5dfd5e88adffe56add8217467c9de0dd424af (diff)
downloadffmpeg-4196dcd621930e2ed3c2ffa67607c338c0e09a9e.tar.gz
added regression test mention
Originally committed as revision 538 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'doc')
-rw-r--r--doc/README.dev38
1 files changed, 33 insertions, 5 deletions
diff --git a/doc/README.dev b/doc/README.dev
index e1d07d08c7..5240f0cf11 100644
--- a/doc/README.dev
+++ b/doc/README.dev
@@ -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].