This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Hybrid 2022.03.20.1: No module named 'vsdpir'
#71
Problem solved.

After having installed the last version I have to install over the file "VapoursynthR57_torch_2022.03.31.7z"

Regarding the problem of DLL already loaded. I noted that in the error message there is the path of DLL loaded

vapoursynth.Error: Plugin D:/Programs/Hybrid/64bit/vsfilters/DenoiseFilter/KNLMeansCL/KNLMeansCL.dll already loaded (com.Khanattila.KNLMeansCL) from D:/Programs/VapourSynth64Portable/VapourSynth64/vapoursynth64/plugins/KNLMeansCL.dll

So it seems that the new version of Vapoursynth R57 has gotten dumber or smarter (it depends on point of view) and now is able to find DLLs which are not included in the O.S. PATH. I really don't understand why the R57 was able to find the DLL "D:\Programs\VapourSynth64Portable\VapourSynth64\vapoursynth64\plugins\KNLMeansCL.dll" which is stored on a different directory level respect to Hybrid Vapoursynth which is stored in "D:\Programs\Hybrid\64bit\Vapoursynth".

I moved the portable version elsewhere and now is not more loaded and Hybrid is working as expected, but this behaviour is very dangerous.
Reply
#72
Probably some registry key.
Quote:I moved the portable version elsewhere and now is not more loaded and Hybrid is working as expected, but this behaviour is very dangerous.
Yup, but aside nagging the authors for adding a 'don't autoload' option that can be called from scripts there's nothing I can do about it.

Cu Selur
Reply
#73
Just as a small update:
using:
import site
# Import libraries for onnxruntime
import ctypes
path = site.getsitepackages()[0]+'/onnxruntime_dlls/'
ctypes.windll.kernel32.SetDllDirectoryW(path)
instead of loading the libraries one at a time works fine too.
(sadly it doesn't help with the crash when vsrife is used while onnxruntime is loaded.)

Cu Selur
Reply
#74
From VapourSynth documentation

Windows

Windows has in total 3 different autoloading directories: user plugins, core plugins and global plugins. They are searched in that order. User plugins are always loaded first so that the current user can always decide which exact version of a plugin is used. Core plugins follow. Global plugins are placed last to prevent them from overriding any of the included plugins by accident.

The searched paths are:

  1. <AppData>\VapourSynth\plugins32 or <AppData>\VapourSynth\plugins64
  2. <VapourSynth path>\core32\plugins or <VapourSynth path>\core64\plugins
  3. <VapourSynth path>\plugins32 or <VapourSynth path>\plugins64
Note that the per user path is not created by default. On modern Windows versions the AppData directory is located in <user>\AppData\Roaming by default.

Shortcuts to the global autoload directory are located in the start menu.

Avisynth plugins are never autoloaded. Support for this may be added in the future.

User plugins should never be put into the core\plugins directory.

Windows Portable

The searched paths are:

  1. <VapourSynth.dll path>\vapoursynth32\coreplugins or <VapourSynth.dll path>\vapoursynth64\coreplugins
  2. <VapourSynth.dll path>\vapoursynth32\plugins or <VapourSynth.dll path>\vapoursynth64\plugins
User plugins should never be put into the coreplugins directory.

In my case the portable version was located in "D:\Programs\VapourSynth64Portable\VapourSynth64"

In my installation VapourSynth.dll used by Hybrid is located in "D:\Programs\Hybrid\64bit\Vapoursynth" the KNLMeansCL.dll located by "autoload" was in the directory "D:\Programs\VapourSynth64Portable\VapourSynth64\vapoursynth64\plugins", while following the documentation the search paths used by the autoload should be:

"D:\Programs\Hybrid\64bit\Vapoursynth\core64\plugins"
"D:\Programs\Hybrid\64bit\Vapoursynth\plugins64"
"D:\Programs\Hybrid\64bit\Vapoursynth\Vapoursynth64\coreplugins"
"D:\Programs\Hybrid\64bit\Vapoursynth\Vapoursynth64\plugins"

of these directories only the last 2 are present and are almost empty, so I still don't understand how was possible the autoload of KNLMeansCL.dll in "D:\Programs\Hybrid\64bit\Vapoursynth".
Reply
#75
I think you are mixing stuff there.

Quote:vapoursynth.Error: Plugin D:/Programs/Hybrid/64bit/vsfilters/DenoiseFilter/KNLMeansCL/KNLMeansCL.dll already loaded (com.Khanattila.KNLMeansCL) from D:/Programs/VapourSynth64Portable/VapourSynth64/vapoursynth64/plugins/KNLMeansCL.dll
where:
"D:/Programs/VapourSynth64Portable/VapourSynth64/vapoursynth64/plugins/KNLMeansCL.dll" was autoloaded
and
" D:/Programs/Hybrid/64bit/vsfilters/DenoiseFilter/KNLMeansCL/KNLMeansCL.dll"
was explicitly loaded in the script.
The viewer you used used the VapourSynth64Portable and thus autoloaded the libraries from "D:/Programs/VapourSynth64Portable/VapourSynth64/vapoursynth64/plugins/" and ran into a conflict since "D:/Programs/Hybrid/64bit/vsfilters/DenoiseFilter/KNLMeansCL/KNLMeansCL.dll" was explicitly loaded.

Cu Selur
Reply
#76
No, this was not my test condition. In order to be sure that the proper Vapoursynth version was loaded. I opened a command window in the directory "D:\Programs\Hybrid\64bit\Vapoursynth" where is located the "Vapoursynth.dll" used by Hybrid, then I executed the commands described in my previous post, and in this case I received the error regarding the DLL already loaded. In my tests with vsViewer the error was related to y4m header. But fixing the problem of DLLs path fixed also the problem regarding the y4m header.
Reply
#77
But, the error message clearly says that "D:/Programs/VapourSynth64Portable/VapourSynth64/vapoursynth64/plugins/KNLMeansCL.dll" was autoloaded.
Never the less I'm happy you figured out what was causing the issues on your system. Smile

Cu Selur
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)