summaryrefslogtreecommitdiff
path: root/doc/README.dev
blob: e1d07d08c7098636539eb195a41bcd3c9ed087b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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.