Log in

View Full Version : New Plugins and Utilities


Pages : 1 2 3 4 5 [6] 7 8

kedautinh12
5th November 2021, 07:02
SubImageFile
https://github.com/Asd-g/AviSynthPlus-SubImageFile/releases/tag/1.0.0

PropToClip
https://github.com/Asd-g/AviSynthPlus-PropToClip/releases/tag/1.0.0

kedautinh12
1st February 2022, 15:48
edgelevel_avisynth
https://github.com/rigaya/edgelevel_avisynth

kedautinh12
15th March 2022, 00:10
New fork vinverse from Asd-g :D
https://github.com/Asd-g/vinverse

Reel.Deel
29th March 2022, 10:06
Port of FFmpeg's grayworld filter to AviSynth+: https://github.com/Asd-g/AviSynthPlus-grayworld

Thanks Asd :)

arnea
31st March 2022, 20:16
Plugin for stabilizing scanned films using perforation as a reference: https://github.com/arnean/PerfPan

StainlessS
31st March 2022, 21:27
Arnea, maybe make a thread here somewhere too.
Panning algorithm

I took the Avisynth core AddBoders filter and modified it to do panning - i.e. on one side it will add borders but on the other side it will crop to keep the image size.
It will work with all image formats and should be quite effective. Just one remark: if the original clip is in YV12 colourspace then it is possible to pan only in steps of two pixels.
The plugin will automatically do it, but the result is not as good as with other formats.

AddBorders (presume typo),
can be replaced with some resize, and can even shift YV12 by fractional pixel.
Something like (untested - Hope I did it right)

W=Width
H=Height
XSHIFT = -0.5 # Half pixel shift; -ve = right shift, +ve = left shift
Spline36Resize(W,H, XSHIFT,0, W,H)


EDIT: -ve = right shift, as it is where we get source from, rather than we put dest.

Could of course do like this

W=Width
H=Height
XSHIFT = 0.5 # Half pixel shift; +ve = right shift, -ve = left shift
Spline36Resize(W,H, -XSHIFT ,0, W,H)


EDIT: Arnea, dont reply here, is for new plugins only. Start new thread if necessary.

EDIT: Wonkey Donkey posted this in your Avs Devs thread,
For that you can use env->Invoke(...)

http://avisynth.nl/index.php/Filter_SDK/Env_Invoke

Crop and AddBorders will only get you pixel-accurate (or less, depending on colour format) panning, though. Instead you can use one of the resizers with offsets (be warned that bicubicresize will soften your image unless you set b = 0 and c = 0.5, if I remember correctly).
And my edit was this,

EDIT: Below, Wonkey suggests resizer rather than crop, yes, that is better than crop.

StainlessS
1st April 2022, 13:03
Utility script function ConvTxtToOggChap.avsi, posted in another D9 forum,
https://forum.doom9.org/showthread.php?p=1966757#post1966757

Converts very loosely user specified times and chapter name in file, to Ogg/Ogm Chapter style in file.

eg, source file

00:00 Title 1
02:40 Title 2
09:27 Title 3
15:12 Title 4
#...
1:05:23 Title x
1:13:26 Title xx
#...
00:00. Title 7
02:40.12 Title 8
09:27.99 Title 9
15:12.71 Title 10
23:59:59.987 Title 11


Output file

CHAPTER01=00:00:00.000
CHAPTER01NAME=Title 1
CHAPTER02=00:02:40.000
CHAPTER02NAME=Title 2
CHAPTER03=00:09:27.000
CHAPTER03NAME=Title 3
CHAPTER04=00:15:12.000
CHAPTER04NAME=Title 4
CHAPTER05=01:05:23.000
CHAPTER05NAME=Title x
CHAPTER06=01:13:26.000
CHAPTER06NAME=Title xx
CHAPTER07=00:00:00.000
CHAPTER07NAME=Title 7
CHAPTER08=00:02:40.120
CHAPTER08NAME=Title 8
CHAPTER09=00:09:27.990
CHAPTER09NAME=Title 9
CHAPTER10=00:15:12.710
CHAPTER10NAME=Title 10
CHAPTER11=23:59:59.987
CHAPTER11NAME=Title 11


Apparently input style is often posted in YouTube comments.
May be of limited use in Avisynth.

Julek
2nd April 2022, 19:04
Descale now supports AVS:
https://github.com/Irrational-Encoding-Wizardry/descale/releases/tag/r8

kedautinh12
4th April 2022, 10:51
Descale x86 ver
https://github.com/Irrational-Encoding-Wizardry/descale/files/8405290/avisynth-descale-r8-win32.zip

Reel.Deel
11th April 2022, 13:05
ChickenDream: realistic film grain generator, plug-in for Vapoursynth and Avisynth+

Thread: https://forum.doom9.org/showthread.php?t=184052
Repo: https://github.com/EleonoreMizo/chickendream

kedautinh12
25th April 2022, 05:45
AviSynth-sbr
https://github.com/Asd-g/AviSynth-sbr

kedautinh12
28th April 2022, 14:50
crabshank_filters
https://gitlab.com/uvz/AviSynthPlus-Plugins-Scripts/-/tree/master/crabshank_filters

DTL
7th May 2022, 18:08
MDeblock x64 build for new 2.6 AVS API (I hope) - https://github.com/DTL2020/MDeblock/releases/tag/v0.3-x64
Just to make old sources v0.3 work with new AVS+.

kedautinh12
13th May 2022, 13:07
x64 version of Fizick's BlockOverlap
https://github.com/DTL2020/BlockOverlap/releases

kedautinh12
15th May 2022, 07:29
AviSynth-AGM
https://github.com/Asd-g/AviSynth-AGM/releases

kedautinh12
28th May 2022, 16:54
crabshank_filters
https://gitlab.com/uvz/AviSynthPlus-Plugins-Scripts/-/tree/master/crabshank_filters

If anyone errors with crabshank_filters x86 ver from Pinterf's avs+ x86 xp ver build in newer os, you can use with this build:
https://gitlab.com/uvz/AviSynthPlus-Builds

kedautinh12
10th June 2022, 13:16
AviSynth-tcolormask
https://github.com/Asd-g/AviSynth-tcolormask

kedautinh12
11th June 2022, 01:38
AviSynth-FCBI
https://github.com/Asd-g/AviSynth-FCBI

StainlessS
11th June 2022, 19:32
From earlier in this thread,

Utility script function ConvTxtToOggChap.avsi, posted in another D9 forum,
https://forum.doom9.org/showthread.php?p=1966757#post1966757

Converts very loosely user specified times and chapter name in file, to Ogg/Ogm Chapter style in file.

eg, source file

00:00 Title 1
02:40 Title 2
09:27 Title 3
15:12 Title 4
#...
1:05:23 Title x
1:13:26 Title xx
#...
00:00. Title 7
02:40.12 Title 8
09:27.99 Title 9
15:12.71 Title 10
23:59:59.987 Title 11


Output file

CHAPTER01=00:00:00.000
CHAPTER01NAME=Title 1
CHAPTER02=00:02:40.000
CHAPTER02NAME=Title 2
CHAPTER03=00:09:27.000
CHAPTER03NAME=Title 3
CHAPTER04=00:15:12.000
CHAPTER04NAME=Title 4
CHAPTER05=01:05:23.000
CHAPTER05NAME=Title x
CHAPTER06=01:13:26.000
CHAPTER06NAME=Title xx
CHAPTER07=00:00:00.000
CHAPTER07NAME=Title 7
CHAPTER08=00:02:40.120
CHAPTER08NAME=Title 8
CHAPTER09=00:09:27.990
CHAPTER09NAME=Title 9
CHAPTER10=00:15:12.710
CHAPTER10NAME=Title 10
CHAPTER11=23:59:59.987
CHAPTER11NAME=Title 11


Apparently input style is often posted in YouTube comments.
May be of limited use in Avisynth.

UPDATE, ConvTxtToOggChap.avsi now supports COMMA(,) as well as PERIOD(.) as fractional seconds separator.
POSTED AGAIN HERE, as not originally posted in Avisynth forum, update source might be useful to somebody.

UPDATED Post here:- https://forum.doom9.org/showthread.php?p=1970192#post1970192

kedautinh12
26th June 2022, 16:51
AviSynthPlus-NNEDI3CL
https://github.com/Asd-g/AviSynthPlus-NNEDI3CL

Reel.Deel
16th July 2022, 05:50
avs_libplacebo: https://github.com/Asd-g/avslibplacebo
An AviSynth+ plugin interface to libplacebo - a reusable library for GPU-accelerated image/video processing primitives and shaders.

Thanks Asd :)

kedautinh12
16th July 2022, 09:23
avs_libplacebo: https://github.com/Asd-g/avslibplacebo
An AviSynth+ plugin interface to libplacebo - a reusable library for GPU-accelerated image/video processing primitives and shaders.

Thanks Asd :)

Lol, i'm waiting to post it but you faster :D

kedautinh12
2nd August 2022, 14:35
Descale now supports AVS:
https://github.com/Irrational-Encoding-Wizardry/descale/releases/tag/r8

New fix descale for avs here:
https://gitlab.com/uvz/AviSynthPlus-Plugins-Scripts

kedautinh12
18th August 2022, 00:15
AviSynthPlus-w2xncnnvk
https://github.com/Asd-g/AviSynthPlus-w2xncnnvk

guest
18th August 2022, 07:57
AviSynthPlus-w2xncnnvk
https://github.com/Asd-g/AviSynthPlus-w2xncnnvk

What's this do ??

Reel.Deel
18th August 2022, 16:25
What's this do ??

Upscaling. See https://en.wikipedia.org/wiki/Waifu2x

Lots of more examples on the web.

Reel.Deel
21st August 2022, 18:18
AviSynthPlus-RIFE - https://github.com/Asd-g/AviSynthPlus-RIFE

Real-Time Intermediate Flow Estimation for Video Frame Interpolation.

Many thanks Asd :)

Dogway
21st August 2022, 18:36
Oh my god, Reel.Deel too fast was about to report! lol
Asd-g is on a roll

kedautinh12
21st August 2022, 18:59
Asd-g can make avs+ great again :D

Reel.Deel
21st August 2022, 19:14
Oh my god, Reel.Deel too fast was about to report! lol
Asd-g is on a roll

I just happened to be on GitHub at the right moment lol.

I just tried out RIFE on the "lady in red" scene from The Matrix and I'm impressed with the results. All of the other methods I have tried usually have a lot of artifacts of blurring (blending), with RIFE is as sharp as the source and minimal artifacts.

kedautinh12
21st August 2022, 19:20
Oh my god, Reel.Deel too fast was about to report! lol
Asd-g is on a roll

Dogway, can you add it to your deinterlaced scripts??

anton_foy
22nd August 2022, 12:22
Asd-g great work!

Would it be possible to use RIFE for motioncompensation of filters such as temporalsoften for example? I was thinking the way mflowfps was used to mocomp.

Edit: DPIR for avs+ maybe? :D

kedautinh12
22nd August 2022, 14:00
Asd-g great work!

Would it be possible to use RIFE for motioncompensation of filters such as temporalsoften for example or even denoise with RIFE itself?

Edit: DPIR for avs+ maybe? :D

I don't think that cause DPIR need NumPy to work

anton_foy
22nd August 2022, 15:29
I don't think that cause DPIR need NumPy to work

Ah thanks. Seems I cannot use RIFE (or avs_libplacebo or w2xncnnvk) anyway, I guess my GTX 970 card does not support it.

kedautinh12
22nd August 2022, 15:32
Ah thanks. Seems I cannot use RIFE (or avs_libplacebo or w2xncnnvk) anyway, I guess my GTX 970 card does not support it.

if your card support Vulkan, it's can. Try update your driver

anton_foy
22nd August 2022, 16:08
if your card support Vulkan, it's can. Try update your driver

Updated NVIDIA drivers (Vulkan) now and restarted but I get errors:
#RIFE():
RIFE: failed to load model

#w2xncnnvk(scale=1,noise=3,model=2):
waifu2x_nvk: failed to load model

#libplacebo_deband():
System exception - Access Violation

I have the models folders in my 'plugins64' folder where the dll's are.

kedautinh12
22nd August 2022, 17:31
Updated NVIDIA drivers (Vulkan) now and restarted but I get errors:
#RIFE():
RIFE: failed to load model

#w2xncnnvk(scale=1,noise=3,model=2):
waifu2x_nvk: failed to load model

#libplacebo_deband():
System exception - Access Violation

I have the models folders in my 'plugins64' folder where the dll's are.

Are you meet full requiment??
https://github.com/Asd-g/avslibplacebo#requirements

anton_foy
22nd August 2022, 18:19
Are you meet full requiment??
https://github.com/Asd-g/avslibplacebo#requirements

Thank you yes now after I used the required version of AVS+ libplacebo is working. Yet RIFE and w2xncnnvk gives me the same error.

EDIT: okay I fiddled with the folders and rife and w2xncnnvk now runs but I get alot of 'vkAllocateMemory failed -2' and
'vkQueueSubmit failed -4' on both of them. I actually got a few frames from RIFE with some black frames now and then but w2xncnnvk is all black frames. Will try to adjust 'setmemorymax' some more.

Here are the lines:
convertbits(32).convertToPlanarRGB()
rife()

convertbits(32).convertToPlanarRGB()
w2xncnnvk(scale=1,noise=3,model=2)

Thanks.

kedautinh12
23rd August 2022, 00:05
Thank you yes now after I used the required version of AVS+ libplacebo is working. Yet RIFE and w2xncnnvk gives me the same error.

EDIT: okay I fiddled with the folders and rife and w2xncnnvk now runs but I get alot of 'vkAllocateMemory failed -2' and
'vkQueueSubmit failed -4' on both of them. I actually got a few frames from RIFE with some black frames now and then but w2xncnnvk is all black frames. Will try to adjust 'setmemorymax' some more.

Here are the lines:
convertbits(32).convertToPlanarRGB()
rife()

convertbits(32).convertToPlanarRGB()
w2xncnnvk(scale=1,noise=3,model=2)

Thanks.

If you still issue you need report to Asd-g in issue tab of github

DTL
19th October 2022, 06:30
Would it be possible to use RIFE for motioncompensation of filters such as temporalsoften for example? I was thinking the way mflowfps was used to mocomp.


It can run for denoise - but slow and require lots of accelerator memory (6 GB can fit only about equal to MDegrain1 with 1920x1080 frame and 3 AVS+ threads) - https://forum.doom9.org/showthread.php?p=1976763#post1976763

Though do not have any user-adjustable params (content-depending). So may be much more beginners-friendly.

May be any framerate converter with increasing framerate by calculate intermediate frames may run as a source for denoising script in AVS or in compiled form.

" get alot of 'vkAllocateMemory failed -2' and
'vkQueueSubmit failed -4' on both of them."

If it run out of HWA memory or other resources it looks the only way is to decrease AVS threads number (or calls to Vulkan device other ways).

anton_foy
19th October 2022, 10:16
It can run for denoise - but slow and require lots of accelerator memory (6 GB can fit only about equal to MDegrain1 with 1920x1080 frame and 3 AVS+ threads) - https://forum.doom9.org/showthread.php?p=1976763#post1976763

Though do not have any user-adjustable params (content-depending). So may be much more beginners-friendly.

May be any framerate converter with increasing framerate by calculate intermediate frames may run as a source for denoising script in AVS or in compiled form.

" get alot of 'vkAllocateMemory failed -2' and
'vkQueueSubmit failed -4' on both of them."

If it run out of HWA memory or other resources it looks the only way is to decrease AVS threads number (or calls to Vulkan device other ways).

Thanks I will try to reduce the number of threads. Interesting test you made. As I almost only deal with UHD I suspect it will be too slow.

kedautinh12
28th November 2022, 18:11
EEDI3CL
https://github.com/Asd-g/AviSynthPlus-EEDI3CL/releases

kedautinh12
10th December 2022, 16:20
AviSynthPlus-ssimulacra
https://github.com/Asd-g/AviSynthPlus-ssimulacra/releases

Reel.Deel
28th January 2023, 01:26
avs-mlrt - AviSynth+ ML filter runtimes for variety of platforms: https://github.com/Asd-g/avs-mlrt


Thanks Asd :)

kedautinh12
28th January 2023, 04:19
Excellent Asd-g, It will open new era for avs+ :D

DTL
8th February 2023, 23:32
Asd-g made 'compiled' version of RIFE-denoise (about equal to MDegrain1 in 'degrain strength') plugin to test - https://github.com/Asd-g/AviSynthPlus-RIFE/issues/2#issuecomment-1423270259 . I do not have access to required GPU for several days to check until next work day.
It now should work like

RIFE(denoise=true, ... other params for RIFE if required)


Still require Average() plugin loaded.

From my old tests of 2022 - it work about good with sharp and detailed enough content like from 3chip video camera FHD, but fails with soft enough 35mm film scan in 1080p producing lots of bad blended areas. May be need to adjust better 'model' or use new models from 2023 if available.

kedautinh12
17th February 2023, 09:39
Latest ver now. It should be used only for denoising.
denoise parameter is removed.
New parameter denoise_tr. Default 1, it must be greater than 0.
New parameter denoise_blending_mode. 0 - average (still average plugin required); 1 - none. Default 0.
https://github.com/Asd-g/AviSynthPlus-RIFE/issues/2#issuecomment-1434131929

DTL
17th February 2023, 10:57
Well - it now should be possible to run RIFE motion compensation and interpolation and some external blending engine with better protection against bad blends in the areas where RIFE fails with perfect motion compensation. Like tr=2 mode using MDegrain1 as blending engine and MAnalyse as SAD computing:


tr1=RIFE_denoise(denoise_blending_mode=1, denoise_tr=1)
tr2=RIFE_denoise(denoise_blending_mode=1, denoise_tr=2)
sad1=MAnalyse(delta=1, (some way to feed current frame or tr1 as + or -1 frame to MAnalyse - may be Interleave() ?)
sad2=MAnalyse(delta=1, (some way to feed current frame or tr2 as + or -1 frame to MAnalyse - may be Interleave() ?)
out=MDegrain1(sort of Interleaved(last, tr1, tr2), mvbw=sad1, mvfw=sad2, thSAD=our_protection_value)


When using MAnalyse with fastest modes (like zero search if possible like searchparam=0, pel=1 and may be optPredictorsMode=fastest_current_plane_sad_only for newer versions) it should run with low CPU usage and with all motion-search and motion-compensation quality provided from RIFE. Or may be other external blending engines possible with protection from too bad blends (may be block or sample-threshold based or median or ?).

anton_foy
17th February 2023, 20:45
Well - it now should be possible to run RIFE motion compensation and interpolation and some external blending engine with better protection against bad blends in the areas where RIFE fails with perfect motion compensation. Like tr=2 mode using MDegrain1 as blending engine and MAnalyse as SAD computing:


tr1=RIFE_denoise(denoise_blending_mode=1, denoise_tr=1)
tr2=RIFE_denoise(denoise_blending_mode=1, denoise_tr=2)
sad1=MAnalyse(delta=1, (some way to feed current frame or tr1 as + or -1 frame to MAnalyse - may be Interleave() ?)
sad2=MAnalyse(delta=1, (some way to feed current frame or tr2 as + or -1 frame to MAnalyse - may be Interleave() ?)
out=MDegrain1(sort of Interleaved(last, tr1, tr2), mvbw=sad1, mvfw=sad2, thSAD=our_protection_value)


When using MAnalyse with fastest modes (like zero search if possible like searchparam=0, pel=1 and may be optPredictorsMode=fastest_current_plane_sad_only for newer versions) it should run with low CPU usage and with all motion-search and motion-compensation quality provided from RIFE. Or may be other external blending engines possible with protection from too bad blends (may be block or sample-threshold based or median or ?).

So interesting! But how can MDegrain pick up motion vectors from rife? Or is there a way to surpass it to get the interleaved data?

DTL
17th February 2023, 20:54
It no more need MVs for motion compensation - it can run as simple enough blend engine for already motion compensated frames (MVs dx, dy equal to dx=0,dy=0). With internal protection against bad blends where RIFE fails with motion compensation. Today at testing I found internal tr=1 RIFE denoise based on simple (non-bad blends protected) Average() plugin works looks like OK. At 1080p clip and GTX1060 card even 2 AVS+ threads already saturate 'compute1' performance counter to 100% and fps reach 4 limit. Single thread run at about 3 fps. CPU load is only 5%. More AVS+ threads only increase GPU memory load and at about 5 threads it crashes with vk_errors (like out of memory).

But attempt to output motion compensated frames to external blending engine fails (looks like some bug corrupts AVS environment) - reported to Asd-g. Or may be it is bug in old (3.7.3 AVS+ version) - we wll see later.

Script like

src_den=last
tr1=RIFE(denoise_tr=1, denoise_blending_mode=1)
tr2=RIFE(denoise_tr=2, denoise_blending_mode=1)
Average(src_den, 0.2, tr1, 0.4, tr2, 0.4)

corrupts AVS+ environment (clip 'src_den' got much more frames as before RIFE() calls) and Average() plugin fails. At least with my AVS+ version of 3.7.3. Same is with attempt to use 'last' variable in the Average().