From 4196dcd621930e2ed3c2ffa67607c338c0e09a9e Mon Sep 17 00:00:00 2001 From: Fabrice Bellard Date: Mon, 20 May 2002 16:21:46 +0000 Subject: [PATCH] added regression test mention Originally committed as revision 538 to svn://svn.ffmpeg.org/ffmpeg/trunk --- doc/README.dev | 38 +++++++++++++++++++++++++++++++++----- 1 file 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].