Log in

View Full Version : nnedi3cl


Pages : 1 [2]

HolyWu
20th April 2018, 02:53
What version of boost is required for make? Ubuntu 16.04 provides 1.58:

At least 1.61, since the Compute library was added at that version.

Selur
17th February 2019, 02:13
On Windows 10 and a Geforce GTX 1070 Ti with the latest 419.81 drivers I get:
NNEDI3CL: device index out of range
GPU Caps Viewer indicates that OpenCL 1.2 is supported,..
anyone else having issues with these drivers or is this probably something totally different? (not totally sure it's the drivers and not something else,.. ;))

Cu Selur

HolyWu
17th February 2019, 02:46
On Windows 10 and a Geforce GTX 1070 Ti with the latest 419.81 drivers I get:
NNEDI3CL: device index out of range
GPU Caps Viewer indicates that OpenCL 1.2 is supported,..
anyone else having issues with these drivers or is this probably something totally different? (not totally sure it's the drivers and not something else,.. ;))

Cu Selur

Did you manually specify device argument? What's the output of list_device=True?

Selur
17th February 2019, 09:42
Did you manually specify device argument?
No.
What's the output of list_device=True?
not sure I know how to to this properly, using:
# Imports
import os
import sys
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/OpenCL.dll")
import vapoursynth as vs
core = vs.get_core()
# Import scripts folder
scriptPath = 'I:/Hybrid/64bit/vsscripts'
sys.path.append(os.path.abspath(scriptPath))
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2k.dll")
# Import scripts
import edi_rpow2
# Loading F:\TestClips&Co\files\test.avi using FFMS2K
clip = core.ffms2.Source(source="F:/TESTCL~1/files/test.avi",cachefile="E:/Temp/avi_078c37f69bb356e7b5fa040c71584c40_853323747.ffindex",format=vs.YUV420P8,alpha=False)
# using NNEDI3CL
clip = core.nnedi3cl.NNEDI3CL(clip, field=1, list_device=True, info=True)
# Output
clip.set_output()
I see no info whatsoever anywhere in the output.

HolyWu
17th February 2019, 09:57
No.

not sure I know how to to this properly, using:
clip = core.nnedi3cl.NNEDI3CL(clip, field=1, list_device=True, info=True)
I see no info whatsoever anywhere in the output.

You gotta preview the script since the content is drawn on the frame. By the way list_device and info are mutually exclusive. Only activate either or another.

Selur
17th February 2019, 09:58
using:
# Imports
import os
import sys
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/OpenCL.dll")
import vapoursynth as vs
core = vs.get_core()
# Import scripts folder
scriptPath = 'I:/Hybrid/64bit/vsscripts'
sys.path.append(os.path.abspath(scriptPath))
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2k.dll")
# Import scripts
import edi_rpow2
# Loading F:\TestClips&Co\files\test.avi using FFMS2K
clip = core.ffms2.Source(source="F:/TESTCL~1/files/test.avi",cachefile="E:/Temp/avi_078c37f69bb356e7b5fa040c71584c40_853323747.ffindex",format=vs.YUV420P8,alpha=False)
# using NNEDI3CL
clip = core.nnedi3cl.NNEDI3CL(clip, field=1, info=True)
# Output
clip.set_output()
I get, still get:
NNEDI3CL: No OpenCL device found
Sorry, I think that should have been the error message to begin with. :/

Selur
17th February 2019, 10:05
Argh,.. got it. It's a problem with the OpenCL.dll I loaded.
removing the
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/OpenCL.dll")
line fixed the problem.
Thanks for bearing with me. :)

Tima
29th September 2019, 03:33
I'm using QTGMC with opencl=True and sometimes (like 1 out of 20 times) get this crash at the start:

> ucrtbase.dll!abort() Unknown
ucrtbase.dll!terminate() Unknown
vcruntime140.dll!FindHandler<__FrameHandler3>(EHExceptionRecord * pExcept, unsigned __int64 * pRN, _CONTEXT * pContext, _xDISPATCHER_CONTEXT * pDC, const _s_FuncInfo * pFuncInfo, unsigned char recursive, int CatchDepth, unsigned __int64 * pMarkerRN) Line 538 C++
vcruntime140.dll!__InternalCxxFrameHandler<__FrameHandler3>(EHExceptionRecord * pExcept, unsigned __int64 * pRN, _CONTEXT * pContext, _xDISPATCHER_CONTEXT * pDC, const _s_FuncInfo * pFuncInfo, int CatchDepth, unsigned __int64 * pMarkerRN, unsigned char recursive) Line 387 C++
vcruntime140.dll!__CxxFrameHandler3(EHExceptionRecord * pExcept, unsigned __int64 RN, _CONTEXT * pContext, _xDISPATCHER_CONTEXT * pDC) Line 264 C++
ntdll.dll!RtlpExecuteHandlerForException() Unknown
ntdll.dll!RtlDispatchException() Unknown
ntdll.dll!RtlRaiseException() Unknown
[External Code]
msvcp140.dll!std::_Xout_of_range(const char * _Message) Line 24 C++
NNEDI3CL.dll!00007ffa7e122c26() Unknown
NNEDI3CL.dll!00007ffa7e1181e3() Unknown
vapoursynth.dll!VSNode::getFrameInternal(int n, int activationReason, VSFrameContext & frameCtx) Line 854 C++
vapoursynth.dll!VSThreadPool::runTasks(VSThreadPool * owner, std::atomic<bool> & stop) Line 214 C++
[External Code]


Windows 10 x64, GeForce 1080Ti, latest (436.30) driver.

HolyWu
30th September 2019, 09:09
I'm using QTGMC with opencl=True and sometimes (like 1 out of 20 times) get this crash at the start:

Please test the two DLLs in https://www.mediafire.com/file/s3i2r7pn0ywyggy/NNEDI3CL_test.7z/file and see which one (or none) works.

Tima
30th September 2019, 15:00
Please test the two DLLs in https://www.mediafire.com/file/s3i2r7pn0ywyggy/NNEDI3CL_test.7z/file and see which one (or none) works.

Checked both with BlankClip(keep=false) sample.

test1 crashes differently and much less frequently:


> OpenCL.dll!00007ffa82ba17a9() Unknown
NNEDI3CL.dll!00007ffa82b3d012() Unknown
NNEDI3CL.dll!00007ffa82b3763c() Unknown
NNEDI3CL.dll!00007ffa82b374d2() Unknown
[Inline Frame] vapoursynth.dll!VSCore::destroyFilterInstance(VSNode *) Line 1223 C++
[Inline Frame] vapoursynth.dll!VSNode::{dtor}() Line 820 C++
vapoursynth.dll!VSNode::`scalar deleting destructor'(unsigned int) C++
[Inline Frame] vapoursynth.dll!std::_Ref_count_base::_Decref() Line 770 C++
[Inline Frame] vapoursynth.dll!std::_Ptr_base<VSNode>::_Decref() Line 988 C++
[Inline Frame] vapoursynth.dll!std::shared_ptr<VSNode>::{dtor}() Line 1233 C++
vapoursynth.dll!freeNode(VSNodeRef * clip) Line 148 C++
[External Code]



test2 did never crash.

HolyWu
1st October 2019, 11:16
@Tima Thanks for testing.

Update r8:

Fix potential data races and crash issue.

subterrestrial
26th December 2019, 12:09
seeking for help: I can't figure out what the problem is. When my OS was Win8.1, everything went fine, after installing Win10 LTSB 2016 as an OS, the NNEDI3CL won't work anymore, no matter how I reinstalled Python and VS with different versions.
The VS editor shows:
"Python exception: No attribute with the name nnedi3cl exists. Did you mistype a plugin namespace?
src = core.tdm.TDeintMod(clip, order=1, field=-1, mode=0, opt=3, edeint=core.nnedi3cl.NNEDI3CL(clip, field=1,nns=2))
File "src\cython\vapoursynth.pyx", line 1539, in vapoursynth.Core.__getattr__
AttributeError: No attribute with the name nnedi3cl exists. Did you mistype a plugin namespace?"
,while using nnedi3 like "core.tdm.TDeintMod(clip, order=1, field=-1, mode=0, opt=3, edeint=core.nnedi3.nnedi3(clip, field=1,nns=2))" shows no error. I changed python version from 3.7.1 to 3.7.5, VS version from 4.5 to 4.8, NNEDI3CL version from R6 to R8, the error report remained the same. Besides, I also tried installing and uninstalling both x86 and x64 version of VC++ redistributable 2005, 2008, 2010, 2012, 2013, 2019, but it still didn't work.
As not major in programming, I can't compiling the source code to a dll file in my own PC, so now I really met this problem that I don't know how to figure out myself, does anyone kindly do me a favour showing me how to solve the problem, I will really be grateful for it.

Selur
26th December 2019, 12:58
Have you tried loading the dll explicitly? using something like:
core.std.LoadPlugin(path="PATH TO THE .dll with slashes instead of backslashes")
Might be a problem with the auto loading,... (a problem with a dependency should throw another error)
Also znedi3 (https://github.com/sekrit-twc/znedi3) or NNEDI3CL (https://github.com/HomeOfVapourSynthEvolution/VapourSynth-NNEDI3CL) might be worth a look.

Cu Selur

subterrestrial
26th December 2019, 16:54
Thank you for your reply, I tried adding the code of loading NNEDI3CL.dll like this: core.std.LoadPlugin(r"D:\Programs\VapourSynth\plugins\NNEDI3CL.dll"), but the VS editor still teported error:
"Python exception: Failed to load D:\Programs\VapourSynth\plugins\NNEDI3CL.dll. GetLastError() returned 126. The file you tried to load or one of its dependencies is probably missing."
I have put nnedi3_weights.bin file in the same folder as NNEDI3CL.dll, since libnnedi3.dll also need this file and it works fine, I don't think nnedi3_weights.bin was the problem. Additionally, I also checked GPU-Z, it showed that my GPU driver already support openCL, actually, my GPU driver is the same as that used in win8.1 OS which support NNEDI3CL very well.
So, I exclude the nnedi3_weights.bin and GPU driver from the reason that might cause this problem. I guess there may be some compatible issues between win10 LTSB 2016 and NNEDI3CL.dll, it seems that I need to set up a new OS using the newest win10 version to find out if the OS was the problem. Anyway, thank you for such a quick reply, I don't expect it can be solved soon, since it has bothered me for quite a while.

HolyWu
27th December 2019, 03:44
seeking for help: I can't figure out what the problem is. When my OS was Win8.1, everything went fine, after installing Win10 LTSB 2016 as an OS, the NNEDI3CL won't work anymore, no matter how I reinstalled Python and VS with different versions.
The VS editor shows:
"Python exception: No attribute with the name nnedi3cl exists. Did you mistype a plugin namespace?

My wild guess is that OpenCL.dll can't be found on your system. Try reinstalling the latest display driver first.

subterrestrial
27th December 2019, 11:03
It works, after I updated the GPU driver to a little newer version. Thank you. I really appreciate your help. Your wild guess hit the target directly. It never occured to me that opencl.dll in GPU driver may also cause compatible issues. It turned out that my reluctance to update GPU driver was the very cause that resulted in this annoying problem.

neo_sapien
17th October 2020, 13:41
Hello, I'm new to using nnedi3cl and I'm trying to use it to enlarge from 480p to 960p. The content I'm using it on has already been made progressive in QTGMC earlier in my script, so I'm only using nnedi3cl to enlarge. Does this script look alright?


clip = core.nnedi3cl.NNEDI3CL(clip, field = 1, pscrn=2, nsize=4, qual =2, nns =4, dh=True, dw=True)

Jukus
2nd April 2021, 21:03
What about nnedi3-vulkan, does that make sense?