summaryrefslogtreecommitdiffstats
path: root/Copyright
Commit message (Collapse)AuthorAgeFilesLines
* Copyright: small updateswm42017-06-221-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The I binding was removed from input.conf (although it's probably not copyrightable, but still). bootstrap.py has a bunch of authors which probably make the licensing situation a pain - but it's not integral part of the build system or the source code, so it doesn't matter for a LGPL core. I checked and cleaned up the build system in the last few commits. There was the possibility that parts of it were based on actual code of the old "configure" file, in particular with the waftools/fragments/ files (it turned out some were, some even not covered by LGPL agreements). This was checked, so I'm confident only the commit mentioned in the Copyright file holds back proper LGPL licensing of it. (And I guess I have to wait for a reply.) I checked the English translations. There used to be help_mp-en.h (or help_mp.h earlier), which was part of the source code, and which contained most terminal and GUI messages. This was done for the purpose of localization, but all localizations were dropped at one point in mplayer2 development. At this point, the message defines were moved back to the source code. (While in the years before that, they were moved from the source code to the file where applicable.) I didn't check help_mp-en.h when it was merged back. There was the possibility that someone might have changed one of the English messages (i.e. added his copyright to it), which then was copied back to the source code, without accounting for that copyright. Upon checking the history now, it seems this didn't happen for any code that we want to relicense to LGPL (in fact, it happened to some messages in the DVD code only).
* Copyright: fix typowm42017-06-211-1/+1
|
* input/keycodes: change license to LGPLwm42017-06-201-1/+1
| | | | | All relevant authors have agreed. See 2e84934be7 (the mentioned person has replied and agreed now).
* audio/format: change license to LGPLwm42017-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Although the origins lie somewhere in libaf, which was written by "anders" and who explicitly disagreed with the LGPL relicensing, we can change the license of these files, because all code was written by "alex", who agreed with the relicensing. The only things that remain from anders' code is the AF_FORMAT_ and af_ prefixes (see e.g. 66f4e563). It was alex who redid this file and added the format identifiers we have today (507121f7). It's also nice to see that alex actually claimed copyright on format.c (221a599f). In commit efb50cab even the bitmask concept (which anders introduced with his early af_format.c code) was removed, and essentially all lines and symbols by anders were dropped. To put it into perspective: the original af_format code was for converting actual sample data and relied on OSS sample format identifiers, mpv's format.c/h provides its own sample formats, but does not do any data conversion. Remove an now inaccurate comment from format.c (it somehow even survived the typo that was present in the original commit). Also remove most of the format.c include statements - most of them are technically anders' code. We keep limits.h though.
* demux: change license to LGPLwm42017-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | As usual, the history of these files is a bit murky. It starts with the initial commit. (At which some development had already been done, according to the AUTHORS and ChangeLog files at the time, we should be but covered with relicensing agreements, though.) then it goes on with complete lack of modularization, which was cleaned up later (cd68e161). As usual, we don't consider the copyright of the stuff that has been moved out cleanly. There were also contributions to generic code by people who could not be reached or who did not agree to the relicensing, but this was all removed. The only patches that we could not relicense and which were still in the current code in some form are from Dénes Balatoni: 422b0d2a, 32937181. We could not reach him, so commits f34e1a0d and 18905298 remove his additions. It still leaves the demux_control() declaration itself, but we don't consider it copyrightable. It's basically an idiom that existed in MPlayer before that change, applied to the demuxer struct. (We even went as far as making sure to remove all DEMUXER_CTRLs the original author added.) Commit be54f481 might be a bit of a corner case, but this was rewritten, and we consider the old copyright removed long ago.
* external_files: change license to LGPLwm42017-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | While we could easily ifdef-out this file for a LGPL core, it's still annoying, and also the only GPL file remaining in player/ that is not based on mplayer.c. This file originates from subreader.c. It's not clear whether the original author of it gave us permission to relicense to LGPL (he probably did, but without further clarification it's sort of ambiguous), but the subtitle file search code was written by other authors anyway (see 7eef93819f9d). One contribution (574eb892ea) is a bit of a corner case, as test_ext_list() now does a bstrcasecmp(). But I don't think the copyright remains here. (I asked the author anyway, just in case. But I didn't wait for the answer.) In some other cases, contributors who could not be reached added some subtitle extensions. I don't think those are copyrightable on their own, but I dropped them anyway just to be sure.
* Copyright: stream.c/.h was relicensedwm42017-06-201-2/+1
|
* input: change license to LGPLwm42017-06-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cehoyos adds the step_property command in 7a71da01d, and it could be argued that copyright of this still applies to the later add/cycle commands (a668ae0ff90c4). While I'm not sure if this is really the case, stay conservative for now and mark these commands as GPL-only. Mark the command.c code too, although that is not being relicensed yet. I'm leaving the MP_CMD_* enum items, as they are obviously different. In commit 116ca0c7682, "veal" (essentially an anonymous author) adds an "osd_show_property_text" command (well, the commit message says "based on" that person's code, so it's not clear how much is from him or from albeu, who agreed to LGPL). This was later merged again with the "osd_show_text" command, and then all original code was removed in commit 58cc0f637f, so I claim that no copyright applies anymore. (Though technically the input.conf addition still might be copyrighted, so I'm just dropping it to get rid of the thought.) "kiriuja" added 2f376d1b39 (sub_load etc.) and be54f4813 (switch_audio). The latter is gone. I would argue that the former is fully rewritten with commits b7052b431c9 and 0f155921b0. But like in the step_property case, I will be overly conservative for now, and mark them as GPL-only, as this is potentially shaky and should be thought through first. (Not bothering with the command define/enum in the header, as it will be unused in LGPL mode anyway.) keycodes.c/h can be GPL, except for commit 2b1f95dcc2f8, which is a patch by someone who wasn't asked yet. Before doing something radical, I will wait for a reply.
* dec_video: change license to LGPL (almost)wm42017-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "Almost" because this might contain copyright by michael, who agreed with LGPL, but only once the core is LGPL. This is preparation for that to happen. Apart from that, the usual remarks apply. In particular, dec_video.c started out quite chaotic with no modularization, but was later basically gutted, and in general rewritten a bunch of times. Not going to give a history lesson. Special attention needs to be given to 3 patches by cehosos, who did not agree to the relicensing: 240b743ebdf: --field-dominance e32cbbf7dc3: reinit VO if aspect ratio changes 306f6243fdf: use container aspect if codec aspect unset (?) The first patch is pretty clearly still in the current code, and needs to be disabled for LGPL. The functionality of the second patch is still active, but implemented completely different, and as part of general frame parameter changes (at the time of the patch, MPlayer already reinitialized the VO on frame size and pixel format changes - all this was merged into a single check for changing image parameters). The third patch makes me a bit more uncomfortable. It appears the code was moved to dec_video.c in de68b8f23c8c, and further changed in 82f0d373, 0a0bb905, and bf13bd0d. You could claim that cehoyos' copyright still sticks. Fortunately, we implement alternative aspect detection, which is simpler and probably preferable, and which arguably contains none of the original code and logic, and thus should be fully safe. While I don't know if cehoyos' copyright actually still applies, I'm more comfortable with making the code GPL-only for now. Also change the default to use the (in future) plain LGPL code, and deprecate the one associated with the GPL code, so we can eventually remove the GPL code. But it's also possible we decide that the copyright doesn't apply, and undo the deprecation and GPL guards. I expect that users won't notice anything. If you ask me, the old aspect method was probably an accidental bug instead of intentional behavior. Although, the new aspect method was broken too, so I had to fix it.
* image_writer, vo_image: change license to LGPLwm42017-06-181-2/+2
| | | | | | | | | | | | | | | | | | image_writer.c has code originating from vf_screenshot.c, vo_jpeg.c, and potentially others. vo_image.c is based on a bunch of those VOs as well, and the intention was to replace them with a single codebase. vo_tga.c was written by someone who was not or not could be contacted, but it doesn't matter anyway, as no code from that initial patch was used. One rather old patch (57f77bb41a9) reordered by libjpeg patch API calls, and the author of the patch was not contacted. But at least with the smoothing_factor override removed, this pretty much exactly corresponds to the official libjpeg API example (and might even reflect a change to those - didn't dig deeper). This removes the -jpeg-smooth option. While we're at it, remove all the other dropped jpeg options from the manpage (which was forgotten in past changes).
* video/fmt-conversion, img_format: change license to LGPLwm42017-06-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | The problem with fmt-conversion.h is that "lucabe", who disagreed with LGPL, originally wrote it. But it was actually rewritten by "reimar" later. The original switch statement was replaced with a lookup table. No code other than the imgfmt2pixfmt() function signature survives. Neither the format pairs (PIXFMT<->IMGFMT), nor the concept of mapping them, can be copyrighted. So changing the license should be fine, because reimar and all other authors involved with the new code agreed to LGPL. We also don't consider format pairs added later as copyrightable. (The direct-mapping idea mentioned in the "Copyright" file seems attractive, and I might implement in later anyway.) Likewise, there might be some format names added to img_format.h, which are not covered by relicensing agreements. These all affect "later" additions, and they follow either the FFmpeg PIXFMT naming or some other pre-existing logic, so this should be fine.
* Drop/move img_fourcc.hwm42017-06-181-1/+0
| | | | | | | | | | | | | | | This file is an leftover from when img_format.h was changed from using the ancient FourCCs (based on Microsoft multimedia conventions) for pixel formats to a simple enum. The remaining cases still inherently used FourCCs for whatever reasons. Instead of worrying about residual copyrights in this file, just move it into code we don't want to relicense (the ancient Linux TV code). We have to fix some other code depending on it. For the most part, we just replace the MP_FOURCC macro with libavutil's MKTAG (although the macro definition is exactly the same). In demux_raw, we drop some pre-defined FourCCs, but it's not like it matters. (Instead of --demuxer-rawvideo-format use --demuxer-rawvideo-mp-format.)
* vf_dlopen: remove this filterwm42017-06-181-1/+0
| | | | | | | | | | | | | | | | It was an attempt to move some MPlayer filters (which were removed from mpv) to external, loadable filters. That worked well, but then the MPlayer filters were ported to libavfilter (independently), so they're available again. Also there is a more widely supported and more advanced loadable filter system supported by mpv: vapoursynth. In conclusion, vf_dlopen is not useful anymore, confusing, and requires quite a bit of code (and probably wouldn't survive the rewrite of the mpv video filter chain, which has to come at some point). It has some implicit dependencies on internal conventions, like possibly the format names dropped in the previous commit. We also deprecated it last release. Drop it.
* win_state: change license to LGPLwm42017-06-171-2/+2
| | | | | | All relevant authors have agreed. Also correct an unrelated entry in the "Copyright" file.
* Copyright: correct a statementwm42017-06-171-1/+1
| | | | | | | | | It seems "lucabe" didn't actually write the current fmt-conversion.c/.h code. He added the first version of the pixfmt mapping, which was later changed into a table. So his agreement might not be required for copyright purposes. Still, all those later additions of pixfmts by various authors may or may not matter, so the situation is still complex.
* aspect: change license to LGPLwm42017-06-171-1/+1
| | | | | | | | | | | | | | | Quite chaotic history, which code being moved, refactored, duplicated, unified a bunch of times. But I think everything is covered by LGPL agreements. In one case, cehoyos (who didn't agree) applied a patch by someone who agreed, but didn't change anything (except weirdly adding German translations). In another case, cehoyos moved code covered by LGPL agreements (without changing it), which was later used for some other code. We consider both cases not relevant for copyright. win_state.c/.h is similar, but pending for reply by the author of 2ab259e68 (I guess).
* etc/input.conf: change license to LGPLwm42017-06-171-3/+4
| | | | | | | | | | | | | | | | | | This file didn't have a license in the first place. The fact that this file was supposed to be a template, to be copied and modified by individual users, might weaken the assumption that it's GPL. (It was only later that mpv replaced the duplicate code in input.c with input.conf essentially.) All involved authors agreed to LGPL. On exception is an anonymous contribution in commit 116ca0c768219b. This "veal" could not be found. So the I key is noted as exception. input.conf does not support conditional guards, so I'm not sure what to do here. Either we could argue it's a joint work, or the fact that the I key won't work anyway with a LGPL mpv might count. etc/builtin.conf and etc/encoding-profiles.conf are mpv original things, written by developers who agreed to LGPL. So mark them as LGPL too.
* version.sh: change license to LGPLwm42017-06-171-2/+2
| | | | | | Surprisingly long history, but it's covered by LGPL agreements. One exception is a7fc969ff62e5ca: someone who hasn't asked changes the copyright year, but that change was obviously overwritten again later.
* Copyright: minor fixwm42017-06-171-2/+3
| | | | | Other files might require action too - just not to get a LGPL core, which is the priority.
* Copyright: mark files which still require action for a LGPL corewm42017-06-161-27/+39
| | | | | | | Thus is just a broad guess. The "Other" section contains things which are not part of the C code, but which still need to be checked in addition.
* mp_image: change license to LGPL (almost)wm42017-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | Since michael was somewhat involved in it, wait with the actual license change until the core is relicensed. Thus mark it as "Almost LGPL.". The worrisome part about mp_image.c is that it was created by cehoyos (which disagreed with LGPL) in commit f2dee327b2797. But it turns out it was a patch by someone else (who agreed with LGPL). For some reason, the patch was actually slightly modified by cehoyos for no reason (messed with the include statements), so we mess them back, just to be sure. Other than this, there were some commits that added support for new IMGFMTs over the years. Some of these were by people we didn't ask or we didn't get permission from. But since the original mp_image code was replaced by more generic code using FFmpeg pixdesc, none of these changes are left anyway. One additional change by cehoyos (115bfb976270) has been removed as well (when "direct rendering" was dropped from the filter chain).
* stream_lavf: change license to LGPLwm42017-06-161-1/+1
| | | | | | | | | | All authors agreed. The author of 1ee8ce75 did not respond, but it was a mpv pull request, and at this time DOCS/contribute.md and the "Copyright" file stated that all contributions must include LGPL relicensing permission. But you could claim that this was too "hidden". Sort of a corner case, I guess, but not my problem.
* demux_lavf: change license to LGPL (almost)wm42017-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* vd, vd_lavc: change license to LGPL (almost)wm42017-06-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* dec_audio, ad_lavc: change license to LGPLwm42017-06-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* terminal: change license to LGPLwm42017-06-141-3/+3
| | | | | | | | | | | | | | | | All authors of the current code have agreed. The code probably originates from a software named GySmail (as the copyright header indicates). As far as I can tell, it was written by Arpi (who has agreed), possibly with unknown co-authors. This is most likely OK, as none of the original code is around anymore anyway. I could not find a working download of GySmail, that actually contained the original getch2.c code. This also has a wild history of random people adding ifdef guards to control ioctl() vs. tcgetattr() calls. (See for example 2b1310abba4c1.) Later, the ioctl() was removed in favor of the POSIX tcgetattr(), and the ifdeffery was removed. So these people were not contacted.
* encode_lavc: move from GPL 2+ to LGPL 2.1+.Rudolf Polzer2017-06-131-4/+4
|
* options: change license of most files to LGPL (except options.c/.h)wm42017-06-121-4/+5
| | | | | | | | | | | | | | | | | | | | | | | 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.
* mpv.rc, mpv.exe.manifest: change license to LGPLwm42017-06-121-2/+2
| | | | | | | | | All authors have agreed. mpv.exe.manifest probably can't have a copyright header, so it doesn't. These files don't add license info to the executables. And of course the executable license is still GPL.
* m_property: change license to LGPLwm42017-06-121-1/+1
| | | | All involved authors have agreed.
* path: change license to LGPLwm42017-06-121-5/+5
| | | | | | | | The history goes back to 2001 or so, but everyone involved with still existing code has agreed. One person who could not be reached yet (elevengu) has changes in this, which as far as I can tell were overwritten anyway at a later point.
* ad_spdif: change license to LGPLwm42017-05-211-1/+1
| | | | | All authors have agreed. (Even the main author, if you wonder about the entry in the Copyright file.)
* ao_pcm: change license to LGPLwm42017-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | All relevant authors have agreed to the relicensing. Problem cases: eca47b1a5edae: someone else gets credited for the "idea" of this change, but it doesn't seem like it was a patch (otherwise reimar would have said "patch"). Also, the associated code got essentially removed again anyway. (The option parsing was rewritten fully.) ffb529e4eb2a9: anonymous/unknown author, but the code was fully removed anyway. The struct was removed, and the modern code does explicit read/write calls. 40789473d215b: author was not contacted, but this code was removed anyway. The magic number (0x7ffff000) is still in the new code, but I don't think that is copyright relevant. c750b8ab2d3c8: the message was entirely removed.
* audio/out: change license of some core files to LGPLwm42017-05-201-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* cache: clarify that copyright will be changed to LGPL v2.1 if possiblewm42017-05-111-1/+7
| | | | | | Clearly the licensing situation isn't confusing enough. I don't know why that guy insists on LGPLv3.
* vf.c, vf.h: change license to LGPLwm42017-05-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most authors hav