|
|
|
1) API
|
|
|
|
------
|
|
|
|
|
|
|
|
* libavcodec is the library containing the codecs (both encoding and
|
|
|
|
decoding). See libavcodec/apiexample.c to see how to use it.
|
|
|
|
|
|
|
|
* libav is the library containing the file formats handling (mux and
|
|
|
|
demux code for several formats). (no example yet, the API is likely
|
|
|
|
to evolve).
|
|
|
|
|
|
|
|
2) Integrating libavXXX 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
|
|
|
|
'config.mak' and a 'config.h' in the parent directory. See the defines
|
|
|
|
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'.
|
|
|
|
|
|
|
|
Main priority in ffmpeg is simplicity and small code size (=less
|
|
|
|
bugs).
|
|
|
|
|
|
|
|
4) Submitting patches
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
When you submit your patch, try to send a unified diff (diff '-u'
|
|
|
|
option). I cannot read other diffs :-)
|
|
|
|
|
|
|
|
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.
|