Skip to content

Commit 681231c

Browse files
committed
Add licenses
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
1 parent afdf6f8 commit 681231c

File tree

3 files changed

+168
-0
lines changed

3 files changed

+168
-0
lines changed

legal/LICENSE_FFmpeg.txt

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# License
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+
- optional x86 optimization in the files
17+
- `libavcodec/x86/flac_dsp_gpl.asm`
18+
- `libavcodec/x86/idct_mmx.c`
19+
- `libavfilter/x86/vf_removegrain.asm`
20+
- the following building and testing tools
21+
- `compat/solaris/make_sunver.pl`
22+
- `doc/t2h.pm`
23+
- `doc/texi2pod.pl`
24+
- `libswresample/swresample-test.c`
25+
- `tests/checkasm/*`
26+
- `tests/tiny_ssim.c`
27+
- the following filters in libavfilter:
28+
- `vf_blackframe.c`
29+
- `vf_boxblur.c`
30+
- `vf_colormatrix.c`
31+
- `vf_cover_rect.c`
32+
- `vf_cropdetect.c`
33+
- `vf_delogo.c`
34+
- `vf_eq.c`
35+
- `vf_find_rect.c`
36+
- `vf_fspp.c`
37+
- `vf_geq.c`
38+
- `vf_histeq.c`
39+
- `vf_hqdn3d.c`
40+
- `vf_interlace.c`
41+
- `vf_kerndeint.c`
42+
- `vf_mcdeint.c`
43+
- `vf_mpdecimate.c`
44+
- `vf_owdenoise.c`
45+
- `vf_perspective.c`
46+
- `vf_phase.c`
47+
- `vf_pp.c`
48+
- `vf_pp7.c`
49+
- `vf_pullup.c`
50+
- `vf_repeatfields.c`
51+
- `vf_sab.c`
52+
- `vf_smartblur.c`
53+
- `vf_spp.c`
54+
- `vf_stereo3d.c`
55+
- `vf_super2xsai.c`
56+
- `vf_tinterlace.c`
57+
- `vf_uspp.c`
58+
- `vsrc_mptestsrc.c`
59+
60+
Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
61+
the configure parameter `--enable-version3` will activate this licensing option
62+
for you. Read the file `COPYING.LGPLv3` or, if you have enabled GPL parts,
63+
`COPYING.GPLv3` to learn the exact legal terms that apply in this case.
64+
65+
There are a handful of files under other licensing terms, namely:
66+
67+
* The files `libavcodec/jfdctfst.c`, `libavcodec/jfdctint_template.c` and
68+
`libavcodec/jrevdct.c` are taken from libjpeg, see the top of the files for
69+
licensing details. Specifically note that you must credit the IJG in the
70+
documentation accompanying your program if you only distribute executables.
71+
You must also indicate any changes including additions and deletions to
72+
those three files in the documentation.
73+
* `tests/reference.pnm` is under the expat license.
74+
75+
76+
## External libraries
77+
78+
FFmpeg can be combined with a number of external libraries, which sometimes
79+
affect the licensing of binaries resulting from the combination.
80+
81+
### Compatible libraries
82+
83+
The following libraries are under GPL:
84+
- frei0r
85+
- libcdio
86+
- librubberband
87+
- libvidstab
88+
- libx264
89+
- libx265
90+
- libxavs
91+
- libxvid
92+
93+
When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
94+
passing `--enable-gpl` to configure.
95+
96+
The OpenCORE and VisualOn libraries are under the Apache License 2.0. That
97+
license is incompatible with the LGPL v2.1 and the GPL v2, but not with
98+
version 3 of those licenses. So to combine these libraries with FFmpeg, the
99+
license version needs to be upgraded by passing `--enable-version3` to configure.
100+
101+
### Incompatible libraries
102+
103+
There are certain libraries you can combine with FFmpeg whose licenses are not
104+
compatible with the GPL and/or the LGPL. If you wish to enable these
105+
libraries, even in circumstances that their license may be incompatible, pass
106+
`--enable-nonfree` to configure. But note that if you enable any of these
107+
libraries the resulting binary will be under a complex license mix that is
108+
more restrictive than the LGPL and that may result in additional obligations.
109+
It is possible that these restrictions cause the resulting binary to be
110+
unredistributable.
111+
112+
The Fraunhofer FDK AAC and OpenSSL libraries are under licenses which are
113+
incompatible with the GPLv2 and v3. To the best of our knowledge, they are
114+
compatible with the LGPL.
115+
116+
The NVENC library, while its header file is licensed under the compatible MIT
117+
license, requires a proprietary binary blob at run time, and is deemed to be
118+
incompatible with the GPL. We are not certain if it is compatible with the
119+
LGPL, but we require `--enable-nonfree` even with LGPL configurations in case
120+
it is not.

legal/LICENSE_feather-tk.txt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
Copyright (c) 2024-2025 Darby Johnston
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without
5+
modification, are permitted provided that the following conditions are met:
6+
7+
* Redistributions of source code must retain the above copyright notice, this
8+
list of conditions, and the following disclaimer.
9+
* Redistributions in binary form must reproduce the above copyright notice,
10+
this list of conditions, and the following disclaimer in the documentation
11+
and/or other materials provided with the distribution.
12+
* Neither the names of the copyright holders nor the names of any
13+
contributors may be used to endorse or promote products derived from this
14+
software without specific prior written permission.
15+
16+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22+
SUBSTITUE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26+
POSSIBILITY OF SUCH DAMAGE.
27+

legal/LICENSE_lunasvg.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020-2024 Samuel Ugochukwu <sammycageagle@gmail.com>
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)