Log in

View Full Version : Dogway's Filters Packs


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 [57] 58 59 60 61 62

Blankmedia
6th December 2023, 04:05
Animation is typically telecined unless this is a TV capture or something, this is not ideal.
QTGMC+ is mainly designed after live recorded video with more temporal coherence.

Try to add back the old bobber with:
UseEdiExt=1 (or 2 for vinverse filtered), EdiExt=ex_bob(src, 0,0.5,props=1)Thanks it seems to do it

kedautinh12
6th December 2023, 07:13
ok. thx for that.

is there any avisynth related solution to clean this video up that i could use....

You can try with mlrt_ov (https://github.com/Asd-g/avs-mlrt/releases), and OpenVINO runtimes (https://github.com/Asd-g/avs-mlrt/blob/main/2022.3.7z) (you need put all .dll in same folder), Model from here (https://github.com/styler00dollar/VSGAN-tensorrt-docker/releases/tag/models)
https://i.imgur.com/STiHnzH.png

Script:
z_ConvertFormat(pixel_type="rgbps", colorspace_op="709:709:709:l=>rgb:709:709:f")
mlrt_ov(network_path="C:/Program Files (x86)/AviSynth+/plugins64+/models/RealESRGAN/RealESRGAN_x2plus_op18.onnx", builtin=false, fp16=true, tilesize_w=width/4, tilesize_h=height/4)
propSet("_FieldBased",0)
deep_resize(1280,720,edge="SSIM2")
z_ConvertFormat(pixel_type="yuv420p8", colorspace_op="rgb:709:709:f=>709:709:709:l")

madey83
6th December 2023, 11:24
You can try with mlrt_ov (https://github.com/Asd-g/avs-mlrt/releases), and OpenVINO runtimes (https://github.com/Asd-g/avs-mlrt/blob/main/2022.3.7z) (you need put all .dll in same folder), Model from here (https://github.com/styler00dollar/VSGAN-tensorrt-docker/releases/tag/models)
https://i.imgur.com/STiHnzH.png

Script:
z_ConvertFormat(pixel_type="rgbps", colorspace_op="709:709:709:l=>rgb:709:709:f")
mlrt_ov(network_path="C:/Program Files (x86)/AviSynth+/plugins64+/models/RealESRGAN/RealESRGAN_x2plus_op18.onnx", builtin=false, fp16=true, tilesize_w=width/4, tilesize_h=height/4)
propSet("_FieldBased",0)
deep_resize(1280,720,edge="SSIM2")
z_ConvertFormat(pixel_type="yuv420p8", colorspace_op="rgb:709:709:f=>709:709:709:l")

thank you for that, but is is still very slow. I will try other thinks... :)

kedautinh12
6th December 2023, 11:31
I think it's faster than yesterday script

kedautinh12
6th December 2023, 11:40
Everything will easy if you upgrade your GPU to high end :D

madey83
6th December 2023, 11:52
I think it's faster than yesterday script

yes it is ~1 fps.

many thanks for your all advices..

kedautinh12
7th December 2023, 03:54
If you find other thing good can share to me? More learing more development:D

madey83
7th December 2023, 07:52
this is how my last call looks like, and it is quite fast on my hardware (arround 10 fps)

ConvertBits(16)
dfttest(sigma=64, tbsize=1, dither=1)
pr=ex_Median(mode="IQMST",thres=255)
pre=ex_blend(pr,"blend",opacity=0.2).ex_sbr(1,UV=3)

SMDegrain(tr=3, thSAD=600, thSCD2 = 100, mode="TemporalSoften", truemotion=false, prefilter=pre, contrasharp=false)

deep_resize(1440,1080,edge="nnedi3",flat="nnedi3",grain=0,qual=2,sspace="sigmoid")

ex_unsharp(0.3,Fc=width()/1.5,safe=true) # Remove some of the dreamy look
ex_unsharp(1.0,Fc=width()*2.0,safe=true) # Extra fine sharpness

neo_f3kdb(range=15, y=65, cb=40, cr=40, grainy=0, grainc=0, sample_mode=4, blur_first=True, dynamic_grain=true, mt=False, keep_tv_range=True,output_depth=16)
ConvertBits(10,dither=1)

but i have still problems with removing some dirt/dots....

kedautinh12
7th December 2023, 08:04
You can try spotless for dedots

madey83
7th December 2023, 08:07
i have tried this call, but do not see any different:

SpotLess(ThSAD2=1000,RadT=1,Chroma=true,BlkSz=8,OLap=4,Tm=false)

edit: i do not have any expirance with it... i found it yesterday... maybe i'm using it wrongly

kedautinh12
7th December 2023, 08:25
Increase RadT, delete Tm parameter

madey83
7th December 2023, 08:35
Increase RadT, delete Tm parameter

thx.. looks better. i think this is my final call:

dfttest(sigma=64, tbsize=1, dither=1)
pr=ex_Median(mode="IQMST",thres=255) pre=ex_blend(pr,"blend",opacity=0.2).ex_sbr(1,UV=3)
SMDegrain(tr=3, thSAD=600, thSCD2 = 100, mode="TemporalSoften", truemotion=false, prefilter=pre, contrasharp=false)

SpotLess(ThSAD2=1000,RadT=2,Chroma=true,BlkSz=8,OLap=4) # i think it is a good place to call it....

deep_resize(1440,1080,edge="nnedi3",flat="nnedi3",grain=0,qual=2,sspace="sigmoid",gpuid=0)
ex_unsharp(0.3,Fc=width()/1.5,safe=true) # Remove some of the dreamy look
ex_unsharp(0.15).ex_unsharp(0.15, Fc=width()/1.5)

neo_f3kdb(range=15, y=65, cb=40, cr=40, grainy=0, grainc=0, sample_mode=4, blur_first=True, dynamic_grain=true, mt=False, keep_tv_range=True,output_depth=16)
ConvertBits(10,dither=1)

kedautinh12
7th December 2023, 08:50
try replace neo_f3kdb with
convertbits(16)
GradFun3plus(thr=0.25, radius=10, mask=2, smode=0,UV=3)

Or
convertbits(16)
GradFun3plus(thr=0.5, radius=20, mask=2, smode=0,UV=3)

madey83
7th December 2023, 09:16
try replace neo_f3kdb with
convertbits(16)
GradFun3plus(thr=0.25, radius=10, mask=2, smode=0,UV=3)

Or
convertbits(16)
GradFun3plus(thr=0.5, radius=20, mask=2, smode=0,UV=3)


to my eyes i do not really see any differents between GradFun3plus and neo_f3kdb


Do you see any other improvments for script?

kedautinh12
7th December 2023, 09:24
Just short clip, i don't see different very much, maybe good for full clip of your where the part i don't have. For my test with other clip, gradfun3plus is better

madey83
7th December 2023, 12:01
Just short clip, i don't see different very much, maybe good for full clip of your where the part i don't have. For my test with other clip, gradfun3plus is better

i have sent you PM with the link

flossy_cake
13th December 2023, 18:01
hello,

can i ask for help with clearing out this clip:
https://mega.nz/file/sZZh2bpI#zK7jGmvE7xAM7gxR2YyN4oAfLTPVTpqB6eIUaHFhupk

thank you in advance for any help :)

Can you please reupload the clip as the link is broken

flossy_cake
13th December 2023, 18:39
yes it is ~1 fps.

If you want like 70fps this is what I'm using for realtime playback of 480p animation on HTPC


# Assuming 480p input clip #

# temporal antialiasing, denoising & stabilisation (without NNEDI3 interpolation)
QTGMC(InputType=1, TR2=3, preset="slow", EdiThreads=4, Sharpness=0.0, Rep0=13).Prefetch(6)

# line thinning - increase first param by 5.0 at a time for thinner lines
aWarpSharp(15.0, blurlevel=1).Prefetch(1)

# sharpening
CAS(sharpness=0.75, y=3, u=2, v=2, opt=-1).Prefetch(1)

# upscale 480p -> 1080p
Spline36Resize(1440, 1080).Prefetch(1)



Animated png:

https://c.l3n.co/i/shwfrq.png

Individual images: 1 (https://c.l3n.co/i/shwUNM.png), 2 (https://b.l3n.co/i/shwXiQ.png)

kedautinh12
14th December 2023, 02:24
Can you please reupload the clip as the link is broken

here:
https://drive.google.com/file/d/1AFDgPTFn9APHyhfcrYTPpCR4KgRPSBgv/view?usp=drive_link

flossy_cake
14th December 2023, 14:15
here:
https://drive.google.com/file/d/1AFDgPTFn9APHyhfcrYTPpCR4KgRPSBgv/view?usp=drive_link

Cheers.

Well, I don't know how much smoothing madey83 wants...


# Temporal smoothing + sharpening (increase EZDenoise to eg. 4.0 if you want more denoising)
QTGMC(InputType=1, TR2=3, EZDenoise=0.0, Sharpness=2.0, preset="slow", EdiThreads=4, Rep0=13).Prefetch(6)

# Line thinning
aWarpSharp(15.0, blurlevel=1).Prefetch(1)

# Upscale to 1080p
Spline36Resize(1920, 1080).Prefetch(1)


Getting 30fps @ 3.2Ghz x 4 cores.

Animated PNG's:

https://b.l3n.co/i/38RcJe.png

https://c.l3n.co/i/38Rbxx.png

With EZDenoise=4.0:

https://c.l3n.co/i/38TE8b.png

https://a.l3n.co/i/38TkQ7.png

Selur
14th December 2023, 15:23
Using DPIR for denoising might be another option.
https://imgsli.com/MjI2MTk2
https://imgsli.com/MjI2MTk3
(oh, overlooked the speed requirement)

For fast filtering: FFT3DGPU + FastLineDarkening
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\LoadDll.dll")
LoadDLL("F:\Hybrid\64bit\Avisynth\avisynthPlugins\d3d9.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\LSMASHSource.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\FFT3dGPU.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\masktools2.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\RgTools.dll")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\mtmodes.avsi")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\FastLineDarkenMod.avs")
# loading source: C:\Users\Selur\Desktop\_new.mkv
# color sampling YV12@8, matrix: bt709, scantyp: progressive, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\_new.mkv",cache=false,format="YUV420P8", prefer_hw=0,repeat=true)
# current resolution: 1280x720
# cropping
Crop(160,0,-160,0)# 960x720
FFT3DGPU(sigma=6.00,ow=16,oh=16,mode=1,precision=0)
FastLineDarkenMOD4(prot=5)
# Converting from 8 to 10bit for encoder
ConvertBits(10)
# setting output fps to 23.976fps
AssumeFPS(24000,1001)
PreFetch(16)
# output: color sampling YV12@10, matrix: bt709, scantyp: progressive, luminance scale: limited
return last


Cu Selur

kedautinh12
14th December 2023, 15:28
Using DPIR for denoising might be another option.
https://imgsli.com/MjI2MTk2
https://imgsli.com/MjI2MTk3
(oh, overlooked the speed requirement)

Cu Selur

I used to it
https://forum.doom9.org/showthread.php?p=1994706#post1994706

Cu Kedautinh12 :D

madey83
14th December 2023, 21:06
hello,

Thank you all for involvment to guide me.

this is my last call which gives me ~10 fps of speed (Core(TM) i7-10750H)
I will not put any screen due to fact everyone who has source file can see out come of below script.

SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetMemoryMax()
ConvertBits(16)
dfttest(sigma=64, tbsize=1, dither=1)
pr=ex_Median(mode="IQMST",thres=255)
pre=ex_blend(pr,"blend",opacity=0.2).ex_sbr(1,UV=3)
SMDegrain(tr=3, thSAD=1000, thSCD2 = 100, mode="TemporalSoften", truemotion=false, prefilter=pre, contrasharp=false)

deep_resize(1440,1080,edge="nnedi3",flat="nnedi3",grain=0,qual=2,sspace="sigmoid",gpuid=-1)
ex_unsharp(0.85).ex_unsharp(0.15, Fc=width()/1.5,safe=true)
GradFun3plus(thr=1.5, radius=10, mask=2, smode=0,UV=3)
ConvertBits(10,dither=1)
Prefetch(10,12)

madey83
14th December 2023, 21:07
Using DPIR for denoising might be another option.
https://imgsli.com/MjI2MTk2
https://imgsli.com/MjI2MTk3
(oh, overlooked the speed requirement)

For fast filtering: FFT3DGPU + FastLineDarkening
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\LoadDll.dll")
LoadDLL("F:\Hybrid\64bit\Avisynth\avisynthPlugins\d3d9.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\LSMASHSource.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\FFT3dGPU.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\masktools2.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\RgTools.dll")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\mtmodes.avsi")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\FastLineDarkenMod.avs")
# loading source: C:\Users\Selur\Desktop\_new.mkv
# color sampling YV12@8, matrix: bt709, scantyp: progressive, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\_new.mkv",cache=false,format="YUV420P8", prefer_hw=0,repeat=true)
# current resolution: 1280x720
# cropping
Crop(160,0,-160,0)# 960x720
FFT3DGPU(sigma=6.00,ow=16,oh=16,mode=1,precision=0)
FastLineDarkenMOD4(prot=5)
# Converting from 8 to 10bit for encoder
ConvertBits(10)
# setting output fps to 23.976fps
AssumeFPS(24000,1001)
PreFetch(16)
# output: color sampling YV12@10, matrix: bt709, scantyp: progressive, luminance scale: limited
return last


Cu Selur

tomorrow i will test your script :) thank you...

madey83
14th December 2023, 21:11
Cheers.

Well, I don't know how much smoothing madey83 wants...


# Temporal smoothing + sharpening (increase EZDenoise to eg. 4.0 if you want more denoising)
QTGMC(InputType=1, TR2=3, EZDenoise=0.0, Sharpness=2.0, preset="slow", EdiThreads=4, Rep0=13).Prefetch(6)

# Line thinning
aWarpSharp(15.0, blurlevel=1).Prefetch(1)

# Upscale to 1080p
Spline36Resize(1920, 1080).Prefetch(1)


Getting 30fps @ 3.2Ghz x 4 cores.

Animated PNG's:

https://b.l3n.co/i/38RcJe.png

https://c.l3n.co/i/38Rbxx.png

With EZDenoise=4.0:

https://c.l3n.co/i/38TE8b.png

https://a.l3n.co/i/38TkQ7.png


hi flossy_cake

to weak clean up to my taste, but thank you for your proposision.... :)

junah
27th December 2023, 22:34
QTGMC+ doesnt support EdiThreads anymore? Went from old 3.382s to v4.5p and without EdiThreads encoding speed dropped around 50%

Sharc
28th December 2023, 15:17
SMDegrain(interlaced=true) throws an error:
There is no function named 'bicubic_coeffs'

I have the latest ResizersPack.avsi in the plugins64 folder, and updated dependencies etc.

Any idea what's missing?

Dogway
28th December 2023, 16:57
QTGMC+ doesnt support EdiThreads anymore? Went from old 3.382s to v4.5p and without EdiThreads encoding speed dropped around 50%

Edithreads was only meant for EEDI filter, now it's called "threads" and I think it's set to 8 by default, play with it and also with Prefetch values depending on your number of cores/threads.


@Sharc: I will have a look. I have prepared a few (small) updates/bugfixes for the weekend.
EDIT: I now checked, interlaced=true defaults to subpixel=4 (nnedi3) which uses ResizersPack's nnedi3wrap() which itself uses bicubic_coeffs from TransformsPack - Main. I think bicubic_coeffs() is better placed in ResizersPack so I will move it there, but I just noticed that you still need TransformsPack for ConvertFormat(), so yes, that's a dependency.

Sharc
29th December 2023, 13:36
@Sharc: I will have a look. I have prepared a few (small) updates/bugfixes for the weekend.
EDIT: I now checked, interlaced=true defaults to subpixel=4 (nnedi3) which uses ResizersPack's nnedi3wrap() which itself uses bicubic_coeffs from TransformsPack - Main. I think bicubic_coeffs() is better placed in ResizersPack so I will move it there, but I just noticed that you still need TransformsPack for ConvertFormat(), so yes, that's a dependency.
OK. This helped. Got it working now. Thank you.

DQWJ
1st January 2024, 07:12
Hello, Dogway! Thank you for sharing, it's really great!
I am not good at English and used translation software to write it. I hope you can understand and get your help
I switched from the old AviSynth 2.60 to AviSynth+64. The system is WIN10 x64, CPU-i7-9700kf, 8-core 8-thread, graphics card 1660ti, Avisynth+3.7.3post test 10 (20231202- r4035) x64, MeGUI-2944_ X64, installed with VisualCppRedist_ AIO_ X86_ X64.exe, AvsPmod is also the latest version, and your script and related filters are all the latest version. AvsPmod has no problem browsing, but it stops working after about 1 hour of coding or when coding is almost complete (more threads open, faster crashes seem to be like this). I don't know if AVS stops working or MeGUI stops working. After testing for over 2 months, I couldn't find the reason and solution. Is there still something missing that hasn't been installed?

Script:

Import ("C: \ Program Files (x86) \ AviSynth+\ plugins64+\ real. finder tests \ IMPORTALL.avsi")
LoadPlugin ("G: \ SOFTWARE \ DGDecode&DGDecNV \ dgdecnv_250_x64 \ DGDecodeNV. DLL")
DGSource ("VTS-01_1. dgi", fieldop=0)
ConvertBits (Bits=16, dither=-1)
QTGMCp (Preset="Lower", FPSDivisor=2, ShutterBlur=0, Border=false, TR2=1, Sharpness=1.00, moire=false, NoisePreset="Lower", Show=false, Threads=4)
Trim (0, 80000)
Prefetch (1, 16)

PropSet ("FieldBased", 0)
SMDegrain (tr=5, thSAD=500, thSADC=226, RefineMotion=true, contrast=true, mode="MDegrain", pel=2, subpixel=4, prefilter=8, LFR=false, DCTFlicker=false, true motion=true, gpuid=0)
Prefetch (1, 12)

Ex_ Unsharp (str=0.07, Fc=width()/1.5, safe=true)
PropSet ("FieldBased", 0)
Deep_ Resize (1440, 1080, grain=0.0)
ConvertToStacked()
F3kdb (8,40,32,32,0,0, input_mode=1, output_mode=1). f3kdb (16,32,24,24,0,0, input_mode=1, output_mode=1)
ConvertFromStacked()
Ex_ Unsharp (str=0.20, Fc=width()/1.5, safe=true)
Ex_ Unsharp (str=1.0, Fc=width() * 2.0, safe=true)
FilmGrainPlus (preset="FilmGrain", show=0)
ConvertBits (Bits=10, dither=0)
Prefetch (1, 8)


The thread is very low, but it still stops working. The MeGUI log mentions a thread error (it seems like this, I'm not sure), and I can't find the reason. I'm going crazy. I originally wanted to switch back to the old AviSynth2.60 (very stable), but it's your excellent script that keeps me going. I really hope to get your help, thank you!!!

For example, using simple ones won't stop working
LWLibavVideoSource ("000. mkv", threads=4)
Spline36Resize (1280, 720)

DTL
1st January 2024, 20:49
QTGMC and SMDegrain uses mvtools and this and other plugins may try to use internal MT via AVSTP (as auto mode if not directly disabled). Do you use fixed version of avstp.dll from pinterf ? Old versions may cause deadlock freeze after some time of running. You need to delete all possible old versions of avstp.dll from any possible PATH at the machine to be sure it can not be loaded by auto-search of some path and use only new fixed file.

Dogway
2nd January 2024, 03:03
@DQWJ: QTGMCp + SMDegrain seems too much, and I can't recall now if your FilmGrainPlus call is doing something temporal too. I try to separate heavy temporal filters in different scripts. Other than that set SetMemoryMax(2048*4) or so. Finally I think you might need to play with Prefetch(), safe values are 4, 6 and 8, and for cache maybe 4 or 8.

DQWJ
2nd January 2024, 06:21
QTGMC and SMDegrain uses mvtools and this and other plugins may try to use internal MT via AVSTP (as auto mode if not directly disabled). Do you use fixed version of avstp.dll from pinterf ? Old versions may cause deadlock freeze after some time of running. You need to delete all possible old versions of avstp.dll from any possible PATH at the machine to be sure it can not be loaded by auto-search of some path and use only new fixed file.

Thank you very much for your answer. I feel that this is very likely the reason, but I am not sure what to do specifically. My understanding of English is weak, please forgive me. Can you be a little more detailed
I do have an old avstp.DLL in my plugins64+(version unknown, modified on October 7th, 2020), and now I have downloaded the latest avstp-1.0.4.1 from Pinterf


1. How to disable MT, do I need to disable it?

2. Delete the old version of avstp.DLL, do you still need to install the new version of avstp-1.0.4.1?

3. I only use it on a daily basis
MP_ Pipeline
SetMemoryMax (2048 * 10)
SetFilterMTMode ("DEFAULTMT-MODE", 2)
Prefetch (4,4)
Do you need avstp for these functions? If not, I will delete them directly

kedautinh12
2nd January 2024, 07:12
Yes, try encode with pinterf's avstp.dll

DQWJ
2nd January 2024, 07:27
@DQWJ: QTGMCp + SMDegrain seems too much, and I can't recall now if your FilmGrainPlus call is doing something temporal too. I try to separate heavy temporal filters in different scripts. Other than that set SetMemoryMax(2048*4) or so. Finally I think you might need to play with Prefetch(), safe values are 4, 6 and 8, and for cache maybe 4 or 8.

This script mainly involves zooming in 1080P and adding particles after 480P processing is clean. I don't know English and my level is very low, so I only know how to do this. Can you help me write a DVD processing and zooming in 1080P script (live action stage drama, MV type), which requires the screen to be clean and as clear as possible? Thank you

SetMemoryMax (2048 * 4) and Prefetch() have been tested countless times, and the higher the thread setting, the easier it is to stop working. I also suspect that NNEDI3CL.DLL caused the stop working. Let me briefly describe my feeling from multiple tests:
Your script is fantastic. It runs much faster in AvsPmod than the old x32 bit and performs very well, especially in SMDegrain. It's great, but the encoding speed is not as fast as using the old AviSynth 2.60. It's unclear if using GPU has taken up too much CPU resources, resulting in less available CUP for encoding.
The script I used when using the old AviSynth 2.60 actually had more and slower functions (not as effective or streamlined as yours), but the encoding was faster. The old script is as follows:

MP_ Pipeline“
SetMemoryMax (3000)
LoadPlugin ("G: \ SOFTWARE \ dgmpgdec-158&dgindexnv_2051 \ dgindexnv \ DGDecodeNV. DLL")
DGSource ("VTS-01_1. dgi")
QTGMC (Preset="slow", FPSDivisor=2, ShutterBlur=2, Border=true, TR2=1, Sharpness=1.0)
U16()
SMDegrain (tr=3, thSAD=300, RefineMotion=true, contrastharp=true, pel=2, subpixel=3, prefilter=-1, truemotion=true, lsb1in=true, lsb1out=true, mode=6)
Src16=last

###Export clip: srcA
###Prefetch: 48,32
### ###

SetMemoryMax (3200)
F3kdb (8,64,48,48,0,0, input_mode=1, output_mode=1) Dither_ Limit_ Dif16 (src16, Thr=0.35, Elast=3.0). f3kdb (16,48,32,32,0,0, input_mode=1, output_mode=1) Dither_ Limit_ Dif16 (src16, Thr=0.30, Elast=3.0)
CSmod16 (lsd_in=true, lsb=true, edgemode=0, length=30, dither=6)
Nnedi3_ Resize16 (1440, 1080, lsd_in=true, lsb=true, sharp=80, dither=6)

###Export clip: srcB
###Prefetch: 26,18
### ###

SetMemoryMax (3200)

、、、、、、、、、、、、

###Export clip: srcC
###Prefetch: 16,8
### ###

SetMemoryMax (3200)
、、、、、、、、、、、、、

")

This script runs slowly in AvsPmod and has a lower CUP usage, but the memory resource allocation is relatively high (32GB of memory, about 20GB of memory occupied during encoding, and can also play League of Legends games while encoding, which is stable). The encoding speed is also faster. I don't know how to improve the speed of encoding in the new X64 yet

I have also tested your GradFun3plus and it seems to be not working. I don't know where the settings are wrong

DTL
2nd January 2024, 11:36
1. How to disable MT, do I need to disable it?
2. Delete the old version of avstp.DLL, do you still need to install the new version of avstp-1.0.4.1?
3. I only use it on a daily basis


If you want to test disabling internal intra-frame MT in mvtools you need to set mt=false for each mvtools filter call used in all your scripts (or look in the script functions arguments if the script author make it external param to use as global MT switch). Or delete all avstp.dll files from machine (may archive to some format with different name).

You can test with your scripts and your machine (hardware) what modes of MT are most fast and stable. Some plugins may use internal intra-frame MT like mvtools via AVSTP plugin and AVS environment may use inter-frame MT (AVS+ core feature). So for complex processing there are lots of possible combinations of MT modes (and threads count) to make a different balance of performance and RAM usage and also some combinations may be less stable.

For best protection from the old version of avstp.dll freeze issue you need to delete all old files of avstp.dll from any path of the machine and replace with new fixed version from pinterf.

3. These are internal AVS functions and do not use AVSTP external plugin. So you can completely delete avstp.dll files from all locations to check if it causes some freezing sometime.

"Do you still need to install the new version of avstp-1.0.4.1?"

If your tests shows you get good benefit in performance and lower RAM usage if you enable intra-frame MT via AVSTP in (some of) used plugins - you need to install fixed avstp.dll file (to each plugin or in some global visible PATH or maybe to some auto-load location and so on).

"I do have an old avstp.DLL in my plugins64+(version unknown, modified on October 7th, 2020)"

You need to use version of Jan 23, 2023 ver 1.0.4.1 or later for all filters. You can try to check version of the avstp.dll in the file properties in the windows file explorer. For build by pinterf it displays file version and product version of 1.0.4.1 .

Dogway
2nd January 2024, 20:38
@DQWJ: Unless you are in a potato CPU which I don't think so given the thread count and RAM, the new SMDegrain should be about same speed. Now you are comparing an MP_Pipeline() workflow which one that isn't. Maybe try to implement MP_Pipeline() with the new scripts? Specially useful when moving SMDegrain to a different MP_Pipeline() thread than QTGMCp

New scripts/functions might be a bit slower than older ones but not by much. They are doing things more correct, dealing with frameprops, or doing more/better prefiltering.

Post the GradFun3plus call you use without other filters.

Boulder
3rd January 2024, 07:20
Why not try the original script and with just one Prefetch call at the end? There's a ton of filters there and things can get very flaky very fast. I'd also try replacing QTGMCp with real.finder's STGMC, I've never been able to make QTGMCp work properly with multithreading (probably an Avisynth cache issue more or less).

DQWJ
3rd January 2024, 09:10
@Dogway: Sorry, I tested GradFun3plus again today and it worked fine. Maybe it was during 8-bit testing that it didn't work before? What is the difference between the EX version and the MIX version? I am adjusting the thSAD=700 and thSADC=400 parameters of SMDegrain, but there seems to be no change and I cannot see any difference from the default settings.

I don't think your script is slow, on the contrary, I think it's faster than the one I used before. But the encoding is slow, maybe it's because your script is too fast and occupies too much CUP, which leads to the encoding being slow, or maybe it's because I didn't allocate CUP and RAM properly myself



@Boulder: My situation is a bit similar to yours. I don't think it's due to QTGMCp, because I have also tested the very old QTGMC-3.33 on AVS+X64 and it stopped working. I think it may be an issue with avstp or Avisynth+64. When checking the task manager during coding, you will find that the encoder and AVS occupy about 10GB each, and the memory occupied by AVS will gradually increase. I haven't tested the new version of AVSTP yet, I've been testing other versions. After testing, I will release the test results


笔记

Blankmedia
3rd January 2024, 20:47
Hi,

When I use

ClearAutoloadDirs()
AddAutoloadDir("D:\A encoder\01 - PARTIE 1\plugins2")
AddAutoloadDir("D:\A encoder\01 - PARTIE 1\plugins2\SMDegrain")
SetMemoryMax(8192*3)
MODIFIE= "PARTIE1_SAUT_DESHAKE.avi"
FFVideoSource(MODIFIE)
fmtc_bitdepth(bits=16, dmode=1, fulls=True, fulld=false)
ConvertToYUV420()
SceneStats("Range+Stats",path="PARTIE1_SAUT_DESHAKE2.avi.log")
Prefetch(1)


In a first pass script with "ffmpeg -i saut_v1.avs -f null -" I get :

Type string
0: Range: 0, 10 Stats: 29297.972656, 55768.945312, 33409.968750, 51142.953125, 48965.523438, 49857.953125, 48965.523438
1: Range: 0, 10 Stats: 29297.972656, 55768.945312, 33409.968750, 51142.953125, 48965.523438, 49857.953125, 48965.523438
2: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
3: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
4: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
5: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
6: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
7: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
8: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
9: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
10: Range: 0, 10 Stats: 26984.974609, 56282.945312, 31096.970703, 50628.953125, 45876.910156, 48315.953125, 45876.910156
11: Range: 11, 20 Stats: 26213.974609, 55511.945312, 29554.972656, 50371.953125, 44670.183594, 47287.953125, 44670.183594
12: Range: 11, 20 Stats: 26213.974609, 55511.945312, 29554.972656, 50371.953125, 44670.183594, 47287.953125, 44670.183594
13: Range: 11, 20 Stats: 26213.974609, 55511.945312, 29554.972656, 50371.953125, 44670.183594, 47287.953125, 44670.183594
14: Range: 11, 20 Stats: 26213.974609, 55511.945312, 29554.972656, 50371.953125, 44670.183594, 47287.953125, 44670.18359

On my second pass with :

ReadStats("PARTIE1_SAUT_DESHAKE2.avi.log")
ex_autolevels()

Overlayed on the video i have this error message:
Expr: Failes to convert '-nan(ind) to float
[...]gradepack.avsi, line 369
[...]gradepack.avsi, line 479

Or if I try second pass with :

ClipStats("PARTIE1_SAUT_DESHAKE2.avi.log")
ex_autolevels()

I get this error message:
ex_autolevels: '_SceneRange' frame properties are required
[...]gradepack.avsi, line 446
[...]saut_v1.avs, line 15

Am I doing something wrong?

Dogway
7th January 2024, 02:41
@Blankmedia: I'll have a look at the first issue, I don't see any nand there though
For the second one you should input the results of clipstats in 8-bit into ex_levels manually
Then ex_levels won't try to read scene ranges

Fjord
11th January 2024, 23:05
LSFplus v6.0 ex references ex_CAS() on lines 767-770. ex_CAS() existed in SharpenersPack until it was renamed to CASP() in SharpenersPack v4.0 (mix).

LSFplus v6.0 mix references CAS() in the same places (lines 763-766), but CAS() does not appear to be defined anywhere.

Shouldn't these references to ex_CAS() and CAS() in LSFplus be replaced with calls to CASP() from the current SharpenersPack v5.1? Or do ex_CAS() and CAS() exist in some other plugin or script that I need to import?

rgr
18th February 2024, 14:59
What else am I missing to try QTGMC+? I updated nnedi3.dll to 0.9.6.43, but I still have this message.


[avisynth @ 000001f3668c01c0] Script error: nnedi3wrap does not have a named argument "dh"
(C:/Program Files (x86)/AviSynth+/plugins64+/QTGMC+.avsi, line 1171)
(C:/Program Files (x86)/AviSynth+/plugins64+/QTGMC+.avsi, line 965)

Boulder
18th February 2024, 15:57
What else am I missing to try QTGMC+? I updated nnedi3.dll to 0.9.6.43, but I still have this message.


[avisynth @ 000001f3668c01c0] Script error: nnedi3wrap does not have a named argument "dh"
(C:/Program Files (x86)/AviSynth+/plugins64+/QTGMC+.avsi, line 1171)
(C:/Program Files (x86)/AviSynth+/plugins64+/QTGMC+.avsi, line 965)

There are possible fixes in this GitHub issue: https://github.com/Dogway/Avisynth-Scripts/issues/69

rgr
18th February 2024, 16:37
Explained.
Somehow I downloaded QTGMC+ today and an older version was downloaded.

Dogway
19th February 2024, 20:36
LSFplus v6.0 ex references ex_CAS() on lines 767-770. ex_CAS() existed in SharpenersPack until it was renamed to CASP() in SharpenersPack v4.0 (mix).

LSFplus v6.0 mix references CAS() in the same places (lines 763-766), but CAS() does not appear to be defined anywhere.

Shouldn't these references to ex_CAS() and CAS() in LSFplus be replaced with calls to CASP() from the current SharpenersPack v5.1? Or do ex_CAS() and CAS() exist in some other plugin or script that I need to import?

Thanks, fixed now, uploading. Indeed I forgot to update the call to CASP(). As for LSFPlus Mix, CAS is a plugin, now I added a version to imply it's an external dependency.

I uploaded also some of the updates for the last few months. Mainly ResizersPack, adding the 'sc' (SceneChange) argument so I can disable it in FillMissing stand alone function, to force RIFE to interpolate even if it's a big change.
TransformPack also saw some more additions, like TM_Daniele() tonemapper which I dig in, S-Log2, and in Main a few more gamuts.

Explained.
Somehow I downloaded QTGMC+ today and an older version was downloaded.

Yes, I was going to suggest to update. I guess it works now.

Guest
20th February 2024, 00:19
@Dogway,

FYI,

I was just checking out the updates you've recently done, and in the Ex & Mix mods, LSFplus has some mismatched, erroneous details & dates.

Dogway
20th February 2024, 00:41
@Dogway,

FYI,

I was just checking out the updates you've recently done, and in the Ex & Mix mods, LSFplus has some mismatched, erroneous details & dates.

Thanks, fixed now.

Guest
20th February 2024, 02:13
Thanks, fixed now.

You're welcome, and thanks for the updates, it's been a "minute".

kedautinh12
20th February 2024, 06:31
ExTools and Stabilization Tools Pack still outdate in the info