diff options
author | wm4 <wm4@nowhere> | 2015-12-03 09:32:40 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-12-03 09:32:40 +0100 |
commit | 17507b593506ad820cfabbe2fcec208ffe9d073f (patch) | |
tree | c32ad98d4ddbcbe6f62dfef397e72ed7081fe282 | |
parent | 57e691b9011e9bdcc4fbc53a484f80057c65a891 (diff) | |
download | mpv-17507b593506ad820cfabbe2fcec208ffe9d073f.tar.bz2 mpv-17507b593506ad820cfabbe2fcec208ffe9d073f.tar.xz |
vo_opengl: require --enable-gpl3 for nnedi
There are claims that nnedi3.c doesn't constitute its own new
implementation, but is derived from existing HLSL or OpenCL shaders
distributed under the LGPLv3 license.
Until these are resolved, do the "correct" thing and require
--enable-gpl3 to build nnedi.
-rw-r--r-- | Copyright | 3 | ||||
-rwxr-xr-x | TOOLS/old-configure | 1 | ||||
-rw-r--r-- | video/out/opengl/nnedi3.c | 23 | ||||
-rw-r--r-- | video/out/opengl/nnedi3.h | 3 | ||||
-rw-r--r-- | video/out/opengl/video.c | 7 | ||||
-rw-r--r-- | wscript | 5 |
6 files changed, 40 insertions, 2 deletions
@@ -12,6 +12,9 @@ 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+ easier.) Using a more liberal license compatible to LGPLv2.1+ is also ok. +Some GPLv3 or LGPLv3 code in mpv can be enabled by building with --enable-gpl3, +and in this case, the resulting binaries must be distributed under GPLv3. + For information about authors and contributors, consult the git log, which contains the complete SVN and CVS history as well. diff --git a/TOOLS/old-configure b/TOOLS/old-configure index 5f7a75b77d..a4776eddae 100755 --- a/TOOLS/old-configure +++ b/TOOLS/old-configure @@ -976,6 +976,7 @@ cat > $TMPC << EOF #define HAVE_SSE4_INTRINSICS 1 #define HAVE_C11_TLS 1 #define HAVE_EGL_ANGLE 0 +#define HAVE_GPL3 1 #ifdef __OpenBSD__ #define DEFAULT_CDROM_DEVICE "/dev/rcd0c" diff --git a/video/out/opengl/nnedi3.c b/video/out/opengl/nnedi3.c index 681aad5813..bb200b0f7a 100644 --- a/video/out/opengl/nnedi3.c +++ b/video/out/opengl/nnedi3.c @@ -18,10 +18,15 @@ * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. + * + * The shader portions may have been derived from existing LGPLv3 shaders + * (see below), possibly making this file effectively LGPLv3. */ #include "nnedi3.h" +#if HAVE_NNEDI + #include <assert.h> #include <stdint.h> #include <float.h> @@ -233,3 +238,21 @@ void pass_nnedi3(GL *gl, struct gl_shader_cache *sc, int planes, int tex_num, i, tex_num, tex_num, tex_num, i, tex_mul); } } + +#else + +const struct m_sub_options nnedi3_conf = {0}; + + +const float* get_nnedi3_weights(const struct nnedi3_opts *conf, int *size) +{ + return NULL; +} + +void pass_nnedi3(GL *gl, struct gl_shader_cache *sc, int planes, int tex_num, + int step, float tex_mul, const struct nnedi3_opts *conf, + struct gl_transform *transform) +{ +} + +#endif diff --git a/video/out/opengl/nnedi3.h b/video/out/opengl/nnedi3.h index be69f34c78..837383c6f6 100644 --- a/video/out/opengl/nnedi3.h +++ b/video/out/opengl/nnedi3.h @@ -23,9 +23,12 @@ #ifndef MP_GL_NNEDI3_H #define MP_GL_NNEDI3_H +#include "config.h" #include "common.h" #include "utils.h" +#define HAVE_NNEDI HAVE_GPL3 + #define NNEDI3_UPLOAD_UBO 0 #define NNEDI3_UPLOAD_SHADER 1 diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c index f07fbb104b..6f3aba249c 100644 --- a/video/out/opengl/video.c +++ b/video/out/opengl/video.c @@ -459,8 +459,11 @@ const struct m_sub_options gl_video_conf = { OPT_FLOAT("sharpen", unsharp, 0), OPT_CHOICE("prescale", prescale, 0, ({"none", 0}, - {"superxbr", 1}, - {"nnedi3", 2})), + {"superxbr", 1} +#if HAVE_NNEDI + , {"nnedi3", 2} +#endif + )), OPT_INTRANGE("prescale-passes", prescale_passes, 0, 1, MAX_PRESCALE_PASSES), OPT_FLOATRANGE("prescale-downscaling-threshold", @@ -10,6 +10,11 @@ from waftools.checks.custom import * build_options = [ { + 'name': '--gpl3', + 'desc': 'GPL3 license', + 'default': 'disable', + 'func': check_true + }, { 'name': '--cplayer', 'desc': 'mpv CLI player', 'default': 'enable', |