| 1 | FFmpeg: |
| 2 | ------- |
| 3 | |
| 4 | Most files in FFmpeg are under the GNU Lesser General Public License version 2.1 |
| 5 | or later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other |
| 6 | files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to |
| 7 | FFmpeg. |
| 8 | |
| 9 | Some optional parts of FFmpeg are licensed under the GNU General Public License |
| 10 | version 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of |
| 11 | these parts are used by default, you have to explicitly pass --enable-gpl to |
| 12 | configure to activate them. In this case, FFmpeg's license changes to GPL v2+. |
| 13 | |
| 14 | Specifically, the GPL parts of FFmpeg are |
| 15 | |
| 16 | - libpostproc |
| 17 | - some x86 optimizations in libswscale |
| 18 | - optional x86 optimizations in the files |
| 19 | libavcodec/x86/h264_deblock_sse2.asm |
| 20 | libavcodec/x86/h264_idct_sse2.asm |
| 21 | libavcodec/x86/idct_mmx.c |
| 22 | - the X11 grabber in libavdevice/x11grab.c |
| 23 | |
| 24 | There are a handful of files under other licensing terms, namely: |
| 25 | |
| 26 | * The files libavcodec/jfdctfst.c, libavcodec/jfdctint.c, libavcodec/jrevdct.c |
| 27 | are taken from libjpeg, see the top of the files for licensing details. |
| 28 | |
| 29 | Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then |
| 30 | the configure parameter --enable-version3 will activate this licensing option |
| 31 | for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts, |
| 32 | COPYING.GPLv3 to learn the exact legal terms that apply in this case. |
| 33 | |
| 34 | |
| 35 | external libraries: |
| 36 | ------------------- |
| 37 | |
| 38 | Some external libraries, e.g. libx264, are under GPL and can be used in |
| 39 | conjunction with FFmpeg. They require --enable-gpl to be passed to configure |
| 40 | as well. |
| 41 | |
| 42 | The OpenCORE external libraries are under the Apache License 2.0. That license |
| 43 | is incompatible with the LGPL v2.1 and the GPL v2, but not with version 3 of |
| 44 | those licenses. So to combine the OpenCORE libraries with FFmpeg, the license |
| 45 | version needs to be upgraded by passing --enable-version3 to configure. |
| 46 | |
| 47 | The nonfree external libraries libamrnb, libamrwb and libfaac can be hooked up |
| 48 | in FFmpeg. You need to pass --enable-nonfree to configure to enable them. Employ |
| 49 | this option with care as FFmpeg then becomes nonfree and unredistributable. |