2014-05-27 21:14:48 +03:00
|
|
|
#FFmpeg:
|
2009-06-05 13:58:48 +03:00
|
|
|
|
2011-03-17 18:02:14 +02:00
|
|
|
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
|
2015-02-12 02:38:55 +02:00
|
|
|
or later (LGPL v2.1+). Read the file `COPYING.LGPLv2.1` for details. Some other
|
2009-06-05 12:51:31 +03:00
|
|
|
files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to
|
2011-03-17 18:02:14 +02:00
|
|
|
FFmpeg.
|
2009-03-25 16:05:20 +02:00
|
|
|
|
2011-03-17 18:02:14 +02:00
|
|
|
Some optional parts of FFmpeg are licensed under the GNU General Public License
|
2015-02-12 02:38:55 +02:00
|
|
|
version 2 or later (GPL v2+). See the file `COPYING.GPLv2` for details. None of
|
|
|
|
these parts are used by default, you have to explicitly pass `--enable-gpl` to
|
2011-03-17 18:02:14 +02:00
|
|
|
configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
|
2009-03-25 16:05:20 +02:00
|
|
|
|
2014-05-27 21:14:48 +03:00
|
|
|
Specifically, the GPL parts of FFmpeg are:
|
2009-03-25 16:05:20 +02:00
|
|
|
|
|
|
|
- libpostproc
|
|
|
|
- optional x86 optimizations in the files
|
2015-02-12 02:38:55 +02:00
|
|
|
- `libavcodec/x86/flac_dsp_gpl.asm`
|
|
|
|
- `libavcodec/x86/idct_mmx.c`
|
avfilter/vf_removegrain: add x86 and x86_64 SSE2 functions
Speed of all modes increased by a factor between 7.4 and 19.8 largely depending
on whether bytes are unpacked into words. Modes 2, 3, and 4 have been sped-up
by a factor of 43 (thanks quick sort!)
All modes are available on x86_64 but only modes 1, 10, 11, 12, 13, 14, 19, 20,
21, and 22 are available on x86 due to the number of SIMD registers used.
With a contribution from James Almer <jamrial@gmail.com>
2015-07-15 01:48:47 +02:00
|
|
|
- `libavfilter/x86/vf_removegrain.asm`
|
2012-08-04 04:29:38 +03:00
|
|
|
- libutvideo encoding/decoding wrappers in
|
2015-02-12 02:38:55 +02:00
|
|
|
`libavcodec/libutvideo*.cpp`
|
|
|
|
- the X11 grabber in `libavdevice/x11grab.c`
|
2012-08-04 04:29:38 +03:00
|
|
|
- the swresample test app in
|
2015-02-12 02:38:55 +02:00
|
|
|
`libswresample/swresample-test.c`
|
|
|
|
- the `texi2pod.pl` tool
|
2012-08-02 19:09:09 +03:00
|
|
|
- the following filters in libavfilter:
|
2015-02-12 02:38:55 +02:00
|
|
|
- `f_ebur128.c`
|
|
|
|
- `vf_blackframe.c`
|
|
|
|
- `vf_boxblur.c`
|
|
|
|
- `vf_colormatrix.c`
|
2015-05-03 01:43:30 +02:00
|
|
|
- `vf_cover_rect.c`
|
2015-02-12 02:38:55 +02:00
|
|
|
- `vf_cropdetect.c`
|
|
|
|
- `vf_delogo.c`
|
|
|
|
- `vf_eq.c`
|
2015-05-03 01:43:30 +02:00
|
|
|
- `vf_find_rect.c`
|
2015-02-12 02:38:55 +02:00
|
|
|
- `vf_fspp.c`
|
|
|
|
- `vf_geq.c`
|
|
|
|
- `vf_histeq.c`
|
|
|
|
- `vf_hqdn3d.c`
|
|
|
|
- `vf_interlace.c`
|
|
|
|
- `vf_kerndeint.c`
|
|
|
|
- `vf_mcdeint.c`
|
|
|
|
- `vf_mpdecimate.c`
|
|
|
|
- `vf_owdenoise.c`
|
|
|
|
- `vf_perspective.c`
|
|
|
|
- `vf_phase.c`
|
|
|
|
- `vf_pp.c`
|
|
|
|
- `vf_pp7.c`
|
|
|
|
- `vf_pullup.c`
|
|
|
|
- `vf_sab.c`
|
|
|
|
- `vf_smartblur.c`
|
|
|
|
- `vf_repeatfields.c`
|
|
|
|
- `vf_spp.c`
|
|
|
|
- `vf_stereo3d.c`
|
|
|
|
- `vf_super2xsai.c`
|
|
|
|
- `vf_tinterlace.c`
|
|
|
|
- `vf_uspp.c`
|
|
|
|
- `vsrc_mptestsrc.c`
|
2009-03-25 16:05:20 +02:00
|
|
|
|
2013-02-27 21:34:14 +03:00
|
|
|
Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
|
2015-02-12 02:38:55 +02:00
|
|
|
the configure parameter `--enable-version3` will activate this licensing option
|
|
|
|
for you. Read the file `COPYING.LGPLv3` or, if you have enabled GPL parts,
|
|
|
|
`COPYING.GPLv3` to learn the exact legal terms that apply in this case.
|
2013-02-27 21:34:14 +03:00
|
|
|
|
2009-06-05 13:58:48 +03:00
|
|
|
There are a handful of files under other licensing terms, namely:
|
|
|
|
|
2015-02-12 02:38:55 +02:00
|
|
|
* The files `libavcodec/jfdctfst.c`, `libavcodec/jfdctint_template.c` and
|
|
|
|
`libavcodec/jrevdct.c` are taken from libjpeg, see the top of the files for
|
2012-02-19 19:03:55 +03:00
|
|
|
licensing details. Specifically note that you must credit the IJG in the
|
|
|
|
documentation accompanying your program if you only distribute executables.
|
|
|
|
You must also indicate any changes including additions and deletions to
|
|
|
|
those three files in the documentation.
|
2015-02-12 02:38:55 +02:00
|
|
|
* `tests/reference.pnm` is under the expat license.
|
2009-06-05 13:58:48 +03:00
|
|
|
|
|
|
|
|
2012-07-22 00:17:30 +03:00
|
|
|
external libraries
|
|
|
|
==================
|
2009-06-05 13:58:48 +03:00
|
|
|
|
2012-08-13 15:38:43 +03:00
|
|
|
FFmpeg can be combined with a number of external libraries, which sometimes
|
2012-07-22 00:17:30 +03:00
|
|
|
affect the licensing of binaries resulting from the combination.
|
2009-03-25 16:05:20 +02:00
|
|
|
|
2012-07-22 00:17:30 +03:00
|
|
|
compatible libraries
|
|
|
|
--------------------
|
2009-06-05 15:32:40 +03:00
|
|
|
|
2013-03-29 04:08:16 +03:00
|
|
|
The following libraries are under GPL:
|
2015-02-12 02:38:55 +02:00
|
|
|
- frei0r
|
|
|
|
- libcdio
|
2015-09-18 22:22:05 +02:00
|
|
|
- librubberband
|
2015-02-12 02:38:55 +02:00
|
|
|
- libutvideo
|
|
|
|
- libvidstab
|
|
|
|
- libx264
|
|
|
|
- libx265
|
|
|
|
- libxavs
|
|
|
|
- libxvid
|
|
|
|
|
2013-03-29 04:08:16 +03:00
|
|
|
When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
|
2015-02-12 02:38:55 +02:00
|
|
|
passing `--enable-gpl` to configure.
|
2012-07-22 00:17:30 +03:00
|
|
|
|
|
|
|
The OpenCORE and VisualOn libraries are under the Apache License 2.0. That
|
|
|
|
license is incompatible with the LGPL v2.1 and the GPL v2, but not with
|
2012-08-13 15:38:43 +03:00
|
|
|
version 3 of those licenses. So to combine these libraries with FFmpeg, the
|
2015-02-12 02:38:55 +02:00
|
|
|
license version needs to be upgraded by passing `--enable-version3` to configure.
|
2012-07-22 00:17:30 +03:00
|
|
|
|
|
|
|
incompatible libraries
|
|
|
|
----------------------
|
|
|
|
|
avcodec: Remove libaacplus
TODO: bump minor
It's inferior in quality to fdk-aac and has an arguably more problematic
license.
As early as 2012, a HydrogenAudio user reported:
> It has however one huge advantage: much better quality at low bitrates than
> faac and libaacplus.
(https://hydrogenaud.io/index.php?PHPSESSID=ckiq394pdglka0kj2fin6ij8t7&topic=95989.msg804633#msg804633)
I myself have made a few spectrograms for a comparison of the two
encoders as well. The FDK output is consistently better than the
libaacplus one, in all bitrates I tested.
libaacplus license is 3GPP + LGPLv2. 3GPP copyright notice is completely
proprietory, as follows:
> No part may be reproduced except as authorized by written permission.
>
> The copyright and the foregoing restriction extend to reproduction in
> all media.
>
> © 2008, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC).
>
> All rights reserved.
(The latest 26410-d00 zip from 3GPP has the same notice, but the copyright
year is changed to 2015)
The copyright part of the FDK AAC license (section 2) is a copyleft
license that permits redistribution under certain conditions (and
therefore the LGPL + libfdk-aac combination is not prohibited by
configure):
> Redistribution and use in source and binary forms, with or without
> modification, are permitted without payment of copyright license fees
> provided that you satisfy the following conditions:
>
> You must retain the complete text of this software license in
> redistributions of the FDK AAC Codec or your modifications thereto in
> source code form.
>
> You must retain the complete text of this software license in the
> documentation and/or other materials provided with redistributions of
> the FDK AAC Codec or your modifications thereto in binary form.
>
> You must make available free of charge copies of the complete source
> code of the FDK AAC Codec and your modifications thereto to recipients
> of copies in binary form.
>
> The name of Fraunhofer may not be used to endorse or promote products
> derived from this library without prior written permission.
>
> You may not charge copyright license fees for anyone to use, copy or
> distribute the FDK AAC Codec software or your modifications thereto.
>
> Your modified versions of the FDK AAC Codec must carry prominent
> notices stating that you changed the software and the date of any
> change. For modified versions of the FDK AAC Codec, the term
> "Fraunhofer FDK AAC Codec Library for Android" must be replaced by the
> term "Third-Party Modified Version of the Fraunhofer FDK AAC Codec
> Library for Android."
2016-01-24 19:49:12 +02:00
|
|
|
The Fraunhofer AAC library and FAAC are under licenses which
|
2012-08-13 19:45:33 +03:00
|
|
|
are incompatible with the GPLv2 and v3. We do not know for certain if their
|
|
|
|
licenses are compatible with the LGPL.
|
2015-02-12 02:38:55 +02:00
|
|
|
If you wish to enable these libraries, pass `--enable-nonfree` to configure.
|
2012-08-13 19:45:33 +03:00
|
|
|
But note that if you enable any of these libraries the resulting binary will
|
|
|
|
be under a complex license mix that is more restrictive than the LGPL and that
|
|
|
|
may result in additional obligations. It is possible that these
|
|
|
|
restrictions cause the resulting binary to be unredistributeable.
|