Log in

View Full Version : AviSynth+ (nekopanda fork)


gispos
12th December 2018, 17:44
I have tested the Neo (nekopanda (https://github.com/nekopanda/AviSynthPlus/wiki/Avisynth-Neo)) version of Avisynth+. KTGMC (QTGMC) with Cuda is awesome, though unfortunately a few things are not okay.


video=LWLibavVideoSource(SourceFile, cache=False)
audio=LWLibavAudioSource(SourceFile, cache=False)
audioDub(video, audio)
OnCPU(4)
KTGMC(Preset="slow", FPSDivisor=2) # Cuda version of QTGMC
OnCuda(2)
MCTemporalDenoise(settings="low", sigma=6, tovershoot=1, GPU=false)
Spline36Resize(1920, 1080)
NonlinUSM(z=3.0, pow=1.2, str=0.4, rad=2.0)


Source clip is 720x480, QTGMC and MCTemporalDenoise together and the whole thing runs at 21 fps. I've never had that before.

The problems:
MP_Pipline I do not get to run for my older scripts.
After OnCuda() statement some filters will not work anymore. For example, I can not use HDRAGC after OnCUDA.

Too bad. Does anyone know advice?

DJATOM
13th December 2018, 09:12
If you have enough space, just use lossless intermediate files.

gispos
15th December 2018, 19:27
I played around a bit more.
MP_Pipeline + HDRAGC after Cuda I got to run, but if Cuda and HDRAGC are used together or MP_Pipeline and Cuda, two scripts are needed.
For MP_Pipeline, return last has to be added.
Everything a little bit elaborate, I have not found any other way.

But the results are just WOW!

Source script with QTGMC Cuda prozess. 64bit Avisynth

video=LWLibavVideoSource(SourceFile, cache=False)
audio=LWLibavAudioSource(SourceFile, cache=False)
audioDub(video, audio)

Import("D:\Tools\AviSynth\plugins64+\KTGMC\KTGMC.avs")

OnCPU(8)
KTGMC(Preset="Slower", Sharpness=1.0, FPSDivisor=2, ShowSettings=False)
OnCuda(3)


Filter script

# helper function in an automatically loaded script
function hdr2(clip clp, clip clp_hdragc, float "weight") {
weight= default(weight, 0.5)
merge(clp, clp_hdragc, weight=weight)
}

MP_Pipeline("""
### platform: Win64
AviSource("E:\Ablage\SourceCuda.avs") # import source with KTGMC (QTGMC) Cuda process
#Import("E:\Ablage\SourceCuda.avs") # mp_pipeline crashes

### prefetch: 32, 16
### ###
### platform: Win32
v=HDRAGC(coef_gain=1.0, max_gain=3.0,min_gain=1.0,coef_sat=1.0,max_sat=9.0,min_sat=0.0,avg_lum=128,avg_window=24,corrector=1.0,
\reducer=0.0,response=100,protect=2,mode=2,passes=4,black_clip=0.0,shift=0,shift_u=0,shift_v=0,freezer=-1,shadows=true,debug=0)
hdr2(v, 0.4) # see above

### prefetch: 32, 16
### ###
### platform: Win64
return last
""")

MCTemporalDenoise(settings="low", sigma=6, strength=100, tovershoot=1, GPU=false)
prefetch(4)
Spline36Resize(1920, 1080)
NonlinUSM(z=3, str=1.0, rad=0.6)


QTGMC(preset="slower") + HDRAGC + MCTemporalDenoise + resize + sharpen with over 22 fps is not bad.
And the low memory requirement between 480 and 580 MB is remarkable.

prefetch(4)
https://forum.doom9.org/attachment.php?attachmentid=16620&stc=1&d=1544898279