2012-10-11 00:04:08 +00:00
|
|
|
mpv is a fork of mplayer2, which is a fork of MPlayer.
|
|
|
|
|
2013-10-12 23:18:50 +00:00
|
|
|
mpv as a whole is licensed as GPL version 2 or later (see LICENSE). Most source
|
|
|
|
files are GPLv2+, but some files are available under a more liberal license,
|
2015-07-24 21:53:31 +00:00
|
|
|
such as LGPLv2.1+, BSD, MIT, ISC, and possibly others. Look at the copyright
|
2013-10-12 23:18:50 +00:00
|
|
|
header of each source file, and grep the sources for "Copyright" if you need
|
2017-02-16 10:43:02 +00:00
|
|
|
to know details. C source files without Copyright notice are licensed as
|
|
|
|
LGPLv2.1+. Also see the list of files with specific licenses below (not all
|
|
|
|
files can have a standard license header).
|
2015-07-24 21:53:31 +00:00
|
|
|
|
|
|
|
All new contributions must be LGPLv2.1+ licensed, or if the changes are done on
|
|
|
|
GPL code, must come with the implicit agreement that the project can relicense
|
|
|
|
the code to LGPLv2.1+ at a later point without asking the contributor. (This
|
|
|
|
is a safeguard for making potential relicensing of the project to LGPLv2.1+
|
2015-07-26 18:23:41 +00:00
|
|
|
easier.) Using a more liberal license compatible to LGPLv2.1+ is also ok.
|
2003-12-09 08:35:55 +00:00
|
|
|
|
2013-10-12 23:18:50 +00:00
|
|
|
For information about authors and contributors, consult the git log, which
|
|
|
|
contains the complete SVN and CVS history as well.
|
2010-01-04 13:01:44 +00:00
|
|
|
|
2013-10-12 23:18:50 +00:00
|
|
|
Note that mplayer2 as a whole is licensed under GPLv3+. This is because it uses
|
|
|
|
a copy of talloc (part of Samba), which is LGPLv3+, and the next compatible
|
|
|
|
license for this mix is GPLv3+.
|
2003-12-09 08:35:55 +00:00
|
|
|
|
2013-10-12 23:18:50 +00:00
|
|
|
MPlayer as a whole is licensed under GPLv2 (incompatible to GPLv3!), because
|
|
|
|
some files are licensed to GPLv2 (and _not_ any later version of the license).
|
|
|
|
In particular, this affects the file libmpdemux/demux_ty_osd.c. It is disabled
|
|
|
|
under mplayer2, and has been removed from mpv.
|
2015-07-24 21:53:31 +00:00
|
|
|
|
|
|
|
"v2.1+" in this context means "version 2.1 or later".
|
2017-02-16 10:43:02 +00:00
|
|
|
|
2017-05-11 06:12:14 +00:00
|
|
|
Some libraries are GPLv2+ or GPLv3+ only. Building mpv with Samba support makes
|
|
|
|
it GPLv3+.
|
|
|
|
|
2017-02-16 10:43:02 +00:00
|
|
|
Source files with specific licenses:
|
2017-06-17 13:08:46 +00:00
|
|
|
- etc/input.conf is LGPLv2.1+ (possible exception with I key binding)
|
|
|
|
- etc/builtin.conf is LGPLv2.1+
|
|
|
|
- etc/encoding-profiles.conf is LGPLv2.1+
|
|
|
|
- everything else under etc/ is unknown
|
2017-02-16 10:43:02 +00:00
|
|
|
- everything under DOCS/man/ is GPLv2+
|
2017-04-21 11:37:33 +00:00
|
|
|
- sub/osd_font.otf is LGPLv2.1+
|
2017-02-16 10:43:02 +00:00
|
|
|
- some tests under waftools/fragments/ might be GPLv2+
|
2017-06-17 12:25:40 +00:00
|
|
|
- version.sh is LGPLv2+
|
2017-05-05 04:53:23 +00:00
|
|
|
|
|
|
|
Some files are marked with "Almost LGPL." These files are GPL, but all authors
|
|
|
|
have agreed to relicense them to LGPL. the problem is that one of the authors is
|
|
|
|
Michael Niedermayer, who cited the following conditions for relicensing:
|
|
|
|
|
|
|
|
http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2016-September/073535.html
|
|
|
|
|
|
|
|
We assume the first 3 conditions are fulfilled. The last condition can be
|
|
|
|
interpreted as that his code can be changed to LGPL only as soon as the "core"
|
|
|
|
of mpv changes to LGPL. We interpret "core" as something minimal, that can
|
|
|
|
actually be built and run, with all GPL code disabled.
|
2017-05-05 06:38:30 +00:00
|
|
|
|
2017-05-11 15:02:43 +00:00
|
|
|
Some files are LGPLv3+. This is due to the contributions of a single developer
|
|
|
|
going by the SVN username "iive". The chosen license of this project is
|
|
|
|
LGPLv2.1+. The affected files will be changed to LGPLv2.1+ at the earliest
|
|
|
|
opportunity, for example if his contributions disappear by being replaced
|
|
|
|
or removed. All new contributions to these files are implied to be LGPLv2.1+.
|
|
|
|
|
2017-06-17 11:58:23 +00:00
|
|
|
LGPL relicensing status. Files which require some sort of action to get a basic
|
|
|
|
LGPL player core (relicensing, replacement, or partial/full rewrites) are marked
|
|
|
|
with an "x".
|
2017-05-05 06:38:30 +00:00
|
|
|
|
|
|
|
audio/decode/ad.h LGPL
|
dec_audio, ad_lavc: change license to LGPL
All relevant authors of the current code have agreed.
As always, there are the usual historical artifacts that could be
mentioned. For example, there used to be a large number of decoders
by various authors who were not asked, but whose code was all 100%
removed. (Mostly due to FFmpeg providing all codecs.)
One point of contention is that Nick Kurshev might have refactored the
old audio decoder code in 2001. Basically, there are hints that it might
have been done by him, such as Arpi's commit message stating that the
code was imported from MPlayerXP (Nick's fork), or all the files having
his name in the "maintainer" field. On the other hand, the murky history
of ad.h weakens this - it could be that Arpi started this work, and Nick
took it (and possibly finished it).
In any case, Nick could not be reached, so there is no agreement for
LGPL relicensing from him. We're changing the license anyway, and assume
that his change in itself is not copyrightable. He only moved code, and
in addition used the equivalent video decoder framework (done by Arpi,
who agreed) as template. For example, ad_functions_s was basically
vd_functions_s, which the signature of the decode callback changed to
the same as audio_decode(). ad_functions_s also had a comment that said
it interfaces with "video decoder drivers" (I'm fixing this comment in
this commit).
I verified that no additional code was added that is copyright-relevant,
still in today's code, and not copied from the existing code at the time
(either from the previous audio decoder code or the video framework
code). What apparently matters here is that none of the old code was not
written by Nick, and the authors of the old code have given his
agreement, and (probably) that Nick didn't add actual new code (none
that would have survived), that was not trivially based on the old one
(i.e. no new copyrightable "work").
A copyright expert told me that this kind of change can be considered
not relevant for copyright, so here we go.
Rewriting this would end with the same code anyway, and the naming
conventions can't be copyrighted.
2017-06-14 14:20:56 +00:00
|
|
|
audio/decode/ad_lavc.c LGPL
|
2017-05-21 10:35:53 +00:00
|
|
|
audio/decode/ad_spdif.c LGPL
|
dec_audio, ad_lavc: change license to LGPL
All relevant authors of the current code have agreed.
As always, there are the usual historical artifacts that could be
mentioned. For example, there used to be a large number of decoders
by various authors who were not asked, but whose code was all 100%
removed. (Mostly due to FFmpeg providing all codecs.)
One point of contention is that Nick Kurshev might have refactored the
old audio decoder code in 2001. Basically, there are hints that it might
have been done by him, such as Arpi's commit message stating that the
code was imported from MPlayerXP (Nick's fork), or all the files having
his name in the "maintainer" field. On the other hand, the murky history
of ad.h weakens this - it could be that Arpi started this work, and Nick
took it (and possibly finished it).
In any case, Nick could not be reached, so there is no agreement for
LGPL relicensing from him. We're changing the license anyway, and assume
that his change in itself is not copyrightable. He only moved code, and
in addition used the equivalent video decoder framework (done by Arpi,
who agreed) as template. For example, ad_functions_s was basically
vd_functions_s, which the signature of the decode callback changed to
the same as audio_decode(). ad_functions_s also had a comment that said
it interfaces with "video decoder drivers" (I'm fixing this comment in
this commit).
I verified that no additional code was added that is copyright-relevant,
still in today's code, and not copied from the existing code at the time
(either from the previous audio decoder code or the video framework
code). What apparently matters here is that none of the old code was not
written by Nick, and the authors of the old code have given his
agreement, and (probably) that Nick didn't add actual new code (none
that would have survived), that was not trivially based on the old one
(i.e. no new copyrightable "work").
A copyright expert told me that this kind of change can be considered
not relevant for copyright, so here we go.
Rewriting this would end with the same code anyway, and the naming
conventions can't be copyrighted.
2017-06-14 14:20:56 +00:00
|
|
|
audio/decode/dec_audio.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x audio/filter/af.* must be killed (main author disagreed)
|
|
|
|
(required for LGPL core: a new filter chain must be written)
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/filter/af_channel.c must be killed (main author disagreed)
|
|
|
|
audio/filter/af_equalizer.c must be killed (main author disagreed)
|
|
|
|
audio/filter/af_pan.c must be killed (main author disagreed)
|
|
|
|
audio/filter/af_volume.c must be killed (main author disagreed)
|
|
|
|
audio/filter/equalizer.h must be killed (main author disagreed)
|
|
|
|
audio/filter/tools.c must be killed (main author disagreed)
|
af_format: change license to LGPL
This case is a bit weird, because MPlayer certainly also has a file
named af_format.c. Both appear to have the function of converting audio
data between sample formats.
However, mpv's af_format.c is a rewrite, and doesn't actually do
conversion by itself. It's similar to vf_format.c, and forces the
generic filter chain code to insert conversion filters, instead of doing
conversion explicitly.
mpv's current af_format.c started out as af_force.c in d9582ad0a41. It
was renamed to af_format.c in e60b8f181d, while the old af_format.c was
split into two new filters. In 943c785619 the filename was changed to
af_format.c as well.
The new af_format.c does not contain any libaf code, except for some
potentially copy & pasted skeleton and boilerplate code. (We don't
account for this in per-filter file licenses, as the old libaf code
has to be removed fully, at which point the filters will have to be
ported to another framework, which will removed that boilerplate code.)
The old filters based on af_format.c were progressively replaced and
removed. Support for non-native endian and formats with signedness
different from native FFmpeg was completely removed in 831d7c3c400b.
The old 24 bit conversion code was removed in 552dc0d564 (made
unnecessary by 5a9f817bfde8).
Also list hwdec_vaglx.c as GPL-only, which doesn't have anything to do
with this commit.
2017-05-11 09:00:15 +00:00
|
|
|
audio/filter/af_format.c LGPL
|
2017-05-09 10:46:40 +00:00
|
|
|
audio/filter/af_lavc3enc.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/filter/af_lavfi.c LGPL
|
2017-05-09 10:53:28 +00:00
|
|
|
audio/filter/af_scaletempo.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/filter/af_rubberband.c LGPL
|
audio/out: change license of some core files to LGPL
All contributors of the current code have agreed. ao.c requires a
"driver" entry for each audio output - we assume that if someone who
didn't agree to LGPL added a line, it's fine for ao.c to be LGPL
anyway. If the affected audio output is not disabled at compilation
time, the resulting binary will be GPL anyway, and ootherwise the
code is not included.
The audio output code itself was inspired or partially copied from
libao in 7a2eec4b59f4 (thus why MPlayer's audio code is named libao2).
Just to be sure we got permission from Aaron Holtzman, Jack Moffitt, and
Stan Seibert, who according to libao's SVN history and README are the
initial author. (Something similar was done for libvo, although the
commit relicensing it forgot to mention it.)
242aa6ebd40: anders mostly disagreed with the LGPL relicensing, but we
got permission for this particular commit.
0ef8e555735: nick could not be reached, but the include statement was
removed again anyway.
879e05a7c17: iive agreed to LGPL v3+ only, but this line of code was
removed anyway, so ao_null.c can be LGPL v2.1+.
9dd8f241ac2: patch author could not be reached, but the corresponding
code (old slave mode interface) was completely removed later.
2017-05-20 09:35:25 +00:00
|
|
|
audio/out/ao.c LGPL
|
|
|
|
audio/out/ao.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/out/ao_alsa.c extremely hard (original author did not decide)
|
2017-05-08 11:57:40 +00:00
|
|
|
audio/out/ao_audiounit.m LGPL
|
|
|
|
audio/out/ao_coreaudio.c LGPL
|
|
|
|
audio/out/ao_coreaudio_chmap.c LGPL
|
|
|
|
audio/out/ao_coreaudio_chmap.h LGPL
|
|
|
|
audio/out/ao_coreaudio_exclusiv LGPL
|
|
|
|
audio/out/ao_coreaudio_properti LGPL
|
|
|
|
audio/out/ao_coreaudio_properti LGPL
|
|
|
|
audio/out/ao_coreaudio_utils.c LGPL
|
|
|
|
audio/out/ao_coreaudio_utils.h LGPL
|
audio/out: change license of some core files to LGPL
All contributors of the current code have agreed. ao.c requires a
"driver" entry for each audio output - we assume that if someone who
didn't agree to LGPL added a line, it's fine for ao.c to be LGPL
anyway. If the affected audio output is not disabled at compilation
time, the resulting binary will be GPL anyway, and ootherwise the
code is not included.
The audio output code itself was inspired or partially copied from
libao in 7a2eec4b59f4 (thus why MPlayer's audio code is named libao2).
Just to be sure we got permission from Aaron Holtzman, Jack Moffitt, and
Stan Seibert, who according to libao's SVN history and README are the
initial author. (Something similar was done for libvo, although the
commit relicensing it forgot to mention it.)
242aa6ebd40: anders mostly disagreed with the LGPL relicensing, but we
got permission for this particular commit.
0ef8e555735: nick could not be reached, but the include statement was
removed again anyway.
879e05a7c17: iive agreed to LGPL v3+ only, but this line of code was
removed anyway, so ao_null.c can be LGPL v2.1+.
9dd8f241ac2: patch author could not be reached, but the corresponding
code (old slave mode interface) was completely removed later.
2017-05-20 09:35:25 +00:00
|
|
|
audio/out/ao_jack.c will stay GPL
|
2017-06-13 18:22:15 +00:00
|
|
|
audio/out/ao_lavc.c LGPL
|
audio/out: change license of some core files to LGPL
All contributors of the current code have agreed. ao.c requires a
"driver" entry for each audio output - we assume that if someone who
didn't agree to LGPL added a line, it's fine for ao.c to be LGPL
anyway. If the affected audio output is not disabled at compilation
time, the resulting binary will be GPL anyway, and ootherwise the
code is not included.
The audio output code itself was inspired or partially copied from
libao in 7a2eec4b59f4 (thus why MPlayer's audio code is named libao2).
Just to be sure we got permission from Aaron Holtzman, Jack Moffitt, and
Stan Seibert, who according to libao's SVN history and README are the
initial author. (Something similar was done for libvo, although the
commit relicensing it forgot to mention it.)
242aa6ebd40: anders mostly disagreed with the LGPL relicensing, but we
got permission for this particular commit.
0ef8e555735: nick could not be reached, but the include statement was
removed again anyway.
879e05a7c17: iive agreed to LGPL v3+ only, but this line of code was
removed anyway, so ao_null.c can be LGPL v2.1+.
9dd8f241ac2: patch author could not be reached, but the corresponding
code (old slave mode interface) was completely removed later.
2017-05-20 09:35:25 +00:00
|
|
|
audio/out/ao_null.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/out/ao_openal.c unknown
|
|
|
|
audio/out/ao_opensles.c LGPL
|
|
|
|
audio/out/ao_oss.c will stay GPL
|
2017-05-20 10:41:33 +00:00
|
|
|
audio/out/ao_pcm.c LGPL
|
2017-05-08 12:09:49 +00:00
|
|
|
audio/out/ao_pulse.c LGPL
|
|
|
|
audio/out/ao_rsound.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/out/ao_sdl.c LGPL
|
|
|
|
audio/out/ao_sndio.c LGPL (BSD)
|
|
|
|
audio/out/ao_wasapi.c LGPL
|
|
|
|
audio/out/ao_wasapi_changenotif LGPL
|
|
|
|
audio/out/ao_wasapi.h LGPL
|
|
|
|
audio/out/ao_wasapi_utils.c LGPL
|
audio/out: change license of some core files to LGPL
All contributors of the current code have agreed. ao.c requires a
"driver" entry for each audio output - we assume that if someone who
didn't agree to LGPL added a line, it's fine for ao.c to be LGPL
anyway. If the affected audio output is not disabled at compilation
time, the resulting binary will be GPL anyway, and ootherwise the
code is not included.
The audio output code itself was inspired or partially copied from
libao in 7a2eec4b59f4 (thus why MPlayer's audio code is named libao2).
Just to be sure we got permission from Aaron Holtzman, Jack Moffitt, and
Stan Seibert, who according to libao's SVN history and README are the
initial author. (Something similar was done for libvo, although the
commit relicensing it forgot to mention it.)
242aa6ebd40: anders mostly disagreed with the LGPL relicensing, but we
got permission for this particular commit.
0ef8e555735: nick could not be reached, but the include statement was
removed again anyway.
879e05a7c17: iive agreed to LGPL v3+ only, but this line of code was
removed anyway, so ao_null.c can be LGPL v2.1+.
9dd8f241ac2: patch author could not be reached, but the corresponding
code (old slave mode interface) was completely removed later.
2017-05-20 09:35:25 +00:00
|
|
|
audio/out/internal.h LGPL
|
|
|
|
audio/out/pull.c LGPL
|
|
|
|
audio/out/push.c LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x audio/audio.* very hard (mp_audio based of anders' af_audio)
|
|
|
|
(required for LGPL core: determine if the struct can be used anyway, or
|
|
|
|
devise a cheap AVFrame wrapper)
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/audio_buffer.* LGPL
|
|
|
|
audio/chmap.* LGPL
|
|
|
|
audio/chmap_sel.* LGPL
|
|
|
|
audio/fmt-conversion.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x audio/format.* hard (murky libaf origins)
|
2017-05-05 06:38:30 +00:00
|
|
|
common/av_common.* LGPL
|
|
|
|
common/av_log.c almost LGPL
|
|
|
|
common/av_log.h LGPL
|
|
|
|
common/codecs.* LGPL
|
|
|
|
common/common.* LGPL
|
2017-06-13 18:22:15 +00:00
|
|
|
common/encode.h LGPL
|
|
|
|
common/encode_lavc.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
common/global.h LGPL
|
|
|
|
common/msg.c almost LGPL
|
|
|
|
common/msg_control.h LGPL
|
|
|
|
common/msg.h LGPL
|
|
|
|
common/playlist.* LGPL
|
|
|
|
common/recorder.* LGPL
|
|
|
|
common/tags.* LGPL
|
|
|
|
common/version.c LGPL
|
|
|
|
demux/codec_tags.* LGPL
|
|
|
|
demux/cue.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x demux/demux.* complications (at least Denes' changes)
|
2017-05-05 06:38:30 +00:00
|
|
|
demux/demux_cue.c LGPL
|
|
|
|
demux/demux_disc.c LGPL
|
|
|
|
demux/demux_edl.c LGPL
|
demux_lavf: change license to LGPL (almost)
Since this demuxer is based on code by michael, this file can become
LGPL only once the mpv core becomes LGPL, and this is preparation for
it.
There were quite a lot of changes for rearranging preferred libavformat
vs. internal MPlayer demuxers, codec mappings, and filename extensions,
but all this got removed, so some of the relevant authors weren't asked.
cehoyos, who disagreed with LGPL, made a few changes in the past (mostly
codec mapping and deinterlacing related things), but all of them were
removed, mostly due to libavformat API cleanups.
adland, who could not be reached, did commit 057916ee65, but it's easy
to essentially revert the change (this is what the source changes in
this commit do), so we don't need to think about it.
Chris Welton, who could not be reached, made a simple change in commit
958c41d9b69. Fortunately, the API changed again, and his changes were
removed, so we don't need to think about this either.
There is an anonymous contribution in commit 085f35f4b48 - since this
did not introduce any original code, and the probe code was heavily
rewritten multiple times, I don't consider it relevant.
2017-06-16 13:47:54 +00:00
|
|
|
demux/demux_lavf.c almost LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
demux/demux_libarchive.c LGPL
|
|
|
|
demux/demux_mf.c hard
|
|
|
|
demux/demux_mkv.c LGPL (mostly)
|
|
|
|
demux/demux_mkv_timeline.c LGPL
|
|
|
|
demux/demux_null.c LGPL
|
|
|
|
demux/demux_playlist.c LGPL
|
|
|
|
demux/demux_rar.c LGPL
|
|
|
|
demux/demux_raw.c unknown
|
|
|
|
demux/demux_timeline.c LGPL
|
|
|
|
demux/demux_tv.c will stay GPL
|
|
|
|
demux/ebml.* LGPL
|
|
|
|
demux/matroska.h LGPL
|
|
|
|
demux/packet.* LGPL
|
demux/stheader: change license to LGPL
All authors of the current code have agreed.
For most of its life, MPlayer used Microsoft structs like WAVEFORMATEX
to describe media content. It appears these were copied from wine in
61c5a99851e. Copyright is unclear, but mpv completely removed use of
these structs anyway. (demux_mkv.c still contains code to read these
fields from a byte stream, but the struct is fully gone.)
42f97b2b820: cehoyos (who probably didn't agree with LGPL) applied a
patch by someone who agreed. It's unknown whether cehoyos modified the
patch (and thus his copyright would apply), but the changed code was
removed anyway. (The code was first moved somewhere else, then removed.)
efd53eed614: the patch author was not asked. Although the mkv_sh_sub_t
struct was later moved to stheader.h, the added field was removed
without replacement.
f6878753fbd: nick, who could not be reached, added an include guard, but
the guard was changed several times later, and it's probably not
copyrightable anyway.
afb0fd5ea17: the same nick adds a field that was later replaced and
finally removed again in 8cd6b20571.
2017-05-10 11:15:29 +00:00
|
|
|
demux/stheader.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
demux/timeline.* LGPL
|
|
|
|
input/cmd_* unknown, probably easy except some commands
|
|
|
|
input/event.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x input/input.* potentially hard
|
2017-05-05 06:38:30 +00:00
|
|
|
input/ipc.c LGPL
|
|
|
|
input/ipc-unix.c LGPL
|
|
|
|
input/ipc-win.c LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x input/keycodes.* potentially hard
|
2017-05-05 06:38:30 +00:00
|
|
|
input/pipe-win32.c LGPL
|
|
|
|
libmpv/*.* LGPL
|
|
|
|
misc/*.* LGPL
|
options: change license of most files to LGPL (except options.c/.h)
All authors of the current code have agreed (as far as this commit
requires).
options.c/options.h will take more effort, because it contains all the
option declarations, and thus is touched extremely often.
m_option.c is technically still GPL, because of commit 2c82d5a1d85378dd0
(michael has agreed to LGPL, but only once the core of mpv is LGPL).
The geometry parsing code in m_option.c was originally by someone who
could not be reached. However, it was heavily rewritten anyway, and only
the syntax remains (i.e. not copyright-relevant).
parse_commandline.c contains a change by "adland" (commit 1d0ac71ae8ba),
who could not be reached - this this specific part is GPL only.
Fortunately, it matters only for DVD (and even then is more like a hack,
but whatever).
There are some other relevant changes, but they have all been reverted,
moved somewhere else, deleted, or replaced.
2017-06-12 18:55:17 +00:00
|
|
|
options/m_config.* LGPL
|
|
|
|
options/m_option.c almost LGPL
|
|
|
|
options/m_option.h LGPL
|
2017-06-12 15:00:20 +00:00
|
|
|
options/m_property.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x options/options.* very hard (lots of options and history)
|
options: change license of most files to LGPL (except options.c/.h)
All authors of the current code have agreed (as far as this commit
requires).
options.c/options.h will take more effort, because it contains all the
option declarations, and thus is touched extremely often.
m_option.c is technically still GPL, because of commit 2c82d5a1d85378dd0
(michael has agreed to LGPL, but only once the core of mpv is LGPL).
The geometry parsing code in m_option.c was originally by someone who
could not be reached. However, it was heavily rewritten anyway, and only
the syntax remains (i.e. not copyright-relevant).
parse_commandline.c contains a change by "adland" (commit 1d0ac71ae8ba),
who could not be reached - this this specific part is GPL only.
Fortunately, it matters only for DVD (and even then is more like a hack,
but whatever).
There are some other relevant changes, but they have all been reverted,
moved somewhere else, deleted, or replaced.
2017-06-12 18:55:17 +00:00
|
|
|
options/parse_commandline.* LGPL
|
|
|
|
options/parse_configfile.* LGPL
|
2017-06-12 14:41:21 +00:00
|
|
|
options/path.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/android/* LGPL (BSD)
|
|
|
|
osdep/ar/* LGPL (BSD)
|
|
|
|
osdep/atomic.h LGPL
|
2017-05-08 11:11:46 +00:00
|
|
|
osdep/compiler.h LGPL
|
2017-05-08 11:18:17 +00:00
|
|
|
osdep/endian.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/glob-win.c LGPL
|
|
|
|
osdep/io.* LGPL
|
|
|
|
osdep/macosx_application.h unknown
|
|
|
|
osdep/macosx_application.m unknown
|
|
|
|
osdep/macosx_application_objc.h unknown
|
|
|
|
osdep/macosx_compat.h unknown
|
|
|
|
osdep/macosx_events.* unknown
|
|
|
|
osdep/macosx_events_objc.h unknown
|
|
|
|
osdep/macosx_touchbar.* unknown
|
|
|
|
osdep/macosx_versions.h unknown
|
|
|
|
osdep/main-fn-cocoa.c LGPL
|
|
|
|
osdep/main-fn.h LGPL
|
|
|
|
osdep/main-fn-unix.c LGPL
|
|
|
|
osdep/main-fn-win.c LGPL
|
2017-06-12 15:06:03 +00:00
|
|
|
osdep/mpv.exe.manifest LGPL
|
|
|
|
osdep/mpv.rc LGPL
|
2017-06-12 14:41:21 +00:00
|
|
|
osdep/path.h LGPL
|
|
|
|
osdep/path-macosx.m LGPL
|
|
|
|
osdep/path-unix.c LGPL
|
|
|
|
osdep/path-win.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/semaphore.h LGPL
|
|
|
|
osdep/semaphore_osx.c LGPL
|
|
|
|
osdep/strnlen.h LGPL
|
|
|
|
osdep/subprocess.* LGPL
|
|
|
|
osdep/subprocess-posix.c LGPL
|
|
|
|
osdep/subprocess-win.c LGPL
|
2017-06-14 12:28:05 +00:00
|
|
|
osdep/terminal.h LGPL
|
|
|
|
osdep/terminal-unix.c LGPL
|
|
|
|
osdep/terminal-win.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/threads.* LGPL
|
|
|
|
osdep/timer.c LGPL
|
2017-05-05 10:34:56 +00:00
|
|
|
osdep/timer.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/timer-darwin.c LGPL (MIT)
|
2017-05-05 10:34:56 +00:00
|
|
|
osdep/timer-linux.c LGPL
|
|
|
|
osdep/timer-win2.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/w32_keyboard.c unknown
|
|
|
|
osdep/w32_keyboard.h unknown
|
|
|
|
osdep/win32-console-wrapper.c LGPL (BSD)
|
|
|
|
osdep/win32/* LGPL (ISC)
|
|
|
|
osdep/windows_utils.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/audio.c extremely hard (complex history, libaf ties)
|
2017-05-05 06:38:30 +00:00
|
|
|
player/client.* LGPL (ISC)
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/command.c extremely hard (also some GPL-only things)
|
|
|
|
x player/command.h hard
|
|
|
|
x player/configfiles.c unknown
|
|
|
|
x player/core.h extremely hard
|
|
|
|
x player/external_files.* hard (murky subreader.c origins)
|
2017-05-05 06:38:30 +00:00
|
|
|
player/lavfi.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/loadfile.c extremely hard
|
2017-05-05 06:38:30 +00:00
|
|
|
player/lua/*.* LGPL
|
|
|
|
player/lua.c LGPL
|
|
|
|
player/misc.c LGPL
|
|
|
|
player/osd.c hard
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/playloop.c extremely hard
|
2017-05-05 06:38:30 +00:00
|
|
|
player/screenshot.* LGPL
|
|
|
|
player/scripting.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/sub.c easy (probably almost no mplayer code)
|
|
|
|
x player/video.c extremely hard
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/ai_* will stay GPL (TV code)
|
|
|
|
stream/audio_in.* will stay GPL (TV code)
|
2017-05-11 15:02:43 +00:00
|
|
|
stream/cache.c LGPLv3+
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/cache_file.c LGPL
|
2017-05-11 05:29:01 +00:00
|
|
|
stream/cookies.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/dvb* must stay GPL
|
|
|
|
stream/frequencies.* must stay GPL
|
|
|
|
stream/rar.* LGPL
|
|
|
|
stream/stream_avdevice.c unknown
|
|
|
|
stream/stream_bluray.c unknown
|
2017-06-16 17:48:46 +00:00
|
|
|
x stream/stream.c very hard
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/stream_cb.c LGPL
|
|
|
|
stream/stream_cdda.c unknown
|
|
|
|
stream/stream_dvb.* must stay GPL
|
|
|
|
stream/stream_dvd.c unknown
|
|
|
|
stream/stream_dvd_common.* unknown
|
|
|
|
stream/stream_dvdnav.c unknown
|
|
|
|
stream/stream_edl.c LGPL
|
2017-05-11 06:07:09 +00:00
|
|
|
stream/stream_file.c LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x stream/stream.h hard
|
2017-06-16 14:27:57 +00:00
|
|
|
stream/stream_lavf.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/stream_libarchive.* LGPL
|
|
|
|
stream/stream_memory.c LGPL
|
|
|
|
stream/stream_mf.c unknown
|
2017-05-08 10:45:50 +00:00
|
|
|
stream/stream_null.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/stream_rar.c LGPL
|
2017-05-11 06:12:14 +00:00
|
|
|
stream/stream_smb.c will stay GPLv3
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/stream_tv.c will stay GPL
|
|
|
|
stream/tv* will stay GPL
|
|
|
|
sub/* LGPL
|
|
|
|
ta/* LGPL (ISC)
|
|
|
|
video/decode/d3d.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x video/decode/dec_video.* hard
|
2017-05-05 06:38:30 +00:00
|
|
|
video/decode/hw_cuda.c LGPL
|
|
|
|
video/decode/hw_d3d11va.c LGPL
|
|
|
|
video/decode/hw_dxva2.c LGPL
|
|
|
|
video/decode/hw_videotoolbox.c LGPL
|
vd, vd_lavc: change license to LGPL (almost)
iive agreed only to LGPL 3.0+ only. All of his relevant changes are for
XvMC, for which mpv completely dropped support back in mplayer2 times.
But you could claim that the get_format code represents some residual
copyright (everything else added by iive was removed, only get_format
still is around in some form). While I doubt that this is relly
copyright-relevant, consider it is for now.
michael is the original author of vd_lavc.c, so this file can become
LGPL only after the core becomes LGPL.
cehoyos did not agree with the LGPL relicensing, but all of his code is
gone.
Some others could not be reached, but their code is gone as well. In
particular, vdpau support, which was originally done by Nvidia, had
larger impact on vd_lavc.c, but vdpau support was first refactored a few
times (for the purpose of modularization) and moved to different files,
and then decoding was completely moved to libavcodec.
Lastly, assigning the "opaque" field was moved by Gwenole Beauchesne in
commit 8e5edec13eab. Agreement is pending (due to copyright apparently
owned by the author's employer). So just undo the change, so we don't
have to think about whether the change is copyrightable.
2017-06-15 13:52:18 +00:00
|
|
|
video/decode/lavc.h almost LGPLv3+
|
|
|
|
video/decode/vd.h LGPL
|
|
|
|
video/decode/vd_lavc.c almost LGPLv3+
|
2017-05-05 06:38:30 +00:00
|
|
|
video/filter/refqueue.* LGPL
|
vf.c, vf.h: change license to LGPL
Most authors have agreed. Like with vo.c, we don't take module
declarations into consideration (see 0e09533c73dc0).
Notable issues:
115bfb9762: the author has (probably) not agreed. The vf.c changes were
removed with the removal of filter DR, though (see c54fc507da8e).
7b25afd742: the same author adds VOCTRLs for deinterlacing switching at
runtime. Put them under a HAVE_GPL ifdef just to be sure. (It looks like
we could remove the VOCTRLs immediately, as they're needed only for some
compatibility things, but no need to do that yet.)
02b199e5e9: the author had a conditional agreement to LGPL, which
doesn't allow us to change it just yet, but the code added here was
completely removed anyway. (These days, the pts is passed as mp_image
field, and put_image is gone.)
3532cd532e: same author, but code removed with DR removal.
f0626e2f8d: same author, but code was moved to mp_image.c.
e5b4b495c3: agreed to LGPLv3+ only, but the code was removed in
cfa1f9e082 anyway.
086c324692: author was not asked - minor warning fix, but no mpv
includes malloc.h anymore.
e9d0a1d609: author was not asked - removed again in 33b62af947.
c260a1139d: author could not be reached - but this code was removed when
mpv changed the image allocation code to essentially use FFmpeg's
pixdesc.
2017-05-11 12:44:46 +00:00
|
|
|
video/filter/vf.c LGPL
|
|
|
|
video/filter/vf.h LGPL (mostly)
|
2017-05-05 06:38:30 +00:00
|
|
|
video/filter/vf_buffer.c LGPL
|
|
|
|
video/filter/vf_crop.c will be deleted
|
|
|
|
video/filter/vf_d3d11vpp.c LGPL
|
|
|
|
video/filter/vf_dlopen.* LGPL
|
|
|
|
video/filter/vf_dsize.c will be deleted
|
|
|
|
video/filter/vf_eq.c will be deleted
|
|
|
|
video/filter/vf_expand.c will be deleted
|
|
|
|
video/filter/vf_flip.c will be deleted
|
|
|
|
video/filter/vf_format.c will be deleted
|
|
|
|
video/filter/vf_gradfun.c will be deleted
|
|
|
|
video/filter/vf_lavfi.* LGPL
|
|
|
|
video/filter/vf_mirror.c will be deleted
|
|
|
|
video/filter/vf_noformat.c will be deleted
|
|
|
|
video/filter/vf_pullup.c will be deleted
|
|
|
|
video/filter/vf_rotate.c will be deleted
|
|
|
|
video/filter/vf_scale.c will be deleted
|
|
|
|
video/filter/vf_stereo3d.c will be deleted
|
|
|
|
video/filter/vf_sub.c will be deleted
|
|
|
|
video/filter/vf_vapoursynth.c LGPL
|
|
|
|
video/filter/vf_vavpp.c LGPL
|
|
|
|
video/filter/vf_vdpaupp.c LGPL
|
|
|
|
video/filter/vf_yadif.c will be deleted
|
|
|
|
video/csputils.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x video/fmt-conversion.* must be killed (author disagreed to LGPL)
|
|
|
|
(required for LGPL core: might direct-map them to AV_PIXFMT or so)
|
2017-05-05 06:38:30 +00:00
|
|
|
video/gpu_memcpy.* will be deleted
|
|
|
|
video/hwdec.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x video/image_writer.* unknown
|
|
|
|
x video/img_format.* hard
|
|
|
|
x video/img_fourcc.h hard
|
2017-06-16 17:35:24 +00:00
|
|
|
video/mp_image.* almost LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/mp_image_pool.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x video/out/aspect.* hard
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/bitmap_packer.* LGPL
|
|
|
|
video/out/cocoa* unknown
|
|
|
|
video/out/d3d_shader_420p.h LGPL
|
|
|
|
video/out/d3d_shader_nv12.h LGPL
|
|
|
|
video/out/d3d_shader_yuv.hlsl LGPL
|
|
|
|
video/out/dither.* LGPL
|
|
|
|
video/out/drm_common.* LGPL
|
|
|
|
video/out/filter_kernels.* LGPL (BSD)
|
af_format: change license to LGPL
This case is a bit weird, because MPlayer certainly also has a file
named af_format.c. Both appear to have the function of converting audio
data between sample formats.
However, mpv's af_format.c is a rewrite, and doesn't actually do
conversion by itself. It's similar to vf_format.c, and forces the
generic filter chain code to insert conversion filters, instead of doing
conversion explicitly.
mpv's current af_format.c started out as af_force.c in d9582ad0a41. It
was renamed to af_format.c in e60b8f181d, while the old af_format.c was
split into two new filters. In 943c785619 the filename was changed to
af_format.c as well.
The new af_format.c does not contain any libaf code, except for some
potentially copy & pasted skeleton and boilerplate code. (We don't
account for this in per-filter file licenses, as the old libaf code
has to be removed fully, at which point the filters will have to be
ported to another framework, which will removed that boilerplate code.)
The old filters based on af_format.c were progressively replaced and
removed. Support for non-native endian and formats with signedness
different from native FFmpeg was completely removed in 831d7c3c400b.
The old 24 bit conversion code was removed in 552dc0d564 (made
unnecessary by 5a9f817bfde8).
Also list hwdec_vaglx.c as GPL-only, which doesn't have anything to do
with this commit.
2017-05-11 09:00:15 +00:00
|
|
|
video/out/opengl/hwdec_vaglx.c GPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/opengl/* LGPL
|
vo.c, vo.h, vo_null.c: change license to LGPL
Most contributors have agreed. vo.c requires a "driver" entry for each
video output - we assume that if someone who didn't agree to LGPL added
a line, it's fine for vo.c to be LGPL anyway. If the affected video
output is not disabled at compilation time, the resulting binary will be
GPL anyway.
One problem are the changes by Nick Kurshev (usually using "nick" as SVN
username). He could not be reached. I believe all changes to his files
are actually gone, but here is a detailed listing:
fa1d5742bc: nick introduces a new VO API. It was removed in 64bedd9683.
Some of this was replaced by VOCTRLs are introduced in 7c51652a1b,
obviously replacing at least some functionality by his API.
b587a3d642: nick adds a vo_tune_info_t struct. Removed in 64bedd9683
too.
9caad2c29a: nick adds some VOCTRLs, which were silently removed in
8cc5ba5ab8 (they became unused probably with the VIDIX removal).
340183b0e9: nick adds VO-based screenshots, which got removed in
2f4b840f62. Strangely the same name was introduced in 01cf896a2f again,
but this is a coincidence and worked differently (also it was removed
yet again in 2858232220).
104c125e6d: nick adds an option for "direct rendering". It was renamed
in 6403904ae9 and fully removed in e48b21dd87.
5ddd8e92a1: nick adds code to check the VO driver preinit arg to every
single VO driver. The argument itself and any possibly remaining code
associated with it was removed in 1f5ffe7d30.
f6878753fb: nick adds header inclusion guards. We assume this is not
relevant for copyright.
Some of nick's code was merely moved to other files, such as the
equalizer stuff added in 555c676683 and moved in 4db72f6a80 and
12579136ff, and don't affect copyright of these files anymore.
Other notes:
fef7b17c34: a patch by someone who wasn't asked for relicensing added a
symbol that was removed again in 1b09f4633.
4a8a46fafd: author probably didn't agree to LGPL, but the function
signature was changed later on anyway, and nothing of this is left.
7b25afd742: the same author adds a symbol to what is vo.h today, which
this relicensing commit removes, as it was unused. (It's not clear
whether the mere symbol is copyrightable, but no need to take a risk.)
3a406e94d7, 9dd8f241ac: slave mode things by someone who couldn't be
reached. This aspect of the old slave mode was completely removed.
bbeb54d80a: patch by someone who was not asked, but the added code was
completely removed again.
2017-05-10 12:32:34 +00:00
|
|
|
video/out/vo.c LGPL
|
|
|
|
video/out/vo.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/vo_caca.c unknown
|
|
|
|
video/out/vo_direct3d.c unknown
|
|
|
|
video/out/vo_drm.c LGPL
|
|
|
|
video/out/vo_image.c unknown
|
2017-06-13 18:22:15 +00:00
|
|
|
video/out/vo_lavc.c LGPL
|
vo.c, vo.h, vo_null.c: change license to LGPL
Most contributors have agreed. vo.c requires a "driver" entry for each
video output - we assume that if someone who didn't agree to LGPL added
a line, it's fine for vo.c to be LGPL anyway. If the affected video
output is not disabled at compilation time, the resulting binary will be
GPL anyway.
One problem are the changes by Nick Kurshev (usually using "nick" as SVN
username). He could not be reached. I believe all changes to his files
are actually gone, but here is a detailed listing:
fa1d5742bc: nick introduces a new VO API. It was removed in 64bedd9683.
Some of this was replaced by VOCTRLs are introduced in 7c51652a1b,
obviously replacing at least some functionality by his API.
b587a3d642: nick adds a vo_tune_info_t struct. Removed in 64bedd9683
too.
9caad2c29a: nick adds some VOCTRLs, which were silently removed in
8cc5ba5ab8 (they became unused probably with the VIDIX removal).
340183b0e9: nick adds VO-based screenshots, which got removed in
2f4b840f62. Strangely the same name was introduced in 01cf896a2f again,
but this is a coincidence and worked differently (also it was removed
yet again in 2858232220).
104c125e6d: nick adds an option for "direct rendering". It was renamed
in 6403904ae9 and fully removed in e48b21dd87.
5ddd8e92a1: nick adds code to check the VO driver preinit arg to every
single VO driver. The argument itself and any possibly remaining code
associated with it was removed in 1f5ffe7d30.
f6878753fb: nick adds header inclusion guards. We assume this is not
relevant for copyright.
Some of nick's code was merely moved to other files, such as the
equalizer stuff added in 555c676683 and moved in 4db72f6a80 and
12579136ff, and don't affect copyright of these files anymore.
Other notes:
fef7b17c34: a patch by someone who wasn't asked for relicensing added a
symbol that was removed again in 1b09f4633.
4a8a46fafd: author probably didn't agree to LGPL, but the function
signature was changed later on anyway, and nothing of this is left.
7b25afd742: the same author adds a symbol to what is vo.h today, which
this relicensing commit removes, as it was unused. (It's not clear
whether the mere symbol is copyrightable, but no need to take a risk.)
3a406e94d7, 9dd8f241ac: slave mode things by someone who couldn't be
reached. This aspect of the old slave mode was completely removed.
bbeb54d80a: patch by someone who was not asked, but the added code was
completely removed again.
2017-05-10 12:32:34 +00:00
|
|
|
video/out/vo_null.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/vo_opengl.c LGPL
|
|
|
|
video/out/vo_opengl_cb.c LGPL
|
|
|
|
video/out/vo_rpi.c LGPL
|
|
|
|
video/out/vo_sdl.c LGPL
|
|
|
|
video/out/vo_tct.c LGPL
|
|
|
|
video/out/vo_vaapi.c probably impossible (some company's code)
|
|
|
|
video/out/vo_vdpau.c probably impossible (nVidia's code)
|
|
|
|
video/out/vo_wayland.c LGPL
|
|
|
|
video/out/vo_x11.c probably impossible
|
|
|
|
video/out/vo_xv.c probably impossible
|
|
|
|
video/out/w32_common.* medium
|
|
|
|
video/out/wayland* LGPL
|
|
|
|
video/out/win32/* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x video/out/win_state.* unknown
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/x11_common.* probably impossible
|
|
|
|
video/out/x11_icon.bin must stay GPL
|
|
|
|
video/sws_utils.* LGPL
|
|
|
|
video/vaapi.* hard (GPL-only parts must be ifdefed)
|
|
|
|
video/vdpau.c hard (GPL-only parts must be ifdefed)
|
|
|
|
video/vdpau_functions.inc LGPL
|
|
|
|
video/vdpau.h unknown
|
|
|
|
video/vdpau_mixer.* actual code must be rewritten
|
|
|
|
video/vt.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
|
|
|
|
Other:
|
|
|
|
x Build system nominally LGPL, but might contain GPL traces
|
|
|
|
x English translations removed, but traces might be in C code
|
|
|
|
x Logo GPL (?), might have to exclude from LGPL builds
|