View Full Version : VapourSynth Portable FATPACK - 64Bit, Editor, Plugins, Scripts, Apps & endless FUN!


ChaosKing
14th June 2018, 20:45
*BETA* Tested on Win10 and Windows Server 2016
:helpful:
I made a portable VS fat pack (or beginners pack), bundled with nearly all plugins and many usefull scripts. Download, extract and have fun. No hunting for pythons or plugins required.
If your favorite script or plugin is missing, please tell it my supervisor below.

There won't be a 32 bit version. Please test and report.

Todos:
Github issues (https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/issues)

Download
Github releases (https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/releases)

old releases:
2018-12-19 (https://www.dropbox.com/s/xew2qpov7k6rmak/VapourSynth64Portable_2018_12_19.7z?dl=1)
2018-10-23 (https://www.dropbox.com/s/l7eycf6leg0obqb/VapourSynth64Portable_2018-10-23.7z?dl=1)
2018-07-28 (https://www.dropbox.com/s/5eir0m9t6g3qil2/VapourSynth64Portable_2018_07_28.7z?dl=1)
2018-07-26 (https://www.dropbox.com/s/5ct1za6mnszc83y/VapourSynth64Portable_2018-07-26.7z?dl=1)
2018-07-13 (https://www.dropbox.com/s/6sruz4lvd2i9wag/VapourSynth64Portable_2018-07-13.7z?dl=1)

seek-test (https://www.dropbox.com/s/45pqnaslap2er6b/seek-test.zip?dl=1)

BilateralGPU needs aditional dependencies (or go to page 4):
- https://mega.nz/#!3ygkwKIA!Oa1vAO9FKjwd7ptr1CRSSwgCrId4Y_IMddHZeSEcAeA
- https://mega.nz/#!ejAUSCjD!x-s9Aqr95iVWY8-NWloaNLMsEuh6o9JEroASOJY0bt8
- https://mega.nz/#!vqYi3SSL!4k11VV6d4YUmAjDUHXJeEcigI1OsvHYpriJzQlS2DRs


Changelog
Full version: https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/blob/master/CHANGELOG.md

2019-03-xx
- Add getnative (get the native resolution(s) of upscaled material)
- Add Butteraugli, FFTSpectrum
- Update Retinex, FFMS2 (thx @Wolfberry https://forum.doom9.org/showthread.php?p=1867896#post1867896), fmtconv (compiled by Wolfberry)
- Update python to 3.7.2
- Update fftw3 to 3.3.8, thx @Wolfberry - https://forum.doom9.org/showthread.php?p=1864138#post1864138
- Add VFW "install" script, so that VDub and co can read vpy files

2018-12-19
- Update Yuuno to 1.1
- Update plugins/scripts
- update encoder binaries
- Add seek-test.py MOD, Reliability tester of VapourSynth Source Filters (thx @dubhater)
- Update ffms2 (av1 support) thx @ HolyWu (https://forum.doom9.org/showthread.php?p=1858199#post1858199)


Contents:
Vapoursynth Portable FATPACK
--------------------
VapourSynth R44 64bit https://github.com/vapoursynth/vapoursynth/releases
Python 3.7.2 https://www.python.org/downloads/
VapourSynth Editor r19 https://forum.doom9.org/showthread.php?t=170965
D2V Witch v2 https://github.com/dubhater/D2VWitch
Wobbly/Wibbly v4 https://github.com/dubhater/Wobbly, https://forum.doom9.org/showthread.php?t=172496
fftw3 3.3.8 https://forum.videohelp.com/threads/388908-fftw-3-3-7-DLLs, http://www.fftw.org/install/windows.html
Yuuno Editor 1.2 https://github.com/Irrational-Encoding-Wizardry/yuuno
VapourSynth Multi-Viewer 0.9.1 https://forum.doom9.org/showthread.php?t=175581

x264 r2901 compiled by LigH https://www.mediafire.com/?bxvu1vvld31k1
x265 2.8+19 compiled by LigH https://www.mediafire.com/?6lfp2jlygogwa

Scripts
--------------------
adjust.py https://forum.doom9.org/showthread.php?t=172808, https://github.com/dubhater/vapoursynth-adjust, https://github.com/dubhater/vapoursynth-adjust
ASTDR.py https://github.com/dubhater/vapoursynth-astdr
bakafunc.py https://github.com/BakaProxy/Baka-Utilities, https://forum.doom9.org/showthread.php?t=173257
colorfade.py https://github.com/tormaid/colorfade
CSMOD.py https://github.com/fdar0536/VapourSynth-Contra-Sharpen-mod, https://www.nmm-hd.org/newbbs/viewtopic.php?t=1809
Dither.py https://github.com/IFeelBloated/VaporSynth-Functions
edi_rpow2.py https://gist.github.com/YamashitaRen/020c497524e794779d9c, https://forum.doom9.org/showthread.php?t=172652
EDIResample.py https://github.com/IFeelBloated/VaporSynth-Functions
fast_deblock.py https://forum.doom9.org/showthread.php?p=1780389#post1780389, https://forum.doom9.org/showthread.php?p=1780389#post1780389
finesharp.py https://gist.github.com/4re/8676fd350d4b5b223ab9, https://forum.doom9.org/showthread.php?p=1777860#post1777860, https://forum.doom9.org/showthread.php?p=1846494#post1846494
fvsfunc.py https://github.com/Irrational-Encoding-Wizardry/fvsfunc
havsfunc.py https://github.com/HomeOfVapourSynthEvolution/havsfunc, https://forum.doom9.org/showthread.php?t=166582
insaneAA.py https://github.com/DJATOM/VapourSynth-insaneAA
kagefunc.py https://github.com/Irrational-Encoding-Wizardry/kagefunc
MFunc.py https://github.com/MonoS/MonoS-VS-Func
mfturd.py https://gist.github.com/Frechdachs/b3a05afe2f7d25316a10cf7239d53d0c, https://forum.doom9.org/showthread.php?t=174502, http://avisynth.nl/index.php/MfToon
muvsfunc.py https://github.com/WolframRhodium/muvsfunc
mvmulti.py https://github.com/IFeelBloated/vapoursynth-mvtools-sf/blob/master/src/mvmulti.py, https://forum.doom9.org/showthread.php?t=172525
mvsfunc.py https://github.com/HomeOfVapourSynthEvolution/mvsfunc, https://forum.doom9.org/showthread.php?t=172564
nnedi3_resample.py https://github.com/mawen1250/VapourSynth-script
Oyster.py https://github.com/IFeelBloated/Oyster, https://forum.doom9.org/showthread.php?t=173470
Plum.py https://github.com/IFeelBloated/Plum, https://forum.doom9.org/showthread.php?t=173775
RainbowSmooth.py https://github.com/dubhater/vapoursynth-smoothuv, https://forum.doom9.org/showthread.php?t=175520
sharpaamcmod.py https://gist.github.com/4re/8fee7aa32ba9ac566ed0
temporalsoften2.py https://forum.doom9.org/showthread.php?t=166769, https://forum.doom9.org/showthread.php?t=166769
Vine.py https://github.com/IFeelBloated/Vine, https://forum.doom9.org/showthread.php?t=173703
vsTAAmbk.py https://github.com/HomeOfVapourSynthEvolution/vsTAAmbk



Plugins
--------------------
AddGrain https://github.com/HomeOfVapourSynthEvolution/VapourSynth-AddGrain
AutoCrop https://github.com/Irrational-Encoding-Wizardry/vapoursynth-autocrop, https://forum.doom9.org/showthread.php?t=174542
Avisynth 32-bit proxy https://github.com/sekrit-twc/avsproxy, https://forum.doom9.org/showthread.php?t=175141
aWarpSharp2 https://github.com/dubhater/vapoursynth-awarpsharp2
Bifrost https://github.com/dubhater/vapoursynth-bifrost
Bilateral https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Bilateral
BilateralGPU https://github.com/WolframRhodium/VapourSynth-BilateralGPU
BM3D https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D
Cnr2 https://github.com/dubhater/vapoursynth-cnr2
ColorBars https://github.com/ifb/vapoursynth-colorbars
CombMask https://github.com/chikuzen/CombMask/tree/master/vapoursynth
ContinuityFixer https://github.com/MonoS/VS-ContinuityFixer
CTMF https://github.com/HomeOfVapourSynthEvolution/VapourSynth-CTMF
D2V Source https://github.com/dwbuiten/d2vsource, https://forum.doom9.org/showthread.php?t=166399
damb https://github.com/dubhater/vapoursynth-damb, https://forum.doom9.org/showthread.php?t=171555
dct
DCTFilter https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DCTFilter
Deblock https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Deblock
DeCross https://github.com/dubhater/vapoursynth-decross, https://forum.doom9.org/showthread.php?t=175527, http://avisynth.nl/index.php/DeCross
DegrainMedian https://github.com/dubhater/vapoursynth-degrainmedian
DeLogo https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DeLogo
DePan https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DePan
Descale https://github.com/BluBb-mADe/vapoursynth-descale
Descale https://github.com/Irrational-Encoding-Wizardry/vapoursynth-descale
DFTTest https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest
DGMVCSource https://github.com/kice/DGMVCSourceVS
DotKill https://github.com/myrsloik/DotKill, https://forum.doom9.org/showthread.php?t=173029
dpid https://github.com/WolframRhodium/VapourSynth-dpid
EEDI2 https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI2
EEDI3 https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI3
FFMS2000 https://forum.doom9.org/showthread.php?t=174469
FFT3DFilter https://github.com/myrsloik/VapourSynth-FFT3DFilter, https://forum.doom9.org/showthread.php?t=175199
FieldHint https://github.com/dubhater/vapoursynth-fieldhint
FillBorders https://github.com/dubhater/vapoursynth-fillborders
Fix-Telecined-Fades https://github.com/IFeelBloated/Fix-Telecined-Fades
flash3kyuu_deband https://github.com/SAPikachu/flash3kyuu_deband, https://forum.doom9.org/showthread.php?t=161411
FluxSmooth https://github.com/dubhater/vapoursynth-fluxsmooth
fmtconv https://github.com/EleonoreMizo/fmtconv, https://forum.doom9.org/showthread.php?t=166504
GradCurve https://github.com/xekon/GradCurve, https://forum.doom9.org/showthread.php?t=174096
Histogram https://github.com/dubhater/vapoursynth-histogram
hqdn3d https://github.com/Hinterwaeldlers/vapoursynth-hqdn3d
ImageMagick https://forum.doom9.org/showthread.php?t=170981
IT https://github.com/HomeOfVapourSynthEvolution/VapourSynth-IT
KNLMeansCL https://github.com/Khanattila/KNLMeansCL
L-SMASH-Works https://github.com/VFR-maniac/L-SMASH-Works
MiniDeen https://forum.doom9.org/showthread.php?t=175587
minsrp https://github.com/IFeelBloated/minsrp
MotionMask https://forum.doom9.org/showthread.php?t=175542
MSmooth https://github.com/dubhater/vapoursynth-msmoosh
MVTools https://github.com/dubhater/vapoursynth-mvtools
MVTools-Float https://github.com/IFeelBloated/vapoursynth-mvtools-sf
nnedi3 https://github.com/dubhater/vapoursynth-nnedi3
NNEDI3CL https://github.com/HomeOfVapourSynthEvolution/VapourSynth-NNEDI3CL
QRCodeSource https://github.com/jeremypoulter/QRCodeSource
ReadMpls https://github.com/HomeOfVapourSynthEvolution/VapourSynth-ReadMpls
RemoveDirt https://github.com/handaimaoh/removedirtvs, https://forum.doom9.org/showthread.php?t=169771
RemoveGrain Single Precision https://github.com/IFeelBloated/RGSF
Retinex https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Retinex
SangNom https://bitbucket.org/James1201/vapoursynth-sangnom
scenechange detection https://forum.doom9.org/showthread.php?t=166769
scrawl https://github.com/dubhater/vapoursynth-scrawl
Scxvid https://github.com/dubhater/vapoursynth-scxvid
SmoothUV https://github.com/dubhater/vapoursynth-smoothuv, https://forum.doom9.org/showthread.php?t=175520, http://avisynth.nl/index.php/SmoothUV
SSIQ https://github.com/dubhater/vapoursynth-ssiq
surfaceblur https://github.com/MoePus/VapourSynth-surfaceBlur
SVPflow https://www.svp-team.com/wiki/Manual:SVPflow, https://forum.doom9.org/showthread.php?t=164554
SVPflow https://www.svp-team.com/wiki/Manual:SVPflow, https://forum.doom9.org/showthread.php?t=164554
tc2cfr https://github.com/gnaggnoyil/tc2cfr
TCanny https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TCanny, https://forum.doom9.org/showthread.php?t=172158
TComb https://github.com/dubhater/vapoursynth-tcomb
TDeintMod https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TDeintMod
TempLinearApproximate https://bitbucket.org/mystery_keeper/templinearapproximate-vapoursynth, https://forum.doom9.org/showthread.php?t=169782
TemporalSoften https://github.com/dubhater/vapoursynth-temporalsoften, https://github.com/IFeelBloated/vapoursynth-focus
TemporalSoften https://github.com/IFeelBloated/vapoursynth-focus, https://github.com/dubhater/vapoursynth-temporalsoften
timecube https://github.com/sekrit-twc/timecube
TNLMeans https://github.com/VFR-maniac/VapourSynth-TNLMeans
Tonemap https://github.com/ifb/vapoursynth-tonemap
TTempSmooth https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TTempSmooth
VagueDenoiser https://github.com/HomeOfVapourSynthEvolution/VapourSynth-VagueDenoiser
vcfreq, vcmod, vcmove, vctrans http://www.avisynth.nl/users/vcmohan
VFRToCFR https://github.com/Irrational-Encoding-Wizardry/Vapoursynth-VFRToCFR
Videoscope https://github.com/dubhater/vapoursynth-videoscope
VSFilterMod https://github.com/sorayuki/VSFilterMod, https://github.com/HomeOfVapourSynthEvolution/VSFilterMod, https://www.nmm-hd.org/newbbs/viewtopic.php?f=17&t=1989
vsrawsource https://github.com/chikuzen/vsrawsource, https://forum.doom9.org/showthread.php?t=166075
W3FDIF https://github.com/HomeOfVapourSynthEvolution/VapourSynth-W3FDIF
Waifu2x w2xc https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Waifu2x-w2xc
xy-VSFilter https://github.com/Tsuki/VapourSynth-XY-VSFilter
Yadifmod https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Yadifmod
znedi3 https://github.com/sekrit-twc/znedi3

Supervisor cat
https://i.imgur.com/ljoZ8Uw.jpg
I heard that VapourSynth is the new Avisynth...

MysteryX
21st June 2018, 14:55
I would be interested in a VapourSynth DLL with only Python dependencies, so it's easy to deploy. How do you do that? I'd still use separate plugins so they can be updated and replaced easily.

ChaosKing
21st June 2018, 15:24
At first I tried to keep everything seperated, so that vs-editor has it's own folder, xy-app etc. I even made (or tried) a PortableApps package ... but in the end the easies way is to just throw everything in one big folder, so that python.exe is in the same folder as your randomapp.exe
This was the easiest and most reliable way to convince vs editor to not use the locally installed VS & python installation.

ChaosKing
22nd June 2018, 16:39
New Update, see first post.
Added Yuuno Editor

unix
24th June 2018, 17:58
Thank you very much man =)

lansing
27th June 2018, 04:19
Just out of curiosity, what is this Yuuno Editor?

ChaosKing
27th June 2018, 09:00
Yuuno = Jupyter + VapourSynth

Quick comparison to VS Editor
- Your browser is your editor
- Encoding of VapourSynth-Clips from the Notebook/IPython-shell
- Interactive Clip Introspection using IPython-magics (%preview, %diff, %compare and %inspect) -> That means you can compare multiple clips or frames at once supported by it's own slider and/or tabs.
- It natively supports remote access, as it is only an extension for Jupyter Notebook.

Their website is down currently but you can clone the docs from here https://github.com/Irrational-Encoding-Wizardry/yuuno-core/tree/master/docs

ChaosKing
27th June 2018, 13:47
thx, added (will be in the next update)

RieGo
30th June 2018, 11:01
thanks for the package!
just wanted to let you now: Oyster is not working as it uses "cmode" parameter in KNLMeansCL which got replaced by "channels".
latest Oyster on github works fine: https://raw.githubusercontent.com/IFeelBloated/Oyster/master/Oyster.py

Selur
30th June 2018, 20:25
Has anyone tested HQdn3d?
Using the dll from the package and:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="G:/Hybrid/64bit/vsfilters/DenoiseFilter/HQDN3D/hqdn3d.dll")
core.std.LoadPlugin(path="G:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2k.dll")
# Loading F:\TestClips&Co\files\test.avi using FFMS2K
clip = core.ffms2.Source(source="F:/TESTCL~1/files/test.avi",cachefile="H:/Temp/avi_078c37f69bb356e7b5fa040c71584c40_41.ffindex",format=vs.YUV420P8,alpha=False)
# making sure input color matrix is set as unspec
clip = core.resize.Point(clip, matrix_in_s="unspec")
# making sure frame rate is set to 25/1
clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1)
# Making sure input color range is set to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# Input resolution is 640x352.
# denoising using HQDN3D
clip = core.hqdn3d.Hqdn3d(clip=clip)
# Output
clip.set_output()
I get:
Failed to evaluate the script:
Python exception: No attribute with the name hqdn3d exists. Did you mistype a plugin namespace?

Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1847, in vapoursynth.vpy_evaluateScript
File "H:\Temp\tempPreviewVapoursynthFile21_05_45_037.vpy", line 17, in <module>
clip = core.hqdn3d.Hqdn3d(clip=clip)
File "src\cython\vapoursynth.pyx", line 1416, in vapoursynth.Core.__getattr__
AttributeError: No attribute with the name hqdn3d exists. Did you mistype a plugin namespace?

The call I use:
clip = core.hqdn3d.Hqdn3d(clip=clip)
looks fine to me and according to https://github.com/Hinterwaeldlers/vapoursynth-hqdn3d the plugin namespace should be correct:
hqdn3d.Hqdn3d(clip clip, [float lum_spac, float chrom_spac, float lum_tmp, float chrom_tmp, int restart_lap])

Cu Selur

ChaosKing
30th June 2018, 21:38
@RieGo
thx, updated.

@Selur
core.hqdnd.hqdn3d(clip=clip) is correct for this dll

There was an update 5 days ago: https://github.com/Hinterwaeldlers/vapoursynth-hqdn3d/commit/95776f729089ff67ae8c67f5c39e2178036b523d

Selur
30th June 2018, 21:55
@ChaosKing: thanks, that helped!
btw. the finesharp script from Wolfberry is broken,
instead of:
ldmp = float(ldmp)
if ldmp is None:
ldmp = sstr + 0.1

this:
if ldmp is None:
ldmp = sstr + 0.1
else:
ldmp = float(ldmp)
needs to be used. 'ldmp = float(ldmp)' will fail otherwise when ldmp is None.

Cu Selur

jackoneill
1st July 2018, 11:55
@Selur
core.hqdnd.hqdn3d(clip=clip) is correct for this dll

There was an update 5 days ago: https://github.com/Hinterwaeldlers/vapoursynth-hqdn3d/commit/95776f729089ff67ae8c67f5c39e2178036b523d

You should update the DLL. The filter had various problems besides the typo in the namespace. It won't work correctly.

Selur
1st July 2018, 12:29
Anyone got a link for an up-to-date 64bit dll of hqdn3d ? :)

ChaosKing
1st July 2018, 14:54
Try this https://www5.zippyshare.com/v/gSJZrthe/file.html

Selur
1st July 2018, 15:19
Thanks that one works fine! :)

Cu Selur

MysteryX
7th July 2018, 06:32
Your 2018-06-22 link gives me the error "contains legitimate software that can be used by criminals to damage your computer or personal data" from Kaspersky, but the other link works...

ChaosKing
7th July 2018, 10:17
It's a false positiv https://www.virustotal.com/#/file/fb40b3c8ce442d6889a286d0a57d74ae13c6236000af37c5a3e2104fa4c89f3a/detection
Could be triggert by one of the yuuno/jupyter packages or the new bat file ...

Extract and scan again to see which file triggers it.

ChaosKing
13th July 2018, 22:07
New big update, see first post.

ifb
19th July 2018, 23:16
The bundled version of timecube is buggy. The GitHub r1 (https://github.com/sekrit-twc/timecube/releases/tag/r1) release is newer/fixed.

ChaosKing
19th July 2018, 23:51
thx updated locally.

Cary Knoop
21st July 2018, 23:23
This initiative is wonderful but may I suggest to get a better site to upload?
Zippyshare is giving me not very professional ads to say the least and creates new tabs to download all kind of software of questionable origin.

How about using dropbox?

ChaosKing
22nd July 2018, 08:35
Oh you're right. I visited zippyshare only with an adblocker and it looks very clean, without an ablocker not so much....
I changed the download url to dropbox.

MysteryX
23rd July 2018, 15:33
I use https://mega.nz/ for all uploads and it works wonderfully and is fully encrypted -- for those who don't like ads and who don't like giving all their data to the government.

ThePi7on
23rd July 2018, 16:29
I tried Yuuno Editor, but when I try to %load_ext yuuno
(as this indicates (https://github.com/Irrational-Encoding-Wizardry/yuuno-core/blob/master/docs/usage.rst)), I always get "The yuuno module is not an IPython extension."

ChaosKing
23rd July 2018, 17:11
yuuno should already be loaded (autoload is active)

Did you try other commands, like %preview core.std.BlankClip(color=[0,255,255]) ?
Also more infos are needed, like what os are you using

poisondeathray
23rd July 2018, 18:09
Thanks

First time I heard of "Yuuno Editor".
https://pypi.org/project/yuuno/

And it seems all the documentation links are down
https://yuuno.encode.moe/installation.html
https://yuuno.encode.moe/usage.html
https://yuuno.encode.moe/

Maybe I should start another thread on it, but can someone give a quick review pros/cons or comments ? Thanks

ChaosKing
23rd July 2018, 18:26
https://forum.doom9.org/showthread.php?p=1845422#post1845422

ThePi7on
23rd July 2018, 19:46
yuuno should already be loaded (autoload is active)

Did you try other commands, like %preview core.std.BlankClip(color=[0,255,255]) ?
Also more infos are needed, like what os are you using
Thank for the reply,
Yes, I tried it, it returns "UsageError: Line magic function `%preview` not found."

All the magic functions I try return not found.
I also don't get any type of syntax highlight for vapoursynth related functions.

I'm on Windows 10 64bit up to date with version 1803.

ChaosKing
23rd July 2018, 20:01
I think I deleted an important folder somewhere. I will post an updated version soon.

Cary Knoop
25th July 2018, 17:58
You might want to include a model folder with models for the waifu (Waifu2x-w2xc) based resizer.

ChaosKing
25th July 2018, 23:13
New Update (inc newest Waifu2x models)
Please test Yuuno again.

Thanks to vsrepo most scripts and plugins can now be updated via one click.

ThePi7on
26th July 2018, 21:05
New Update (inc newest Waifu2x models)
Please test Yuuno again.

Thanks to vsrepo most scripts and plugins can now be updated via one click.

Still doesn't work for me :/ Screenshot (https://i.imgur.com/TRjrDzu.jpg)

If it can be useful, there's a software you can you to compare two folders or files, might help you catch the problem (if there's actually one, and it's not just me): Beyond Compare 4 (https://www.scootersoftware.com/download.php)

Anyway, thanks for your work!

EDIT: don't know if it's a relevant info but: just noticed that in the 06-21-2018 version "Kernel" has a white dot, that reports "kernel idle". While the non working version only reports "kernel connected"

ChaosKing
26th July 2018, 22:30
Try this please https://www.dropbox.com/s/eqksin710ywbw1p/VapourSynth64Portable_test.7z?dl=1

ThePi7on
26th July 2018, 23:26
Try this please https://www.dropbox.com/s/eqksin710ywbw1p/VapourSynth64Portable_test.7z?dl=1

YES, this works perfectly, thank you!

ChaosKing
27th July 2018, 23:49
New release, see first post.

Pat357
29th July 2018, 01:33
Thank you so much for creating this very useful package.
One small thing may be not important, is that when I run _vs_plugin_check.bat I get the following output :


#######################################
VapourSynth Video Processing Library
Copyright (c) 2012-2018 Fredrik Mellbin
Core R44
API R3.5
Options: -

Architecture 64bit - Windows-10-10.0.17134-SP0
Python build: ('v3.6.5:f59c0932b4', 'Mar 28 2018 17:00:18')

#######################################
checking dlls in d:\programs\VapourSynth64Portable_2018_07_28\VapourSynth64Portable\VapourSynth64\vapoursynth64\plugins
#######################################

Errors:
-------
Failed to load d:\programs\VapourSynth64Portable_2018_07_28\VapourSynth64Portable\VapourSynth64\vapoursynth64\plugins\bilateralGPU.dll. GetLastError() returned 126. A DLL dependency is probably missing.
Plugin load failed, namespace focus already populated (d:\programs\VapourSynth64Portable_2018_07_28\VapourSynth64Portable\VapourSynth64\vapoursynth64\plugins\libtemporalsoften.dll)

Notices:
-------
libfftw3-3.dll is a dependency by fft3dfilter or mvtools-sf
libfftw3f-3.dll is a dependency by fft3dfilter or mvtools-sf
libiomp5md.dll is part of the Waifu2x-w2xc filter
libmfxsw64.dll is part of the DGMVCSourceVS filter
svml_dispmd.dll is part of the Waifu2x-w2xc filter
w2xc.dll is part of the Waifu2x-w2xc filter
#######################################
Found 109 dlls. Errors: 2 Notices: 6

Press any key to continue . . .


I guess the plugin bilateralGPU.dll needs some additional files to work.
About the second error on libtemporalsoften.dll : does this cause any further problems ?

Wolfberry
29th July 2018, 04:35
In order to use bilateralGPU.dll, you need to have opencv_core320.dll and opencv_cudaimgproc320.dll in the same path.
(Requirements: CUDA-Enabled GPU, OpenCV run-time library with CUDA module)

libtemporalsoften.dll and libfocus-em64t.dll have the same namespace. (focus.TemporalSoften)

ChaosKing
29th July 2018, 09:34
In order to use bilateralGPU.dll, you need to have opencv_core320.dll and opencv_cudaimgproc320.dll in the same path.
(Requirements: CUDA-Enabled GPU, OpenCV run-time library with CUDA module)

libtemporalsoften.dll and libfocus-em64t.dll have the same namespace. (focus.TemporalSoften)
I don't have a nvidia card and therefore can't use or test this filter :/

Idk which temporalsoften is "better" so I left both for now. You probably will only use Temporalsoften2 anyway.

Pat357
29th July 2018, 16:57
In order to use bilateralGPU.dll, you need to have opencv_core320.dll and opencv_cudaimgproc320.dll in the same path.
(Requirements: CUDA-Enabled GPU, OpenCV run-time library with CUDA module)

I have a Nvidia GTX-1070 TI, which has all this.

What extra package do I need to install then ?

unix
2nd August 2018, 09:29
Is there ColorMask for vapoursynth?

ChaosKing
2nd August 2018, 10:24
Yes, it's included.

(see long list in 1st post)

unix
2nd August 2018, 13:58
But I couldn't find it (TColorMask)! ^^"

ChaosKing
2nd August 2018, 16:00
Argh sorry, I read "colorbars" as "colormask" @1 post xD

But I was sure that I saw it somewhere ... https://github.com/DJATOM/VapourSynth-TColorMask

Edit: I tried to compile it with g++ (msys2) but got some warnings and vs editor doesn't open with my compiled plugin. Maybe someone has visual studio installed and could try to compile it.

unix
3rd August 2018, 11:55
Thank you =)

WolframRhodium
3rd August 2018, 12:59
I have a Nvidia GTX-1070 TI, which has all this.

What extra package do I need to install then ?

Some pre-compiled dlls from OpenCV with CUDA enabled are required, which I had lost them already.

I consider bilateral as a theoretically sound but not practical enough algorithm due to its high computational complexity. I prefer Guided Filter (https://github.com/WolframRhodium/muvsfunc/blob/681339624d375eb1b5ee372a01145a62704a1f87/muvsfunc.py#L2805), Edge BMA Filter (https://github.com/WolframRhodium/muvsfunc/blob/681339624d375eb1b5ee372a01145a62704a1f87/muvsfunc.py#L3763), LLSURE (https://github.com/WolframRhodium/muvsfunc/blob/681339624d375eb1b5ee372a01145a62704a1f87/muvsfunc.py#L3882) or other edge-preserving filters provided by OpenCV (https://docs.opencv.org/3.4.2/da/d17/group__ximgproc__filters.html) over bilateral filter.

DJATOM
3rd August 2018, 15:14
It seems code requires correction, as TÑMGetFrame and TÑMFree should be TCMGetFrame and TCMFree. Weird thing that it passed compilation in VS2015. I'll fix and post release soon.

Upd: https://github.com/DJATOM/VapourSynth-TColorMask/releases/tag/r1

ChaosKing
3rd August 2018, 18:57
thx
Ahhh I changed TÑMGetFrame to TNMGetFrame locally :D

Edit:
Made also a PR to vsrepo ;)

DJATOM
3rd August 2018, 20:33
Ñ is actually Russian С, and it placed on the same position as in English layout, that's why I didn't noticed. Shit happens.

Selur
21st October 2018, 05:03
Any plans for an updated version for Python 3.7 and Vapoursynth R45 ?

ChaosKing
21st October 2018, 08:59
Yes, I just waited for R45 final.

ChaosKing
23rd October 2018, 13:24
New release with Python 2.7.1, VS R45 and some new scripts.

WorBry
24th October 2018, 00:30
Just checked out VapourSynth Portable FATPAK. Don't seem to be able to open the scripts in VirtualDub2 (64bit) for encoding - 'AVI Import Error' - so I assume that, like Myrsloik's portable version, output is VSPipe only ?

https://forum.doom9.org/showthread.php?p=1753199#post1753199

ChaosKing
24th October 2018, 09:28
VirtuabDub opens the files in a different way. You could try to extract vdub inside the VapourSynth64 folder (where python.exe is). But I think this won't work. I will test it later myself.

Myrsloik
24th October 2018, 10:31
Just checked out VapourSynth Portable FATPAK. Don't seem to be able to open the scripts in VirtualDub2 (64bit) for encoding - 'AVI Import Error' - so I assume that, like Myrsloik's portable version, output is VSPipe only ?

https://forum.doom9.org/showthread.php?p=1753199#post1753199

It needs a registered VFW handler in the registry. So no. Unless you manually add that and go otherwise portable.

ChaosKing
24th October 2018, 13:24
@Myrsloik, these are the only reg entries that are necessery to get it to work in vdub, correct?
https://github.com/vapoursynth/vapoursynth/blob/51c89e5fd941c5123dc7b26f854d479976961cfc/installer/vsinstaller.iss#L176

Myrsloik
24th October 2018, 13:35
@Myrsloik, these are the only reg entries that are necessery to get it to work in vdub, correct?
https://github.com/vapoursynth/vapoursynth/blob/51c89e5fd941c5123dc7b26f854d479976961cfc/installer/vsinstaller.iss#L176

Yes yes YEEEEEEEEEES (this message is now long enough)

ChaosKing
22nd November 2018, 00:16
Added seek-test MOD https://www.dropbox.com/s/45pqnaslap2er6b/seek-test.zip?dl=1
Its basically seek-test from here https://gist.github.com/dubhater/3a2c8a59841cae49ecae25cd47ff78d2 with some argparse code + AVISource.

Just extract into root folder and drag&drop your video onto the bat file.


Reliability tester of VapourSynth Source Filters - seek test
Setting End to 100 frames

Press 1 for FFMS2000
2 for L-SMASH-Works
3 for D2V Source
4 for AVISource
Number: 1
ffms2
Clip has 101 frames.
Hashing: 100%
Clip hashed.

Requested frame 0, got new frame with hash fb37336400e36e64070c1ca795fa62d8.
Previous requests: 98 14 66 61 75 54 41 77 26 86 0
Seeking: 100%
Test complete. Seeking issues found :-(

Blovesx
25th November 2018, 04:42
Hello,

Could I get a script from someone who's knowledgable with VapourSynth concerning waifu2x? I'm actually learning, playing and teaching how to use .avs, x264 all the options what they do, mean as well as plugins for AviSynth. My head is already about to explode from all the informations. Someone can be so kind and post me a script ready to use with waifu2x? I will set the settings by myself just learning another thing right now will be just too much. I don't know how this Vapour thing works but can I use the plugin simply to resize my video without the need to encode it again?

I have files ready from converting a DVD trough AviSynth to .mp4 format using x264 so can I just resize my video without the need to re-encoding it again?

Selur
25th November 2018, 06:19
Someone can be so kind and post me a script ready to use with waifu2x?
Here's an example script here WaifuX is used to resize a 640x352 clip to 1280x704:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/ResizeFilter/Waifu2x/Waifu2x-w2xc.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2k.dll")
# 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_41.ffindex",format=vs.YUV420P8,alpha=False)
# making sure input color matrix is set as unspec
clip = core.resize.Point(clip, matrix_in_s="unspec",range_s="limited")
# making sure frame rate is set to 25/1
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)
# resizing clip to 1280x704
# adjusting bit depth to 32bit
clip = core.fmtc.bitdepth(clip=clip,bits=32)
# resizing using Waifu2x
clip = core.w2xc.Waifu2x(clip=clip, scale=2)
# adjusting bit depth back to 8bit
clip = core.fmtc.bitdepth(clip=clip,bits=8)
# Output
clip.set_output()
if uses ffms2k as source filter and fmctconv to convert to 32bit and bach to 8bit.
Filters always lie inside a separate folder on my systems so I don't rely on auto-loading, but load each filter manually.
I don't know how this Vapour thing works but can I use the plugin simply to resize my video without the need to encode it again?
I have files ready from converting a DVD trough AviSynth to .mp4 format using x264 so can I just resize my video without the need to re-encoding it again?

Not really. In Vapoursynth and Avisynth you first use a source filter to open a (or multiple) source file, filter it and output raw video, so you normally would want to reencode the output of that script one way or the other.

Cu Selur

AlvoErrado2
1st December 2018, 11:55
Avira antivirus started to accuse this file of containing viruses, funny that this has not happened before.

VapourSynth64Portable\VapourSynth64\Lib\site-packages\PyInstaller\bootloader\Windows-64bit\runw.exe

Selur
1st December 2018, 11:55
probably a false positive,..

ChaosKing
1st December 2018, 13:25
Most likely a false positiv. But I don't think PyInstaller should be there... I guess I installed it by mistake while testing stuff. It's easy to confuse python (globally installed) with python.exe in that folder if your shell is open there. You can safely remove the folder.
Maybe this would be a good time to make a bat file for the "package installation" :D

PyInstaller can bundle a py script to an exe file. So I see why it can be seen as potentially harmfull by antivir software.

asarian
12th December 2018, 07:51
In order to use bilateralGPU.dll, you need to have opencv_core320.dll and opencv_cudaimgproc320.dll in the same path.
(Requirements: CUDA-Enabled GPU, OpenCV run-time library with CUDA module)


Where do you find these opencv_core320.dll and opencv_cudaimgproc320.dll. I downloaded the latest OpenCV 4.0, but where nothing in there even remotely with those kind of names.

asarian
12th December 2018, 08:25
In order to use bilateralGPU.dll, you need to have opencv_core320.dll and opencv_cudaimgproc320.dll in the same path.
(Requirements: CUDA-Enabled GPU, OpenCV run-time library with CUDA module)


I downloaded your OpenCV-Python in VapourSynth (https://github.com/WolframRhodium/muvsfunc/wiki/OpenCV-Python-for-VapourSynth), but I keep getting the same error:

Script evaluation failed:
Python exception: No attribute with the name bilateralgpu exists. Did you mistype a plugin namespace?

Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1927, in vapoursynth.vpy_evaluateScript
File "src\cython\vapoursynth.pyx", line 1928, in vapoursynth.vpy_evaluateScript
File "f:\jobs\inter.vpy", line 12, in <module>
vid = fvs.GradFun3mod (vid, smode=5)
File "C:\Users\Mark\AppData\Roaming\Python\Python37\site-packages\fvsfunc.py", line 315, in GradFun3
flt_y = smooth_mod(src_16, ref_16, smode, radius, thr, elast, planes2)
File "C:\Users\Mark\AppData\Roaming\Python\Python37\site-packages\fvsfunc.py", line 163, in smooth_mod
return bilateral_gpu(src_16, ref_16, radius, thr, elast, planes)
File "C:\Users\Mark\AppData\Roaming\Python\Python37\site-packages\fvsfunc.py", line 194, in bilateral_gpu
last = core.bilateralgpu.Bilateral(src, sigma_spatial=r / 2, sigma_color=t,
File "src\cython\vapoursynth.pyx", line 1660, in vapoursynth._CoreProxy.__getattr__
File "src\cython\vapoursynth.pyx", line 1522, in vapoursynth.Core.__getattr__
AttributeError: No attribute with the name bilateralgpu exists. Did you mistype a plugin namespace?

Wolfberry
12th December 2018, 10:57
Where do you find these opencv_core320.dll and opencv_cudaimgproc320.dll. I downloaded the latest OpenCV 4.0, but where nothing in there even remotely with those kind of names.

I never had these, I just use dependency walker on the bilateralGPU.dll, you will have to compile OpenCV 3.2 with CUDA yourself if you want to use it.

Some pre-compiled dlls from OpenCV with CUDA enabled are required, which I had lost them already.

I consider bilateral as a theoretically sound but not practical enough algorithm due to its high computational complexity. I prefer Guided Filter (https://github.com/WolframRhodium/muvsfunc/blob/681339624d375eb1b5ee372a01145a62704a1f87/muvsfunc.py#L2805), Edge BMA Filter (https://github.com/WolframRhodium/muvsfunc/blob/681339624d375eb1b5ee372a01145a62704a1f87/muvsfunc.py#L3763), LLSURE (https://github.com/WolframRhodium/muvsfunc/blob/681339624d375eb1b5ee372a01145a62704a1f87/muvsfunc.py#L3882) or other edge-preserving filters provided by OpenCV (https://docs.opencv.org/3.4.2/da/d17/group__ximgproc__filters.html) over bilateral filter.
I downloaded OpenCV-Python in VapourSynth (https://github.com/WolframRhodium/muvsfunc/wiki/OpenCV-Python-for-VapourSynth)
The OpenCV-Python only enables you to use opencv through muvsfunc_numpy.py (https://github.com/WolframRhodium/muvsfunc/blob/master/Collections/muvsfunc_numpy.py), the dll you are trying to use still has missing dependencies, which I don't have.

asarian
12th December 2018, 11:05
I never had these, I just use dependency walker on the bilateralGPU.dll, you will have to compile OpenCV 3.2 with CUDA yourself if you want to use it.

The OpenCV-Python only enables you to use opencv through muvsfunc_numpy.py (https://github.com/WolframRhodium/muvsfunc/blob/master/Collections/muvsfunc_numpy.py), the dll you are trying to use still has missing dependencies, which I don't have.

Thanks for the swift reply. :) Only reason I wanted to use GradFun3mod from fvsfunc to begin with, is because it's GPU-assisted, and core.f3kdb.Deband is too slow (as it's single-threaded).

Yeah, those dependency dll's are hard to find. :) I'll see if I can get them compiled myself; but if it's all becoming too much of a hassle, I'll just look for another deband tool.

ChaosKing
12th December 2018, 11:53
I get 300fps with f3kdb.Deband() on a 1080p source ...
There is also GradFun3 in muvsfunc.

Edit:
https://github.com/SAPikachu/flash3kyuu_deband/blob/9b896a6bb0536d184964590ab4fef59ab4a6be3c/src/vapoursynth/plugin.cpp#L164
Its not single threaded.

WolframRhodium
12th December 2018, 12:03
Yeah, those dependency dll's are hard to find. :) I'll see if I can get them compiled myself; but if it's all becoming too much of a hassle, I'll just look for another deband tool.


I have just uploaded the dependencies at https://mega.nz/#!3ygkwKIA!Oa1vAO9FKjwd7ptr1CRSSwgCrId4Y_IMddHZeSEcAeA

Anyway, bilateralGPU is slower than other suggested alternatives although it is the only one that is accelerated by a GPU.

asarian
12th December 2018, 12:24
I have just uploaded the dependencies at https://mega.nz/#!3ygkwKIA!Oa1vAO9FKjwd7ptr1CRSSwgCrId4Y_IMddHZeSEcAeA

Anyway, bilateralGPU is slower than other suggested alternatives although it is the only one that is accelerated by a GPU.

Thank you greatly! Been looking for those for hours! :)

import vapoursynth as vs
import fvsfunc as fvs

core = vs.get_core ()
core.max_cache_size = 16384

core.avs.LoadPlugin ("C:/Program Files (x86)/dgdecnv/x64 Binaries/DGDecodeNV.dll")
core.std.LoadPlugin ("C:/VS/cuda/bilateralGPU.dll")

vid = core.avs.DGSource (r'i:\jobs\inter.dgi', resize_w=1920, resize_h=1080, fulldepth=True)
vid = core.dghdrtosdr.DGHDRtoSDR (clip=vid, fulldepth=False)
vid = core.avs.DGDenoise (vid, strength=0.12, searchw=9)
vid = fvs.GradFun3mod (vid, smode=5)

vid.set_output ()



I created a special cuda folder for bilateralGPU.dll, and put the dependencies inside, but still no go:

Script evaluation failed:
Python exception: Failed to load C:/VS/cuda/bilateralGPU.dll. GetLastError() returned 126. A DLL dependency is probably missing.

Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1927, in vapoursynth.vpy_evaluateScript
File "src\cython\vapoursynth.pyx", line 1928, in vapoursynth.vpy_evaluateScript
File "f:\jobs\inter.vpy", line 8, in <module>
core.std.LoadPlugin ("C:/VS/cuda/bilateralGPU.dll")
File "src\cython\vapoursynth.pyx", line 1833, in vapoursynth.Function.__call__
vapoursynth.Error: Failed to load C:/VS/cuda/bilateralGPU.dll. GetLastError() returned 126. A DLL dependency is probably missing.

asarian
12th December 2018, 13:02
I get 300fps with f3kdb.Deband() on a 1080p source ...
There is also GradFun3 in muvsfunc.

Edit:
https://github.com/SAPikachu/flash3kyuu_deband/blob/9b896a6bb0536d184964590ab4fef59ab4a6be3c/src/vapoursynth/plugin.cpp#L164
Its not single threaded.


You appear to have a newer version of f3kdb.Deband. :) Thx. It's still the weakest link in my setup, though (probably because it doesn't do GPU).

And I saw GradFun3 in muvsfunc, but that one is sadly also not GPU-accelerated.

WolframRhodium
12th December 2018, 13:48
I created a special cuda folder for bilateralGPU.dll, and put the dependencies inside, but still no go:


Please put them in the same folder as other plugins (vapoursynth\plugins64, for example), otherwise VapourSynth won't load them.

asarian
12th December 2018, 14:08
Please put them in the same folder as other plugins (vapoursynth\plugins64, for example), otherwise VapourSynth won't load them.

I had already done that, but that didn't work either. ;)

After having been up for nearly 24 hours, I finally started a reencoding process with f3kdb.Deband(). So, tomorrow I will try this again.

N.B. The reason I didn't put them inside the plugins64 directory directly, was because I figured VS trying to autoload all these dependencies (as 64-bit VS plugins) might fail; so I did the LoadPlugin for "C:/VS/cuda/bilateralGPU.dll", and hoped the latter would then itself see and load the dependencies in its own directory).

WolframRhodium
12th December 2018, 14:49
I had already done that, but that didn't work either. ;)

Here (https://mega.nz/#!vqYi3SSL!4k11VV6d4YUmAjDUHXJeEcigI1OsvHYpriJzQlS2DRs) are additional dependencies that might help, if you don't have any of (cudart64_80.dll, npp?64_80.dll) in your search path.

Selur
12th December 2018, 19:22
@WolframRhodium: Got a similar problem using the portable version of Vapoursynth and:
# Imports
import os
import sys
import vapoursynth as vs
core = vs.get_core()
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/OpenCL.dll")
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/BilateralGPU/cudart64_80.dll")
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/BilateralGPU/nppc64_80.dll")
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/BilateralGPU/nppi64_80.dll")
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/BilateralGPU/npps64_80.dll")
# 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/vsznedi3.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/libdescale.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/BilateralGPU/bilateralGPU.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2k.dll")
# Import scripts
import edi_rpow2
import fvsfunc
import havsfunc
import muvsfunc
# Loading F:\TestClips&Co\files\Test-AC3-5.1.avi using FFMS2K
clip = core.ffms2.Source(source="F:/TESTCL~1/files/TEST-A~1.AVI",cachefile="E:/Temp/avi_4a88093b3b83d19d00642a5a96b0af78_41.ffindex",format=vs.YUV420P8,alpha=False)
# making sure input color matrix is set as unspec
clip = core.resize.Point(clip, matrix_in_s="unspec",range_s="limited")
# making sure frame rate is set to 25/1
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)
# Debanding using GradFun3Mod
clip = fvsfunc.GradFun3(src=clip, smode=5)
# adjusting output color from: YUV420P16 to YUV420P8 for x264Model (i420)
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="limited")
# Output
clip.set_output()
so all the dependancy files are next to the bilaterialGPU.dll and are explicitly loaded and I still get:
Failed to evaluate the script:
Python exception: Failed to load I:/Hybrid/64bit/vsfilters/Support/BilateralGPU/bilateralGPU.dll. GetLastError() returned 126. A DLL dependency is probably missing.

Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1927, in vapoursynth.vpy_evaluateScript
File "src\cython\vapoursynth.pyx", line 1928, in vapoursynth.vpy_evaluateScript
File "E:\Temp\tempPreviewVapoursynthFile19_11_17_981.vpy", line 22, in <module>
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/BilateralGPU/bilateralGPU.dll")
File "src\cython\vapoursynth.pyx", line 1833, in vapoursynth.Function.__call__
vapoursynth.Error: Failed to load I:/Hybrid/64bit/vsfilters/Support/BilateralGPU/bilateralGPU.dll. GetLastError() returned 126. A DLL dependency is probably missing.

Any idea how to get this working? (I'm on Win10 with a Ryzen 7 1800X and a Geforce GTX 1070 Ti)

Cu Selur

Wolfberry
13th December 2018, 02:07
I have just uploaded the dependencies at https://mega.nz/#!3ygkwKIA!Oa1vAO9FKjwd7ptr1CRSSwgCrId4Y_IMddHZeSEcAeA

Anyway, bilateralGPU is slower than other suggested alternatives although it is the only one that is accelerated by a GPU.

This is the first part of the dependency (you only loaded the second part)

asarian
13th December 2018, 03:09
I think we're nearly there. :) (Thanks to the gurus who so generously contributed their dependencies and time). Using 'Dependency Walker', looks like only 1 dll is still missing: CUFFT64_80.DLL

So, if anyone has it, please share!

WolframRhodium
13th December 2018, 03:35
Using 'Dependency Walker', looks like only 1 dll is still missing: CUFFT64_80.DLL

Here (https://mega.nz/#!ejAUSCjD!x-s9Aqr95iVWY8-NWloaNLMsEuh6o9JEroASOJY0bt8) it is.

asarian
13th December 2018, 03:56
Here (https://mega.nz/#!ejAUSCjD!x-s9Aqr95iVWY8-NWloaNLMsEuh6o9JEroASOJY0bt8) it is.

Thank you! :) My current encoding still has 6 hours to go, but things are looking up, from Dependency Walker's perspective: no more missing .dlls reported. I'll let you know how it goes.

EDIT: P.S. bilateralGPU.dll better be worth it, for all the trouble. :p But I have a good feeling about it: you can't go wrong with GPU-assisted stuff.

And thanks to the guy above for the Dllref = ctypes.windll.LoadLibrary trick: it solves my issue having VS not try and load these as native VS filters.

Selur
13th December 2018, 05:48
Thanks @Wolfberry&WolframRhodium, got it working now. (754MB of dependencies later ;))

asarian
13th December 2018, 12:45
@Wolfberry & @WolframRhodium, thank you both kindly for your great assistance! :) I finally got it working! My, that was a lot of sweat for just bilateralGPU.dll. :) But the good news is, I went from 2.9 fps to 4.78 fps (including the vspipe to x264 process, of course); and I can visually see (GPU-Z) my video card getting taxed more. So, gentlemen, this was well worth the effort! So, thank you both again.

I'm not sure the forum rules would allow such a thing, but, if so, would be nice if the starter post could contain a link to a small 'dependency' repository for bilateralGPU. I know it's just 1 filter, but debanding is something I'm sure a lot of ppl are doing (because of compression), and with the big GPU's out there, I can attest that it's definitely a worthwhile filter. And for ppl who didn't have those dependencies, some of those are impossible to find on the net.

P.S. Actually, the whole 'Dllref = ctypes.windll.LoadLibrary' trick didn't work for me. I simply put core.std.LoadPlugin ("C:/VS/cuda/bilateralGPU.dll"), and had stuck all dependencies inside the C:/VS/cuda/ folder (figuring, as expected, that libraries always look inside their own directory for dependencies first, which worked).

Again, thank you guys, and especially you, @Wolfberry. I know I tend to ask a lot of questions, but you made me very happy today, and I'm pretty sure others will be happy with the result too. :)

ChaosKing
13th December 2018, 13:49
So these two links contains all dependencies for bilateralGPU? Can't test myself.
https://mega.nz/#!3ygkwKIA!Oa1vAO9FKjwd7ptr1CRSSwgCrId4Y_IMddHZeSEcAeA
https://mega.nz/#!ejAUSCjD!x-s9Aqr95iVWY8-NWloaNLMsEuh6o9JEroASOJY0bt8

Wolfberry
13th December 2018, 14:32
This one (https://mega.nz/#!vqYi3SSL!4k11VV6d4YUmAjDUHXJeEcigI1OsvHYpriJzQlS2DRs) is needed, too.

asarian
17th December 2018, 02:19
Speaking of GradFun3, I'm really loving the GPU-assisted speed. :) GradFun3 doesn't come with presets, though. Usually I did:

vid = core.f3kdb.Deband (vid, preset="medium", dither_algo=2)

What settings could I use on GradFun3 to achieve a similar strength as on f3kdb.Deband? In its default state, the debanding of GradFun3 is too little, for my taste.

WolframRhodium
17th December 2018, 03:03
Speaking of GradFun3, I'm really loving the GPU-assisted speed. :) GradFun3 doesn't come with presets, though. Usually I did:

vid = core.f3kdb.Deband (vid, preset="medium", dither_algo=2)

What settings could I use on GradFun3 to achieve a similar strength as on f3kdb.Deband? In its default state, the debanding of GradFun3 is too little, for my taste.

You can increase 'thr', 'radius' and 'elast', especially the first one, which should be the most important parameter that controls the strength.

asarian
17th December 2018, 03:18
You can increase 'thr', 'radius' and 'elast', especially the first one, which should be the most import parameter that controls the strength.

Thx. I'm not that mathematical, so most of these options usually dazzle me. :)

asarian
18th December 2018, 11:12
After several days of testing, I hate to admit that vid = core.f3kdb.Deband (vid, preset="medium", dither_algo=2) does a much better job of preserving the gradients than, for example, vid = fvs.GradFun3 (src=vid, thr=0.6, radius=16, elast=4.0, smode=5), even though the loss of non GPU-assisted processing is felt dearly. Dunno, but for some reason x264 just eats thru GradFun3 like crazy (and I use x264 with very high settings, for quality). Feels like the pattern of f3kdb.Deband is just more compression-resilient somehow. Unless I'm doing GradFun3 wrong, of course (always a possibility).

So, here's to hoping f3kdb.Deband gets ported to GPU one day! :)

asarian
18th December 2018, 12:13
Are you kidding? f3kdb already runs at 100+ fps with a 1920x1080 video. What makes you think that f3kdb is the bottleneck of your filtering chain?

Because it is. :) Keep in mind, that if you use a GPU-assisted debander, it doesn't take any CPU (or nothing you will notice, at least).

The x264 process usurps about 85-92%; vspipe around 1.7% (max). Which means the x246 process doesn't get enough data fast enough to fully saturate the CPU. The whole vspipe process (with x264) takes around 93% CPU, on average. In practice, this means I process around 2.95 fps with f3kdb (as last in the chain), and ca. 4.25 fps with bilateralGPU-assisted GradFun3.

The script itself is nothing special; like:

import vapoursynth as vs

core = vs.get_core ()
core.max_cache_size = 16384

core.avs.LoadPlugin ("C:/Program Files (x86)/dgdecnv/x64 Binaries/DGDecodeNV.dll")

vid = core.avs.DGSource (r'f:\jobs\jup.dgi', resize_w=1920, resize_h=1080, fulldepth=True)
vid = core.dghdrtosdr.DGHDRtoSDR (clip=vid, fulldepth=False)
vid = core.avs.DGDenoise (vid, strength=0.1, searchw=9)
vid = core.f3kdb.Deband (vid, preset="medium", dither_algo=2)

vid.set_output ()



Versus GradFun3:


import vapoursynth as vs
import fvsfunc as fvs

core = vs.get_core ()
core.max_cache_size = 16384

core.avs.LoadPlugin ("C:/Program Files (x86)/dgdecnv/x64 Binaries/DGDecodeNV.dll")
core.std.LoadPlugin ("C:/VS/cuda/bilateralGPU.dll")

vid = core.avs.DGSource (r'i:\jobs\jup.dgi', resize_w=1920, resize_h=1080, fulldepth=True)
vid = core.dghdrtosdr.DGHDRtoSDR (clip=vid, fulldepth=False)
vid = core.avs.DGDenoise (vid, strength=0.1, searchw=9)
vid = fvs.GradFun3 (src=vid, thr=0.6, radius=16, elast=4.0, smode=5)

vid.set_output ()




2.95 fps vs. 4.25 fps may not seem like much, but it's the difference between roughly waiting 16 hours before job-completion, or a full 24.

poisondeathray
18th December 2018, 17:40
After several days of testing, I hate to admit that vid = core.f3kdb.Deband (vid, preset="medium", dither_algo=2) does a much better job of preserving the gradients than, for example, vid = fvs.GradFun3 (src=vid, thr=0.6, radius=16, elast=4.0, smode=5), even though the loss of non GPU-assisted processing is felt dearly. Dunno, but for some reason x264 just eats thru GradFun3 like crazy (and I use x264 with very high settings, for quality). Feels like the pattern of f3kdb.Deband is just more compression-resilient somehow. Unless I'm doing GradFun3 wrong, of course (always a possibility).

So, here's to hoping f3kdb.Deband gets ported to GPU one day! :)


2.95 fps vs. 4.25 fps


What about 10bit encoding ? In general, 10bit encoding is slower than 8bit , but you likely do not even need to apply a debanding filter

asarian
18th December 2018, 19:02
What about 10bit encoding ? In general, 10bit encoding is slower than 8bit , but you likely do not even need to apply a debanding filter

That's a good idea. :goodpost: I haven't done 10-bit encodings yet; primarily, really, because I've been off this world for a spell, x264-wise, and only recently got interested in re-encoding again, now UHD Blu-rays became available. And I haven't even checked whether Kodi can even play it properly (although it should, as it can handle my UHD disc too).

What you're saying sounds very logical, though: 10-bit encoding should work wonders for gradients. And without a debanding filter, things go much faster still (ca. 5.15 fps). My next encode can start in about 6 hours. I shall try out a 10-bit conversion, and will report back. Thanks.

ChaosKing
19th December 2018, 01:22
New update, see first post.
I used my build script this time. I hope everything works: https://github.com/theChaosCoder/vapoursynth-portable-FATPACK

ThePi7on
30th December 2018, 15:11
New update, see first post.
I used my build script this time. I hope everything works: https://github.com/theChaosCoder/vapoursynth-portable-FATPACK

Thanks for the new update!
Would it be possible to add the new cunet (https://github.com/nagadomi/waifu2x/tree/master/models/cunet/art)waifu2x models in the next update?

ChaosKing
30th December 2018, 18:03
If the models are compatible with the VS version of waifu2x, sure.

brucethemoose
1st January 2019, 08:39
Love this pack, thanks!

If the models are compatible with the VS version of waifu2x, sure.

Speaking of Waifu, could you throw in some of muvsfunc's super_resolution dependancies? I guess you can't distribute cuDNN/CUDA, but I got most of what I needed in the Python directory with "pip install mxnet-cu92 --pre"

You could even add a few of the upscaling models with presets, but that's kinda a stretch since they're big files. Also, I'm not sure which ones are best to add yet... Need more testing.


Another small request: ffmpeg, just for a GPU encoding preset. GPU 10-bit hevc isn't so bad these days, especially if speed is a priority.

ChaosKing
1st January 2019, 10:47
Hmm I don't really want to ship a big chunk of dependencies that only nvidia users can use and since I only have a amd card here I can't test it myself. But I could link to a zip package similar to the bilineargpu plugin...

I think I can at least add some bat or vseditor-templates for ffmpeg (gpu) encoding. You use NVenc I guess?

brucethemoose
1st January 2019, 15:52
Hmm I don't really want to ship a big chunk of dependencies that only nvidia users can use and since I only have a amd card here I can't test it myself. But I could link to a zip package similar to the bilineargpu plugin...

I think I can at least add some bat or vseditor-templates for ffmpeg (gpu) encoding. You use NVenc I guess?

Yeah. Reasonably new AMD GPUs and Intel IGPs support hardware encoding too, I used to do it on my 7950 pretty regularly.

Also, there's a mxnet package that supports either Intel CPUs or Nvidia GPUs, depending on which is available. It's not too big, so I don't think it would hurt to include it: https://pypi.org/project/mxnet-cu92mkl/

AMD support for MXNet is coming soon, AFAIK... I'm on an Nvidia GPU atm, so in the meantime I can help test if you want.

ChaosKing
28th January 2019, 16:43
Just checked out VapourSynth Portable FATPAK. Don't seem to be able to open the scripts in VirtualDub2 (64bit) for encoding - 'AVI Import Error' - so I assume that, like Myrsloik's portable version, output is VSPipe only ?


Finally tested the vfw stuff. It seems these reg entries are enough to get vdub to read vpy files:^
(don't use it if you have vapoursynth already installed)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{58F74CA0-BD0E-4664-A49B-8D10E6F0C131}]
@="VapourSynth"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{58F74CA0-BD0E-4664-A49B-8D10E6F0C131}\InProcServer32]
@="D:\\VapourSynth64Portable\\VapourSynth64\\VSVFW.dll"
"ThreadingModel"="Apartment"


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AVIFile]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AVIFile\Extensions\VPY]
@="{58F74CA0-BD0E-4664-A49B-8D10E6F0C131}"

unix
1st February 2019, 20:55
Why I'm getting this error?!

File "...VapourSynth64Portable\Scripts\CSMOD.py", line 1117, in CSMOD
sharpdiff2 = core.focus.TemporalSoften(sharpdiff, 1, 255, 255 if chroma else 0, 32, 2)
File "src\cython\vapoursynth.pyx", line 1803, in vapoursynth.Function.__call__
vapoursynth.Error: TemporalSoften: Too many unnamed arguments specified


script:

import fvsfunc as fvf#
import havsfunc as hvf #
import hnwvsfunc as hnwvsfunc
import CSMOD as cs

src = core.lsmas.LWLibavSource(source='69.mkv')
src = hvf.daa(src).std.AssumeFPS(fpsnum=24000,fpsden=1001)
c = cs.CSMOD(src, ss_w=2, ss_h=2, ssout=True)
c.set_output()

ChaosKing
1st February 2019, 22:00
Remove libfocus-em64t.dll and try again. There are currently 2 TemporalSoften dlls with the same namespace inside the plugins folder. (VapourSynth64Portable\VapourSynth64\vapoursynth64\plugins)

unix
2nd February 2019, 08:16
Remove libfocus-em64t.dll and try again. There are currently 2 TemporalSoften dlls with the same namespace inside the plugins folder. (VapourSynth64Portable\VapourSynth64\vapoursynth64\plugins)

It works
Thanx.

redbtn
13th February 2019, 20:33
Maybe bug with Yuuno Editor? c:\users\anato not my profile.
https://d.radikal.ru/d01/1902/d5/f7403428f081t.jpg (https://d.radikal.ru/d01/1902/d5/f7403428f081.png)

2018-06-21 - Add VS-Editor encoding templates (Press F8)
What does it mean? Where can I find them? Edit -> Snippets and Templates is empty.

ChaosKing
14th February 2019, 01:16
Will check yuuno

Add VS-Editor encoding templates (Press F8)
I meant Presets :D

Iron_Mike
6th March 2019, 08:32
@ChaosKing

thank you for this pack, avoids having to hunt down all these plugins and scripts !

A few notes...

(1) I see a release from 2019-02-xx on page 1, but no download... is this still work-in-progress ?

(2) u may wanna include instructions of all needed dependencies...

a few of your included .exe throw this error...

---------------------------
vsedit.exe - System Error
---------------------------
The program can't start because opencv_core320.dll is missing from your computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------


the app (e.g. VS Edit) ultimately opens, but it seems to be looking for an OpenCV install...

(3) using your portable version, which appears to be like a Py venv, the vapoursynth module is not being recognized by a standard IDE (IntelliJ|Pycharm) even if your included python.exe is being used as the interpreter, so code hinting will throw import error (for the vapoursynth module) - although code executes just fine... code hinting and imports work in the included VS Edit

as a workaround, one can simply copy the Python 3.7 install dir, copy/paste the VS portable version into it, then copy all your plugins over... this will work as a portable version as well (and can be used as a venv) and the IDE will recognize the vapoursynth module, and code hinting will work... u could consider doing that as your release (just a note, not a request)...


Thanks for the share.

ChaosKing
6th March 2019, 09:48
@ChaosKing

thank you for this pack, avoids having to hunt down all these plugins and scripts !

A few notes...

(1) I see a release from 2019-02-xx on page 1, but no download... is this still work-in-progress ?

(2) u may wanna include instructions of all needed dependencies...

a few of your included .exe throw this error...



the app (e.g. VS Edit) ultimately opens, but it seems to be looking for an OpenCV install...

(3) using your portable version, which appears to be like a Py venv, the vapoursynth module is not being recognized by a standard IDE (IntelliJ|Pycharm) even if your included python.exe is being used as the interpreter, so code hinting will throw import error (for the vapoursynth module) - although code executes just fine... code hinting and imports work in the included VS Edit

as a workaround, one can simply copy the Python 3.7 install dir, copy/paste the VS portable version into it, then copy all your plugins over... this will work as a portable version as well (and can be used as a venv) and the IDE will recognize the vapoursynth module, and code hinting will work... u could consider doing that as your release (just a note, not a request)...


Thanks for the share.
(1) yes it is not released yet. (maybe this weekend)
(2) What's is the OS you're using? I already added some runtimes. Never had this error.
(3) The goal is to make VS work and not to provide a complete python "installation". I think the reason why code hinting doesn't work is because the default "libs" are in a zip file so it can't read/find them. That also means that the embedded zip version is much smaller. I also tried to zip the other python modules, but not every module supports it and testing every module is too much work :D
I will compare the full and embedded version and see if it's worth to switch.

Iron_Mike
7th March 2019, 01:05
(1) yes it is not released yet. (maybe this weekend)
(2) What's is the OS you're using? I already added some runtimes. Never had this error.
(3) The goal is to make VS work and not to provide a complete python "installation". I think the reason why code hinting doesn't work is because the default "libs" are in a zip file so it can't read/find them. That also means that the embedded zip version is much smaller. I also tried to zip the other python modules, but not every module supports it and testing every module is too much work :D
I will compare the full and embedded version and see if it's worth to switch.

(1) thanks, I'll stay tuned

(2) on the machine I quickly tested it was Win 8.1 x64 - I googled and found a few other people had similar errors in the past... reason (I assume) why most of you don't see this error, is because you have a version of OpenCV on your system path

(3) yeah, don't sweat it... I just mentioned it for people that wanna incorporate some VS functionality into larger code bases.... and you won't code these projects in VS Edit... difference between full Python and your version was like 20MB unzipped... considering the thing is over 400MB already, it does not make a difference, but the code hinting/evaluation feature is very useful for larger scripts :D

Thanks.

Wolfberry
7th March 2019, 05:35
@ChaosKing You might want to update mvtools here (https://github.com/dubhater/vapoursynth-mvtools/issues/36#issuecomment-462856029) as zorrozork reported some bugs and fixed by dubhater.

@Iron_Mike The only dll that needs OpenCV run-time library is BilateralGPU
Dependencies can be found at 1st post or here.
https://mega.nz/#!3ygkwKIA!Oa1vAO9FK..._IMddHZeSEcAeA
https://mega.nz/#!ejAUSCjD!x-s9Aqr95...9JEroASOJY0bt8
https://mega.nz/#!vqYi3SSL!4k11VV6d4...HYpriJzQlS2DRs

ChaosKing
7th March 2019, 08:51
ahh yes the mvtools fix, totally forgot about this. Just need to test the speed of this build because it could be a slower debug build (the dll is twice as big).
EDIT
Seems not to be slower.

ChaosKing
11th March 2019, 16:17
New release. Now hosted on github: https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/releases
- Added numpy
- No yuuno this time. It didn't install this time and I need to test it more.
- VFW install script, so that Virtualdub can open vpy files. (see extras folder)


EDIT
r19 vsconfig format has changed, replace it with the new one https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/releases/download/r1/vsedit.config

bjoker
28th May 2019, 13:03
Hi,
Is there such FATPACK for Linux (Ubuntu to be specific) please? Thanks!

ChaosKing
28th May 2019, 13:30
I'm not aware of any. There was a ubuntu PPA but it is gone now http://www.vapoursynth.com/doc/installation.html#linux-installation-from-packages

EDIT
His github repo is here https://github.com/darealshinji/vapoursynth-plugins

bjoker
28th May 2019, 14:10
Thanks ChaosKing.
I compiled/installed all these plugins. But how could I link these plugins to Vapoursynth that I compiled/built?

regards,

bjoker
28th May 2019, 15:13
I solved it by
root@ubuntu19:~# cat Mymovie.vpy
import os
import sys
ScriptPath = '/root/VS/Scripts'
#LoadPlugin(path='/usr/local/lib/pkgconfig/ffms2.pc')
sys.path.append(os.path.abspath(ScriptPath))
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(path='/usr/local/lib/vapoursynth/libffms2.so')
clip = core.ffms2.Source(r"/root/eega-1min.mkv", cachefile = r"/root/eega-1min.mkv.ffindex")
clip.set_output()

root@ubuntu19:~#

ChaosKing
28th May 2019, 15:52
Is /usr/local/lib/vapoursynth in your path variable?

bjoker
28th May 2019, 17:58
Yes...

root@ubuntu19:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/bin:/usr/local/lib/vapoursynth:/usr/local/bin:/usr/local/lib/vapoursynth
root@ubuntu19:~# echo $LD_LIBRARY_PATH
/usr/local/lib/vapoursynth:/usr/local/lib:/usr/local/lib:/usr/local/lib/vapoursynth:/usr/local/lib:/usr/local/lib:
root@ubuntu19:~#

qyot27
28th May 2019, 19:29
sudo ldconfig

Also, plugin autoloading:
http://www.vapoursynth.com/doc/autoloading.html#linux

If you're using a PPA build of VapourSynth, the plugin autoload directory is not going to be /usr/local/lib/vapoursynth; meaning you'd have to redo the build of FFMS2 and point it to the current install prefix, or else just simply override the SystemPluginDir directory using the config file instructions above.

bjoker
28th May 2019, 20:09
Thanks Quot27, I used that autoloading solution but there was no .config directory at all in my ~ however I created that config file but it didn't help.

I'm not using PPA build but compiled/built using source.

I posted about my current problem here = https://forum.doom9.org/showthread.php?p=1875564#post1875564

My build configuration here = https://forum.doom9.org/showthread.php?p=1875497#post1875497

Dreamject
9th June 2019, 15:36
You can add simple integration to system using batch like

@ECHO OFF
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\VapourSynth /v CorePlugins64 /t REG_SZ /d "%~dp0vapoursynth64\coreplugins" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\VapourSynth /v Plugins64 /t REG_SZ /d "%~dp0vapoursynth64\plugins" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth /v Version /t REG_SZ /d "R45" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth /v Path /t REG_SZ /d %~dp0 /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth /v CorePlugins /t REG_SZ /d "%~dp0vapoursynth64\coreplugins" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth /v Plugins /t REG_SZ /d "%~dp0vapoursynth64\plugins" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth /v VapourSynthDLL /t REG_SZ /d "%~dp0vapoursynth.dll" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth /v VSScriptDLL /t REG_SZ /d "%~dp0vsscript.dll" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth /v PythonPath /t REG_SZ /d %~dp0 /f
rmdir plugins
rmdir coreplugins
del vsrepo.py
pause
mklink /H vsrepo.py vsrepo\vsrepo.py
mklink /J plugins vapoursynth64\plugins
mklink /J coreplugins vapoursynth64\coreplugins
pause


As I remember mostly you need only one key, its
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth /v PythonPath /t REG_SZ /d %~dp0 /f

Another keys/commands just for compatibility

Also you can create links/symlinks for soft instead cmd links

zorr
6th October 2019, 20:55
Is FATPACK still supported? The latest release (on Github) was released in March 2019.

It seems many plugins need API R3.6 which the latest FATPACK doesn't support.

Is there going to be further releases or should I just install the latest Vapoursynth and plugins using the official installer and VSRepoGUI?

ChaosKing
6th October 2019, 21:00
I will update it soon. If you want to be always up to date, the installer + vsrepo would be the preferred way ;-)

Cary Knoop
6th October 2019, 22:14
I will update it soon.
I just wanted to mention that your work is very much appreciated. I do not think anyone expects up to the minute updates, indeed as you write in that case use the VSRepoGUI, but I hope you will continue to update the fatpack at regular intervals!

After all, we don't want the cat to be upset, now don't we? :)

https://i.imgur.com/ljoZ8Uw.jpg

ChaosKing
9th October 2019, 11:38
New build is up. See first page.

Yuuno is not compatible with python-embedded anymore.
Some new Plugins are added, VSRepoGUI was added and the rest updated.

I hope this pleases Supervisor cat 😸

Cary Knoop
9th October 2019, 15:03
I hope this pleases Supervisor cat 😸
Purr........... :)

ChaosKing
2nd November 2019, 10:00
New release with VS R48 is up, enjoy.

ChaosKing
14th May 2020, 08:28
Finally a new release with VS R50 & Python 3.8 https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/releases/tag/r4

ChaosKing
14th May 2020, 08:34
I would like automate this stuff a bit more with github actions. Is there a way to store plugin binaries on github, but without having to commit them? Like a seperate storage space?
Or should I be evil and just commit everything?

ChaosKing
6th September 2020, 20:44
New release.
Will add vseditor2 probably in the next release.

tatsu2050
5th October 2020, 16:36
Just wanted to say... muchas thankas for this collection!

Etroxamin
23rd September 2021, 11:21
hey, thanks a lot for this pack :)

yesterday, I started to get into VS and would like to try out a few things, but would also like to use some fiters which i used in avisynth.

Tried this filter:

ContinuityFixer https://github.com/MonoS/VS-ContinuityFixer

getting the error: There is no function named ContinuityFixer

that's the script line:

clip = core.edgefixer.ContinuityFixer(clip, left=3, top=3, right=3, bottom=3, radius=3)

"core.edgefixer" seems to work, it's blue, but ContinuityFixer stays black, i also tried to find it in the fatpack folder, but there is no file named like this, i would guess it's simply missing, but on the git there is only continuity.cpp - but no .cpp files in the fatpack at all, i guess it would need to be converted?

help would be very appreciated, this is a very useful filter ... thanks in advance :)

ChaosKing
23rd September 2021, 12:35
Yeah it seems it is not included. Will add it with the upcomming R55 api4 fackpack release.

For know you can download it on the release page https://github.com/MonoS/VS-ContinuityFixer/releases/tag/V6

Etroxamin
23rd September 2021, 13:04
Yeah it seems it is not included. Will add it with the upcomming R55 api4 fackpack release.

For know you can download it on the release page https://github.com/MonoS/VS-ContinuityFixer/releases/tag/V6

thanks a lot for your quick reply, now it works :)

ChaosKing
24th September 2021, 09:38
I think this is the updated Edgefixer version https://github.com/sekrit-twc/EdgeFixer

Julek
24th September 2021, 13:05
The new one has a different result, but you can't use both at the same time because of name conflicts, so to be able to use both you can use this one instead of the old one: https://gitlab.com/Ututu/VS-ContinuityFixer

Etroxamin
24th September 2021, 13:44
hey again :)

before I open a new thread, it might be suitable to ask here. Thanks to the easy to use fatpack, i got most filters to work, yet i have not much knowledge about VS scritping and can't really find a way to apply filters to a range of frames.

I tried to follow this guide: https://silentaperture.gitlab.io/mdbook-guide/filtering/filtering.html

in this example:

src = core.ffms2.Source("video.mkv")
deband = source.neo_f3kdb.Deband(src)

replaced = core.remap.Rfs(src, deband, mappings="[100 200] [500 750]")

it looks quite easy, unfortunately, vs editor is already complaining about the 2nd line,
giving me this error: Python exception: name 'source' is not defined.

to make it short, all i tried wasn't working, or didn't give a result where the filter is limited to certain frames.
Maybe someone could share a script or simply add what's needed to limit a filter to a range of frames.

here's my very simple scritp for deband:

import vapoursynth as vs
core = vs.core
src = core.ffms2.Source("video.mkv")
src = core.neo_f3kdb.Deband(src)
src.set_output()

so, what should be added to limit the debanding filter to e.g. frames 100-110?

thanks in advance for any help.

ChaosKing
24th September 2021, 14:10
This should work I guess (not tested)
import vapoursynth as vs
core = vs.core

src = core.ffms2.Source("video.mkv")

deband = core.neo_f3kdb.Deband(src)
src= core.remap.Rfs(src, deband, mappings="[100 200] [500 750]")

src.set_output()


With deband = core.neo_f3kdb.Deband(src).text.Text("DEBAND") You can easily check which frames exactly the filter is applied to with Text().


it looks quite easy, unfortunately, vs editor is already complaining about the 2nd line,
giving me this error: Python exception: name 'source' is not defined.

Because source was not defined before, only src were.

correct would be
deband = core.neo_f3kdb.Deband(src)
OR
deband = src.neo_f3kdb.Deband()

Etroxamin
24th September 2021, 15:08
This should work I guess (not tested)
import vapoursynth as vs
core = vs.core

src = core.ffms2.Source("video.mkv")

deband = core.neo_f3kdb.Deband(src)
src = core.remap.Rfs(src, deband, mappings="[100 200] [500 750]")

src.set_output()


yup, this works.

Another approach was suggested:

import vapoursynth as vs
core = vs.core
src = core.ffms2.Source("video.mkv")
deband = core.neo_f3kdb.Deband(src)
replaced = core.remap.Rfs(src, deband, mappings="[63300 63400]")
replaced.set_output()

this will also work, but can't say yet which might be better for multiple scene based filters, guess i have to test a bit more to find out.

thanks again, very appreciated :)

Etroxamin
24th September 2021, 20:04
finesharp.py https://gist.github.com/4re/8676fd350d4b5b223ab9

seems not to be included in the fatpack (but its on the list), maybe you could add this in the next release. I will check more from the pack over time, and report here if anything is missing, perhaps most just get the file/script and don't repot here for missing stuff.

Edit:

CAS https://github.com/HomeOfVapourSynthEvolution/VapourSynth-CAS

is included in the pack, but not on the list, might be worth to mention there, it's a quite useful sharpener, especially when combined with masks ....

Etroxamin
28th September 2021, 14:24
ok, after spending some time with scripting, i would like to to do some test encodes.

the editor has a in-build encoder, i tried this, and it worked 1 time.
But now i get this error:

x264 [error]: could not open output file `\x264_10bit_video.mkv'

i haven't changed the encode parameters:

--demuxer y4m --preset medium --crf 16 --output-depth 10 -o "{sd}\x264_10bit_video.mkv" -


Well, for my tests i would perhaps also need to specify a lot more parameters. To get down to 10 bit i use this:

src = core.resize.Bicubic(src, format=vs.YUV420P10, matrix_s='709', dither_type='none')

errors about missing/wrong color information were shown, when i tried this, so i tried a simple video without any filters first, as said, that worked 1 time. Now nothing works ...

could need some help i guess, thanks in advance.

ChaosKing
28th September 2021, 17:20
If the script preview works then so should the encode function. Make sure Header is set to Y4M. By default it is set so "no header", it's a bug in vsedit.
Switching profiles to a different one and then back re-sets the header also to the correct value.

Etroxamin
28th September 2021, 19:49
If the script preview works then so should the encode function. Make sure Header is set to Y4M. By default it is set so "no header", it's a bug in vsedit.
Switching profiles to a different one and then back re-sets the header also to the correct value.

thanks for your answer ChoasKing,

i tried to switch to Y4M header, also tried to reload everything, etc. and as said it worked, but also were complaining about colors, however, i just tried it with x265, as it would be my choice anyway and now it works flawlessly, don't know why x264 doesn't want to work anymore, but might not be important anyway.

I will just stick with x265 for now, overall i'd say i can offer better quality anyway, even if it sometimes can screw up some minor details, which x264 did quite well, but an overall better quality is perhaps the more important thing :)

Etroxamin
29th September 2021, 22:24
ok, i made some test encodes, looking good so far, but i encountered a huge problem:

in a larger test video, i got video jitter in one scene, very noticeable and have no idea what can cause this, the error is not reproduceable, and didnt happen in the first test, as well in another test to see if it happens again with the exactly same script.

EDIT:

seems like this error was caused by ffms2, problem was fixed with older release

ChaosKing
29th September 2021, 23:23
This warning shouldn't cause any problems normally. Maybe your source filter is not 100% frame accurate.
If you can wait a bit (probably till the weekend) then I will release a new package based on R56. Then it should not print this waning anymore Script exceeded memory limit...

Etroxamin
30th September 2021, 11:36
This warning shouldn't cause any problems normally. Maybe your source filter is not 100% frame accurate.
If you can wait a bit (probably till the weekend) then I will release a new package based on R56. Then it should not print this waning anymore Script exceeded memory limit...

The warning may not really be a problem, i guess, just thought that it eventually could be a reason.

I use the ffms2 source filter that is bundled with the fatpack with this (standard ?) script:

src = core.ffms2.Source("Video.mkv")

however, is there a way to check for accuracy?

Eventually it would also be an idea to use a pure video file, i currently use a complete remux and it's stored on an external hdd, maybe i should copy it to my ssd as well.

an updated pack may could help too and sure i have time to wait, it's just testing anyway, btw. started another test and a similar error was noticeable, in the same scene, but a few frames later and less stuttering, however if i only test the scene itself, it never happens (tried it a couple of times). This is also not very far into encoding process, less than a minute, really strange ...

I will test this again tonight, with pure video and stored on my ssd (system enviroment), might be worht a try. Btw i already did the same test, but with ttempsmooth and the error didn't occured. Seems to be pure coincidence if it happens or not.

Etroxamin
30th September 2021, 22:26
I already tried to encode the part a 3rd time and got the same stutter in the same scene, but eventually i found the reason why this is happening and would also explain why it is happening only with my larger test encode.

for the test i do 10000 frames, after the 3rd time this happened i tried to compare different ffms2 versions, starting with the older one which have installed around 2019 on my old pc, the result was different by 1 frame, the newer version however seems to have lost 1 frame compared to the older one, and after trying to find out where this happens, i noticed this seems to happen within the range of my 10000 frames test encode. It's actually not happening in the scene, but when there happens an error like this, it might not be easy to find out where it exactly happens.

I will do another test encode and see if the stuttering happens again.
Btw, i also noticed the newer version is a lot faster than the old one, only takes 40-50 seconds (at least on my NVMe), while the older version needs about 4-5 minutes, on a hdd, this is not very noticeable.
Might be that the better speed enhancement looks like a good step forward developing FFMS2, but may can cause problems for certain videos. I will post again if this will be confirmed by my next test encode.

ChaosKing
30th September 2021, 22:35
however, is there a way to check for accuracy?


Where should be a bat file _seek_test_(drop files on me blah).bat in the root folder.

Etroxamin
1st October 2021, 11:11
Where should be a bat file _seek_test_(drop files on me blah).bat in the root folder.

ok, thanks for the hint :)

did that with the file i had problems with, mode 1, as well as mode 6 and of course with the ffms2 version that caused the problem. But the result is a little bit sobering, seek test method 1, as well as 2 showed no issues.

I also finished my new test encode and as i already expected, there were no problems with the older ffms2.

The video track has been demuxed with eac3to latest version and remuxed with the latest version of MKVToolNix, guess there shouldn't be any problem. The BD is relative old ~2008 release, it has 2 ref frames limit, which isn't very common, it also lacks of certain meta info, like color matrix entrys. Might be source specefic, or maybe not.

Eventually other users have discovered similar problems with other sources as well, perhaps worth to have a look at, currently i dont feel like i want to test this a lot tbh, but maybe others.

Etroxamin
2nd October 2021, 01:15
hey, just a short question:

is it possible to use --zonefile command?

tried it with --zonefile zones.txt, the encoder isn't complaining about it, but it for sure does have no effect.

text file is in the same folder as the encoder.exe and looks like this:

0 crf 10
5000 crf 15
10000 crf 20

on the x265 info page, its wirtten, --zonfile is only for cli.
but i also tried

--zones 0,5000,q=20

which doesnt have any effect as well.

would be nice to be able to zone with crf of course ...

PS: I only did tests with frame samples, not a whole video, not sure if that can cause problems.

ChaosKing
2nd October 2021, 08:14
There are no restrictions. It's just a normal x265 binary (you could try to update the binary to a newer version).

ChaosKing
16th October 2021, 19:18
New release https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/releases/tag/r6

Zarxrax
8th January 2024, 18:01
Is there any chance for an update to this pack? I found it very useful, but the last release is a couple years old by now.

ChaosKing
9th January 2024, 12:59
I'm a bit busy these days. Maybe with the next Vapoursynth release => R66.

rainman74
14th May 2024, 14:29
I'm a bit busy these days. Maybe with the next Vapoursynth release => R66.

:thanks: