From 61bc96518afcfabfa07d6724ea517db5e9aba165 Mon Sep 17 00:00:00 2001 From: Bin Jin Date: Fri, 10 Jun 2016 12:22:51 +0000 Subject: [PATCH] vo_opengl: remove nnedi3 prescaler --- .gitignore | 1 - Copyright | 3 - DOCS/man/vo.rst | 32 +--- TOOLS/appveyor-build.sh | 1 - video/out/opengl/nnedi3.c | 248 ---------------------------- video/out/opengl/nnedi3.h | 45 ----- video/out/opengl/nnedi3_weights.bin | Bin 161280 -> 0 bytes video/out/opengl/video.c | 72 -------- video/out/opengl/video.h | 2 - wscript | 5 - wscript_build.py | 5 - 11 files changed, 1 insertion(+), 413 deletions(-) delete mode 100644 video/out/opengl/nnedi3.c delete mode 100644 video/out/opengl/nnedi3.h delete mode 100644 video/out/opengl/nnedi3_weights.bin diff --git a/.gitignore b/.gitignore index c5ffe38485fe7..159e409d7dd8c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,6 @@ /tags /TAGS /video/out/x11_icon.inc -/video/out/opengl/nnedi3_weights.inc /demux/ebml_defs.c /demux/ebml_types.h /sub/osd_font.h diff --git a/Copyright b/Copyright index 0ab48a06d8d8f..51a1a16f90fd5 100644 --- a/Copyright +++ b/Copyright @@ -12,9 +12,6 @@ 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/DOCS/man/vo.rst b/DOCS/man/vo.rst index 8a7d235ca3e8e..d59ddbba187e1 100644 --- a/DOCS/man/vo.rst +++ b/DOCS/man/vo.rst @@ -596,13 +596,6 @@ Available video output drivers are: Some parameters can be tuned with ``superxbr-sharpness`` and ``superxbr-edge-strength`` options. - ``nnedi3`` - An artificial neural network based deinterlacer, which can be used - to upscale images. - - Extremely slow and requires a recent mid or high end graphics card - to work smoothly (as of 2015). - ``prescale-passes=<1..5>`` The number of passes to apply the prescaler (defaults to be 1). Setting it to 2 will perform a 4x upscaling. @@ -621,29 +614,6 @@ Available video output drivers are: A value less than 1.0 will disable the check. - ``nnedi3-neurons=<16|32|64|128>`` - Specify the neurons for nnedi3 prescaling (defaults to be 32). The - rendering time is expected to be linear to the number of neurons. - - ``nnedi3-window=<8x4|8x6>`` - Specify the size of local window for sampling in nnedi3 prescaling - (defaults to be ``8x4``). The ``8x6`` window produces sharper images, - but is also slower. - - ``nnedi3-upload=`` - Specify how to upload the NN weights to GPU. Depending on the graphics - card, driver, shader compiler and nnedi3 settings, both method can be - faster or slower. - - ``ubo`` - Upload these weights via uniform buffer objects. This is the - default. (requires OpenGL 3.1 / GLES 3.0) - - ``shader`` - Hard code all the weights into the shader source code. (requires - OpenGL 3.3 / GLES 3.0) - - ``pre-shaders=``, ``post-shaders=``, ``scale-shader=`` Custom GLSL fragment shaders. @@ -954,7 +924,7 @@ Available video output drivers are: angle Direct3D11 through the OpenGL ES translation layer ANGLE. This supports almost everything the ``win`` backend does (if the ANGLE - build is new enough), except the ``nnedi3`` prescaler. + build is new enough). dxinterop (experimental) Win32, using WGL for rendering and Direct3D 9Ex for presentation. Works on Nvidia and AMD. Newer Intel chips with the latest drivers diff --git a/TOOLS/appveyor-build.sh b/TOOLS/appveyor-build.sh index 71ea8c03793ea..f6c94fb90b7c3 100755 --- a/TOOLS/appveyor-build.sh +++ b/TOOLS/appveyor-build.sh @@ -12,7 +12,6 @@ export PYTHON=/usr/bin/python3 --check-c-compiler=gcc \ --disable-cdda \ --enable-egl-angle \ - --enable-gpl3 \ --enable-jpeg \ --enable-lcms2 \ --enable-libarchive \ diff --git a/video/out/opengl/nnedi3.c b/video/out/opengl/nnedi3.c deleted file mode 100644 index 74eb083786289..0000000000000 --- a/video/out/opengl/nnedi3.c +++ /dev/null @@ -1,248 +0,0 @@ -/* - * This file is part of mpv. - * - * mpv is free software; you can redistribute it and/or - * 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. - * - * mpv is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with mpv. If not, see . - * - * 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 -#include -#include - -#include - -#include "video.h" - -/* - * NNEDI3, an intra-field deinterlacer - * - * The original filter was authored by Kevin Stone (aka. tritical) and is - * licensed under GPL2 terms: - * http://bengal.missouri.edu/~kes25c/ - * - * A LGPLv3 licensed OpenCL kernel was created by SEt: - * http://forum.doom9.org/showthread.php?t=169766 - * - * A HLSL port further modified by madshi, Shiandow and Zach Saw could be - * found at (also LGPLv3 licensed): - * https://github.com/zachsaw/MPDN_Extensions - * - */ - -#define GLSL(x) gl_sc_add(sc, #x "\n"); -#define GLSLF(...) gl_sc_addf(sc, __VA_ARGS__) -#define GLSLH(x) gl_sc_hadd(sc, #x "\n"); -#define GLSLHF(...) gl_sc_haddf(sc, __VA_ARGS__) - -const struct nnedi3_opts nnedi3_opts_def = { - .neurons = 1, - .window = 0, - .upload = NNEDI3_UPLOAD_UBO, -}; - -#define OPT_BASE_STRUCT struct nnedi3_opts -const struct m_sub_options nnedi3_conf = { - .opts = (const m_option_t[]) { - OPT_CHOICE("neurons", neurons, 0, - ({"16", 0}, - {"32", 1}, - {"64", 2}, - {"128", 3})), - OPT_CHOICE("window", window, 0, - ({"8x4", 0}, - {"8x6", 1})), - OPT_CHOICE("upload", upload, 0, - ({"ubo", NNEDI3_UPLOAD_UBO}, - {"shader", NNEDI3_UPLOAD_SHADER})), - {0} - }, - .size = sizeof(struct nnedi3_opts), - .defaults = &nnedi3_opts_def, -}; - -const static char nnedi3_weights[40320 * 4 + 1] = -#include "video/out/opengl/nnedi3_weights.inc" -; - -const int nnedi3_weight_offsets[9] = - {0, 1088, 3264, 7616, 16320, 17920, 21120, 27520, 40320}; - -const int nnedi3_neurons[4] = {16, 32, 64, 128}; -const int nnedi3_window_width[2] = {8, 8}; -const int nnedi3_window_height[2] = {4, 6}; - -const float* get_nnedi3_weights(const struct nnedi3_opts *conf, int *size) -{ - int idx = conf->window * 4 + conf->neurons; - const int offset = nnedi3_weight_offsets[idx]; - *size = (nnedi3_weight_offsets[idx + 1] - offset) * 4; - return (const float*)(nnedi3_weights + offset * 4); -} - -void pass_nnedi3(GL *gl, struct gl_shader_cache *sc, int step, - const struct nnedi3_opts *conf, - struct gl_transform *transform) -{ - assert(0 <= step && step < 2); - - if (!conf) - conf = &nnedi3_opts_def; - - const int neurons = nnedi3_neurons[conf->neurons]; - const int width = nnedi3_window_width[conf->window]; - const int height = nnedi3_window_height[conf->window]; - - const int offset = nnedi3_weight_offsets[conf->window * 4 + conf->neurons]; - const uint32_t *weights = (const int*)(nnedi3_weights + offset * 4); - - GLSLF("// nnedi3 (step %d, neurons %d, window %dx%d, mode %d)\n", - step, neurons, width, height, conf->upload); - - // This is required since each row will be encoded into vec4s - assert(width % 4 == 0); - const int sample_count = width * height / 4; - - if (conf->upload == NNEDI3_UPLOAD_UBO) { - char buf[32]; - snprintf(buf, sizeof(buf), "vec4 weights[%d];", - neurons * (sample_count * 2 + 1)); - gl_sc_uniform_buffer(sc, "NNEDI3_WEIGHTS", buf, 0); - if (!gl->es && gl->glsl_version < 140) - gl_sc_enable_extension(sc, "GL_ARB_uniform_buffer_object"); - } else if (conf->upload == NNEDI3_UPLOAD_SHADER) { - // Somehow necessary for hard coding approach. - GLSLH(#pragma optionNV(fastprecision on)) - } - - GLSLHF("float nnedi3() {\n"); - - if (step == 0) { - *transform = (struct gl_transform){{{1.0,0.0}, {0.0,2.0}}, {0.0,-0.5}}; - - GLSLH(if ((transpose(HOOKED_rot) * fract(HOOKED_pos * HOOKED_size)).y < 0.5) - return HOOKED_texOff(vec2(0, 0.25)).x;) - GLSLHF("#define GET(i, j) " - "HOOKED_texOff(vec2((i)-(%f),(j)-(%f)+0.25)).x\n", - width / 2.0 - 1, (height - 1) / 2.0); - } else { - *transform = (struct gl_transform){{{2.0,0.0}, {0.0,1.0}}, {-0.5,0.0}}; - - GLSLH(if (fract(HOOKED_pos.x * HOOKED_size.x) < 0.5) - return HOOKED_texOff(vec2(0.25, 0)).x;) - GLSLHF("#define GET(i, j) " - "HOOKED_texOff(vec2((j)-(%f)+0.25,(i)-(%f))).x\n", - (height - 1) / 2.0, width / 2.0 - 1); - } - - GLSLHF("vec4 samples[%d];\n", sample_count); - - for (int y = 0; y < height; y++) - for (int x = 0; x < width; x += 4) { - GLSLHF("samples[%d] = vec4(GET(%d.0, %d.0), GET(%d.0, %d.0)," - "GET(%d.0, %d.0), GET(%d.0, %d.0));\n", - (y * width + x) / 4, x, y, x+1, y, x+2, y, x+3, y); - } - - GLSLHF("float sum = 0.0, sumsq = 0.0;" - "for (int i = 0; i < %d; i++) {" - "sum += dot(samples[i], vec4(1.0));" - "sumsq += dot(samples[i], samples[i]);" - "}\n", sample_count); - - GLSLHF("float mstd0 = sum / %d.0;\n" - "float mstd1 = sumsq / %d.0 - mstd0 * mstd0;\n" - "float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= %.12e);\n" - "mstd1 *= mstd2;\n", - width * height, width * height, FLT_EPSILON); - - GLSLHF("float vsum = 0.0, wsum = 0.0, sum1, sum2;\n"); - - if (conf->upload == NNEDI3_UPLOAD_SHADER) { - GLSLH(#define T(x) intBitsToFloat(x)) - GLSLH(#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3)))) - - GLSLHF("#define WS(w0,w1) " - "sum1 = exp(sum1 * mstd2 + T(w0));" - "sum2 = sum2 * mstd2 + T(w1);" - "wsum += sum1;" - "vsum += sum1*(sum2/(1.0+abs(sum2)));\n"); - - for (int n = 0; n < neurons; n++) { - const uint32_t *weights_ptr = weights + (sample_count * 2 + 1) * 4 * n; - for (int s = 0; s < 2; s++) { - GLSLHF("sum%d", s + 1); - for (int i = 0; i < sample_count; i++) { - GLSLHF("%cW(%d,%d,%d,%d,%d)", i == 0 ? '=' : '+', i, - (int)av_le2ne32(weights_ptr[0]), - (int)av_le2ne32(weights_ptr[1]), - (int)av_le2ne32(weights_ptr[2]), - (int)av_le2ne32(weights_ptr[3])); - weights_ptr += 4; - } - GLSLHF(";"); - } - GLSLHF("WS(%d,%d);\n", (int)av_le2ne32(weights_ptr[0]), - (int)av_le2ne32(weights_ptr[1])); - } - } else if (conf->upload == NNEDI3_UPLOAD_UBO) { - GLSLH(int idx = 0;) - - GLSLHF("for (int n = 0; n < %d; n++) {\n", neurons); - - for (int s = 0; s < 2; s++) { - GLSLHF("sum%d = 0.0;\n" - "for (int i = 0; i < %d; i++) {" - "sum%d += dot(samples[i], weights[idx++]);" - "}\n", - s + 1, sample_count, s + 1); - } - - GLSLH(sum1 = exp(sum1 * mstd2 + weights[idx][0]); - sum2 = sum2 * mstd2 + weights[idx++][1]; - wsum += sum1; - vsum += sum1*(sum2/(1.0+abs(sum2)));) - - GLSLHF("}\n"); - } - - GLSLH(return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0);) - - GLSLHF("}\n"); // nnedi3 - - GLSL(color.x = nnedi3();) -} - -#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 step, - const struct nnedi3_opts *conf, - struct gl_transform *transform) -{ -} - -#endif diff --git a/video/out/opengl/nnedi3.h b/video/out/opengl/nnedi3.h deleted file mode 100644 index 8cd1a658157de..0000000000000 --- a/video/out/opengl/nnedi3.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * This file is part of mpv. - * - * mpv is free software; you can redistribute it and/or - * 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. - * - * mpv is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with mpv. If not, see . - */ - -#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 - -struct nnedi3_opts { - int neurons; - int window; - int upload; -}; - -extern const struct nnedi3_opts nnedi3_opts_def; -extern const struct m_sub_options nnedi3_conf; - -const float* get_nnedi3_weights(const struct nnedi3_opts *conf, int *size); - -void pass_nnedi3(GL *gl, struct gl_shader_cache *sc, int step, - const struct nnedi3_opts *conf, - struct gl_transform *transform); - -#endif diff --git a/video/out/opengl/nnedi3_weights.bin b/video/out/opengl/nnedi3_weights.bin deleted file mode 100644 index e1659d848c1a2f1fd3d3634dc3444f35576a6cf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161280 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≻LqAO24j~cy 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� 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

9&$OEgs@wMSWs1#Qrn!W79=r=2 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 diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c index 6282d296ccf84..48d777b207103 100644 --- a/video/out/opengl/video.c +++ b/video/out/opengl/video.c @@ -38,7 +38,6 @@ #include "osd.h" #include "stream/stream.h" #include "superxbr.h" -#include "nnedi3.h" #include "video_shaders.h" #include "user_shaders.h" #include "video/out/filter_kernels.h" @@ -196,8 +195,6 @@ struct gl_video { GLuint dither_texture; int dither_size; - GLuint nnedi3_weights_buffer; - struct gl_timer *upload_timer; struct gl_timer *render_timer; struct gl_timer *present_timer; @@ -455,16 +452,12 @@ const struct m_sub_options gl_video_conf = { OPT_CHOICE("prescale-luma", prescale_luma, 0, ({"none", PRESCALE_NONE}, {"superxbr", PRESCALE_SUPERXBR} -#if HAVE_NNEDI - , {"nnedi3", PRESCALE_NNEDI3} -#endif )), OPT_INTRANGE("prescale-passes", prescale_passes, 0, 1, MAX_PRESCALE_PASSES), OPT_FLOATRANGE("prescale-downscaling-threshold", prescale_downscaling_threshold, 0, 0.0, 32.0), OPT_SUBSTRUCT("superxbr", superxbr_opts, superxbr_conf, 0), - OPT_SUBSTRUCT("nnedi3", nnedi3_opts, nnedi3_conf, 0), OPT_SUBSTRUCT("", icc_opts, mp_icc_conf, 0), OPT_REMOVED("approx-gamma", "this is always enabled now"), @@ -594,9 +587,6 @@ static void uninit_rendering(struct gl_video *p) gl->DeleteTextures(1, &p->dither_texture); p->dither_texture = 0; - gl->DeleteBuffers(1, &p->nnedi3_weights_buffer); - p->nnedi3_weights_buffer = 0; - for (int n = 0; n < 4; n++) { fbotex_uninit(&p->merge_fbo[n]); fbotex_uninit(&p->scale_fbo[n]); @@ -1520,27 +1510,6 @@ static int get_prescale_passes(struct gl_video *p) return passes; } -// Upload the NNEDI3 UBO weights only if needed -static void upload_nnedi3_weights(struct gl_video *p) -{ - GL *gl = p->gl; - - if (p->opts.nnedi3_opts->upload == NNEDI3_UPLOAD_UBO && - !p->nnedi3_weights_buffer) - { - gl->GenBuffers(1, &p->nnedi3_weights_buffer); - gl->BindBufferBase(GL_UNIFORM_BUFFER, 0, p->nnedi3_weights_buffer); - - int size; - const float *weights = get_nnedi3_weights(p->opts.nnedi3_opts, &size); - - MP_VERBOSE(p, "Uploading NNEDI3 weights via UBO (size=%d)\n", size); - - // We don't know the endianness of GPU, just assume it's LE - gl->BufferData(GL_UNIFORM_BUFFER, size, weights, GL_STATIC_DRAW); - } -} - // Returns true if two img_texs are semantically equivalent (same metadata) static bool img_tex_equiv(struct img_tex a, struct img_tex b) { @@ -1594,14 +1563,6 @@ static void superxbr_hook(struct gl_video *p, struct img_tex tex, pass_superxbr(p->sc, step, p->opts.superxbr_opts, trans); } -static void nnedi3_hook(struct gl_video *p, struct img_tex tex, - struct gl_transform *trans, void *priv) -{ - int step = (uintptr_t)priv; - upload_nnedi3_weights(p); - pass_nnedi3(p->gl, p->sc, step, p->opts.nnedi3_opts, trans); -} - static void unsharp_hook(struct gl_video *p, struct img_tex tex, struct gl_transform *trans, void *priv) { @@ -1849,19 +1810,6 @@ static void gl_video_setup_hooks(struct gl_video *p) } } - if (p->opts.prescale_luma == PRESCALE_NNEDI3) { - for (int i = 0; i < prescale_passes; i++) { - for (int step = 0; step < 2; step++) { - pass_add_hook(p, (struct tex_hook) { - .hook_tex = "LUMA", - .bind_tex = {"HOOKED"}, - .hook = nnedi3_hook, - .priv = (void *)(uintptr_t)step, - }); - } - } - } - if (p->opts.unsharp != 0.0) { pass_add_hook(p, (struct tex_hook) { .hook_tex = "MAIN", @@ -3283,26 +3231,6 @@ static void check_gl_features(struct gl_video *p) p->opts.deband = 0; MP_WARN(p, "Disabling debanding (GLSL version too old).\n"); } - - if (p->opts.prescale_luma == PRESCALE_NNEDI3) { - if (p->opts.nnedi3_opts->upload == NNEDI3_UPLOAD_UBO) { - // Check features for uniform buffer objects. - if (!gl->BindBufferBase || !gl->GetUniformBlockIndex) { - MP_WARN(p, "Disabling NNEDI3 (%s required).\n", - gl->es ? "OpenGL ES 3.0" : "OpenGL 3.1"); - p->opts.prescale_luma = PRESCALE_NONE; - } - } else if (p->opts.nnedi3_opts->upload == NNEDI3_UPLOAD_SHADER) { - // Check features for hard coding approach. - if ((!gl->es && gl->glsl_version < 330) || - (gl->es && gl->glsl_version < 300)) - { - MP_WARN(p, "Disabling NNEDI3 (%s required).\n", - gl->es ? "OpenGL ES 3.0" : "OpenGL 3.3"); - p->opts.prescale_luma = PRESCALE_NONE; - } - } - } } static void init_gl(struct gl_video *p) diff --git a/video/out/opengl/video.h b/video/out/opengl/video.h index 9e44cf8b06bee..09d05ce449a7f 100644 --- a/video/out/opengl/video.h +++ b/video/out/opengl/video.h @@ -95,7 +95,6 @@ enum blend_subs_mode { enum prescalers { PRESCALE_NONE = 0, PRESCALE_SUPERXBR, - PRESCALE_NNEDI3, }; enum tone_mapping { @@ -147,7 +146,6 @@ struct gl_video_opts { int prescale_passes; float prescale_downscaling_threshold; struct superxbr_opts *superxbr_opts; - struct nnedi3_opts *nnedi3_opts; struct mp_icc_opts *icc_opts; }; diff --git a/wscript b/wscript index aae6fa175eaec..1915f7cd67afb 100644 --- a/wscript +++ b/wscript @@ -10,11 +10,6 @@ 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', diff --git a/wscript_build.py b/wscript_build.py index 6ed412a1ffdb4..209df5f624bf0 100644 --- a/wscript_build.py +++ b/wscript_build.py @@ -67,10 +67,6 @@ def build(ctx): source = "sub/osd_font.otf", target = "sub/osd_font.h") - ctx.file2string( - source = "video/out/opengl/nnedi3_weights.bin", - target = "video/out/opengl/nnedi3_weights.inc") - lua_files = ["defaults.lua", "assdraw.lua", "options.lua", "osc.lua", "ytdl_hook.lua"] for fn in lua_files: @@ -356,7 +352,6 @@ def build(ctx): ( "video/out/opengl/hwdec_osx.c", "videotoolbox-gl" ), ( "video/out/opengl/hwdec_vdpau.c", "vdpau-gl-x11" ), ( "video/out/opengl/lcms.c", "gl" ), - ( "video/out/opengl/nnedi3.c", "gl" ), ( "video/out/opengl/osd.c", "gl" ), ( "video/out/opengl/superxbr.c", "gl" ), ( "video/out/opengl/user_shaders.c", "gl" ),