| 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. |
| 67 | tests/reference.pnm is under the expat license |
| 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. |