Selur
20th September 2020, 13:03
I'm trying to get vcm.fan (and others) working using portable 64bit Vapoursynth.
when using:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll")
# loading source: F:\TestClips&Co\files\10bit Test.mkv
# color sampling YUV420P10@10, matrix:470bg, scantyp: progressive
# luminance scale TV
# resolution: 640x352
# frame rate: -1 fps
# input color space: YUV420P10, bit depth: 10, resolution: 640x352, fps: 25
# Loading F:\TestClips&Co\files\10bit Test.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="F:/TestClips&Co/files/10bit Test.mkv", format="YUV420P10", cache=0)
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg",range_s="limited")
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
clip = core.vcm.fan(clip=clip,span=1,edge=1,uv=1,plus=0.02,minus=0.02)
# Output
clip.set_output()
I get:
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript
File "src\cython\vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript
File "C:\Users\Selur\Desktop\test.vpy", line 6, in <module>
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll")
File "src\cython\vapoursynth.pyx", line 2069, in vapoursynth.Function.__call__
vapoursynth.Error: Failed to load I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll. GetLastError() returned 126. The file you tried to load or one of its dependencies is probably missing.
Okay, since it's a domain frequency filter it might depend on fft3w (even so neither the Avisynth documentation of http://www.avisynth.nl/users/vcmohan/FanFilter/FanFilter.html or the fan.html which comes with the plugin mentions it).
So I modified the script to:
# Imports
import os
import sys
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # I tested with libfftw3f-3, libfftw3l-3, libfftw3-3
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll")
# loading source: F:\TestClips&Co\files\10bit Test.mkv
# color sampling YUV420P10@10, matrix:470bg, scantyp: progressive
# luminance scale TV
# resolution: 640x352
# frame rate: -1 fps
# input color space: YUV420P10, bit depth: 10, resolution: 640x352, fps: 25
# Loading F:\TestClips&Co\files\10bit Test.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="F:/TestClips&Co/files/10bit Test.mkv", format="YUV420P10", cache=0)
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg",range_s="limited")
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
clip = core.vcm.fan(clip=clip,span=1,edge=1,uv=1,plus=0.02,minus=0.02)
# Output
clip.set_output()
sadly that didn't help and the error is basically the same:
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript
File "src\cython\vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript
File "C:\Users\Selur\Desktop\test.vpy", line 11, in <module>
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll")
File "src\cython\vapoursynth.pyx", line 2069, in vapoursynth.Function.__call__
vapoursynth.Error: Failed to load I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll. GetLastError() returned 126. The file you tried to load or one of its dependencies is probably missing.
So I thought using 64bit Dependency Walker (http://www.dependencywalker.com/) might shed some light on the problem, but loading the vcm.dll it only shows (https://ibb.co/3WnnCLx) kernel32.dll, MSVCP120.dll, MSVCR120.dll as dependencies all present and accounted for.
Does anyone have a clue what dependency I'm missing?
Thanks!
Cu Selur
when using:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll")
# loading source: F:\TestClips&Co\files\10bit Test.mkv
# color sampling YUV420P10@10, matrix:470bg, scantyp: progressive
# luminance scale TV
# resolution: 640x352
# frame rate: -1 fps
# input color space: YUV420P10, bit depth: 10, resolution: 640x352, fps: 25
# Loading F:\TestClips&Co\files\10bit Test.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="F:/TestClips&Co/files/10bit Test.mkv", format="YUV420P10", cache=0)
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg",range_s="limited")
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
clip = core.vcm.fan(clip=clip,span=1,edge=1,uv=1,plus=0.02,minus=0.02)
# Output
clip.set_output()
I get:
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript
File "src\cython\vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript
File "C:\Users\Selur\Desktop\test.vpy", line 6, in <module>
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll")
File "src\cython\vapoursynth.pyx", line 2069, in vapoursynth.Function.__call__
vapoursynth.Error: Failed to load I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll. GetLastError() returned 126. The file you tried to load or one of its dependencies is probably missing.
Okay, since it's a domain frequency filter it might depend on fft3w (even so neither the Avisynth documentation of http://www.avisynth.nl/users/vcmohan/FanFilter/FanFilter.html or the fan.html which comes with the plugin mentions it).
So I modified the script to:
# Imports
import os
import sys
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # I tested with libfftw3f-3, libfftw3l-3, libfftw3-3
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll")
# loading source: F:\TestClips&Co\files\10bit Test.mkv
# color sampling YUV420P10@10, matrix:470bg, scantyp: progressive
# luminance scale TV
# resolution: 640x352
# frame rate: -1 fps
# input color space: YUV420P10, bit depth: 10, resolution: 640x352, fps: 25
# Loading F:\TestClips&Co\files\10bit Test.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="F:/TestClips&Co/files/10bit Test.mkv", format="YUV420P10", cache=0)
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg",range_s="limited")
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
clip = core.vcm.fan(clip=clip,span=1,edge=1,uv=1,plus=0.02,minus=0.02)
# Output
clip.set_output()
sadly that didn't help and the error is basically the same:
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript
File "src\cython\vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript
File "C:\Users\Selur\Desktop\test.vpy", line 11, in <module>
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll")
File "src\cython\vapoursynth.pyx", line 2069, in vapoursynth.Function.__call__
vapoursynth.Error: Failed to load I:/Hybrid/64bit/vsfilters/MiscFilter/vcm.dll. GetLastError() returned 126. The file you tried to load or one of its dependencies is probably missing.
So I thought using 64bit Dependency Walker (http://www.dependencywalker.com/) might shed some light on the problem, but loading the vcm.dll it only shows (https://ibb.co/3WnnCLx) kernel32.dll, MSVCP120.dll, MSVCR120.dll as dependencies all present and accounted for.
Does anyone have a clue what dependency I'm missing?
Thanks!
Cu Selur