Commit | Line | Data |
---|---|---|
2ba45a60 DM |
1 | #FFmpeg: |
2 | ||
3 | Most files in FFmpeg are under the GNU Lesser General Public License version 2.1 | |
4 | or later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other | |
5 | files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to | |
6 | FFmpeg. | |
7 | ||
8 | Some optional parts of FFmpeg are licensed under the GNU General Public License | |
9 | version 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of | |
10 | these parts are used by default, you have to explicitly pass --enable-gpl to | |
11 | configure to activate them. In this case, FFmpeg's license changes to GPL v2+. | |
12 | ||
13 | Specifically, the GPL parts of FFmpeg are: | |
14 | ||
15 | - libpostproc | |
16 | - libmpcodecs | |
17 | - optional x86 optimizations in the files | |
18 | libavcodec/x86/flac_dsp_gpl.asm | |
19 | libavcodec/x86/idct_mmx.c | |
20 | - libutvideo encoding/decoding wrappers in | |
21 | libavcodec/libutvideo*.cpp | |
22 | - the X11 grabber in libavdevice/x11grab.c | |
23 | - the swresample test app in | |
24 | libswresample/swresample-test.c | |
25 | - the texi2pod.pl tool | |
26 | - the following filters in libavfilter: | |
27 | - f_ebur128.c | |
28 | - vf_blackframe.c | |
29 | - vf_boxblur.c | |
30 | - vf_colormatrix.c | |
31 | - vf_cropdetect.c | |
32 | - vf_decimate.c | |
33 | - vf_delogo.c | |
34 | - vf_geq.c | |
35 | - vf_histeq.c | |
36 | - vf_hqdn3d.c | |
37 | - vf_interlace.c | |
38 | - vf_kerndeint.c | |
39 | - vf_mcdeint.c | |
40 | - vf_mp.c | |
41 | - vf_owdenoise.c | |
42 | - vf_perspective.c | |
43 | - vf_phase.c | |
44 | - vf_pp.c | |
45 | - vf_pullup.c | |
46 | - vf_sab.c | |
47 | - vf_smartblur.c | |
48 | - vf_spp.c | |
49 | - vf_stereo3d.c | |
50 | - vf_super2xsai.c | |
51 | - vf_tinterlace.c | |
52 | - vsrc_mptestsrc.c | |
53 | ||
54 | Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then | |
55 | the configure parameter --enable-version3 will activate this licensing option | |
56 | for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts, | |
57 | COPYING.GPLv3 to learn the exact legal terms that apply in this case. | |
58 | ||
59 | There are a handful of files under other licensing terms, namely: | |
60 | ||
61 | * The files libavcodec/jfdctfst.c, libavcodec/jfdctint_template.c and | |
62 | libavcodec/jrevdct.c are taken from libjpeg, see the top of the files for | |
63 | licensing details. Specifically note that you must credit the IJG in the | |
64 | documentation accompanying your program if you only distribute executables. | |
65 | You must also indicate any changes including additions and deletions to | |
66 | those three files in the documentation. | |
f6fa7814 | 67 | tests/reference.pnm is under the expat license |
2ba45a60 DM |
68 | |
69 | ||
70 | external libraries | |
71 | ================== | |
72 | ||
73 | FFmpeg can be combined with a number of external libraries, which sometimes | |
74 | affect the licensing of binaries resulting from the combination. | |
75 | ||
76 | compatible libraries | |
77 | -------------------- | |
78 | ||
79 | The following libraries are under GPL: | |
80 | - frei0r | |
81 | - libcdio | |
82 | - libutvideo | |
83 | - libvidstab | |
84 | - libx264 | |
85 | - libx265 | |
86 | - libxavs | |
87 | - libxvid | |
88 | When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by | |
89 | passing --enable-gpl to configure. | |
90 | ||
91 | The OpenCORE and VisualOn libraries are under the Apache License 2.0. That | |
92 | license is incompatible with the LGPL v2.1 and the GPL v2, but not with | |
93 | version 3 of those licenses. So to combine these libraries with FFmpeg, the | |
94 | license version needs to be upgraded by passing --enable-version3 to configure. | |
95 | ||
96 | incompatible libraries | |
97 | ---------------------- | |
98 | ||
99 | The Fraunhofer AAC library, FAAC and aacplus are under licenses which | |
100 | are incompatible with the GPLv2 and v3. We do not know for certain if their | |
101 | licenses are compatible with the LGPL. | |
102 | If you wish to enable these libraries, pass --enable-nonfree to configure. | |
103 | But note that if you enable any of these libraries the resulting binary will | |
104 | be under a complex license mix that is more restrictive than the LGPL and that | |
105 | may result in additional obligations. It is possible that these | |
106 | restrictions cause the resulting binary to be unredistributeable. |