Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
26th January 2023, 10:54 | #101 | Link |
Registered User
Join Date: Jan 2018
Posts: 2,153
|
@Dogway, if you had problem with KNLMeansCL, you can ask Asd-g to port nlm_cuda to avs+
https://github.com/Asd-g/AviSynthPlus-Scripts/issues |
26th January 2023, 11:48 | #102 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,352
|
I think he is taking a break, anyway I think it's better he does what he pleases.
DGDenoise is CUDA NL Means, but it lacks the options KNLMeansCL has besides the important 'rclip' for guidance. BTW, updated Oyster to fix a chroma issue, chroma always happens to be an afterthought, poor chroma...
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
26th January 2023, 11:50 | #103 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
This as a graph
Code:
clip = core.vivtc.VFM(clip,0).vivtc.VDecimate() clip = core.fmtc.bitdepth( clip, bits = 32 ) clip = core.fmtc.resample( clip, css = "444") ref_s = Oy.Basic(clip, short_time=True,radius=2) clip = Oy.Deringing(clip, ref_s, block_step=2,radius=2) My gpu mod: https://i.imgur.com/2uvZ1Z7.png I counted 10 KNLMeansCL calls and 4 Dfttest calls You can created it with vspipe -g full or simple Use https://dreampuf.github.io/GraphvizOnline with dot engine
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database Last edited by ChaosKing; 26th January 2023 at 11:52. |
26th January 2023, 12:10 | #104 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,352
|
My gosh... did he ever manage to run that? in 2017 or therebouts?
Looks like he did some kind of manual NN, using NLMeans residuals and then refining the output. I liked the deblocking, looks like a clean reinterpretation, I wonder if there's any actual ML model designed for this task. As for neo_dfttest I tested it before but didn't make a big difference speed wise, just testing on AvsPmod GuidedBlur felt much faster but haven't benchmarked, also I had to parametrize it. GuidedBlur is also in VS so maybe you can check if it makes it any faster. Those graphs look cool, although I'm still searching for an IDE with logic highlighting.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
26th January 2023, 12:18 | #105 | Link | |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Quote:
He showed mostly Britney Spears music videos, so not that unreasonable for a ~3min long clip if Oyster was created for these short clips. I think it was more for education purpouses.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
|
26th January 2023, 12:33 | #106 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Where did you saw GuidedBlur for VS?
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
26th January 2023, 13:00 | #107 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,352
|
Sorry was called GuidedFilter.
Yes I remember encoding anime shorts at 0.1 fps with tnlmeans, the good days haha
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
26th January 2023, 23:18 | #109 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Quality seems to be better with the loop approach compared to plain bm3d (not Oyster related)
Code:
ref = haf.SMDegrain(clip,tr=3, thSAD=1000) clip = core.fmtc.bitdepth( clip, bits = 32) ref = core.fmtc.bitdepth( ref, bits = 32 ) for i in range(5): if i == 0: previous = clip elif i == 1: previous = denoised else: previous = core.std.Expr([clip, previous, denoised], "x y - {factor} * z +".format(factor=0.1)) denoised = previous.wnnm.WNNM(sigma=7, radius = 3, rclip = ref) Even 10 iterations are still faster then Oyster
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database Last edited by ChaosKing; 26th January 2023 at 23:22. |
27th January 2023, 00:32 | #110 | Link | |
Registered User
Join Date: Mar 2018
Posts: 447
|
Quote:
Perhaps the loop approach is a replacement for the reference clip. Or maybe you're supposed to generate a new ref clip for each iteration. Have you tried it without the reference clip? |
|
27th January 2023, 01:28 | #111 | Link |
Big Bit Savings Now !
Join Date: Feb 2007
Location: close to the wall
Posts: 1,531
|
AviSynth+ 3.7.3 Oyster attempt, thanks Dogway for your patience !
<Sourcefilter> <Sourcefilter> va=AudioDub(v,a) clp=va.ConvertToYV24().ConvertBits(32) sup = oyster_Super(clp) ref_f = oyster_Basic(clp, sup, short_time=False) ref_s = oyster_Basic(clp, sup, short_time=True) oyster_Deblocking(clp, ref_f, block_step=2) still gets me "nnedi3wrap: Field must be 0 or 1 for scaling" ResizersPack 10.9.avsi, line 678 DeblockPack 2.7.avsi, line 396 Path\File\script.avs line 62, (which is sup=oyster_Super(clp)) Which version of nnedi3 is it I am hunting ? I have NNEDI3CL.dll 1.0.6.0 with nnedi3_weights.bin and nnedi3.dll 0.9.4.61
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain) "Data reduction ? Yep, Sir. We're that issue working on. Synce invntoin uf lingöage..." Last edited by Emulgator; 27th January 2023 at 01:35. |
27th January 2023, 02:52 | #112 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,352
|
Maybe your source is tagged as interlaced in frameprops?
Try with: Code:
propSet("_FieldBased",0) sup = oyster_Super(clp) ref_s = oyster_Basic(clp, sup, short_time=True) oyster_Deblocking(clp, ref_s, block_step=2)
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
27th January 2023, 14:22 | #113 | Link |
Big Bit Savings Now !
Join Date: Feb 2007
Location: close to the wall
Posts: 1,531
|
Thanks for the tip, Dogway!
I had yugefunc 0.9, now 1.0 is in, still no success. Properties were Frame Based before and still is... P.S. Ouch, AvsPMod tells so at its status bar. The real frame properties are _FieldBased (2 [top-field]) (Source is 23.976 pulldowned to 29.97fps. Sourcefilter was .d2v with Forced Film so good I hoped.) propSet("_FieldBased",0) returns error: invalid arguments to propSet, I have to dig... Was MYFAULTOFCOURSE, I had videostream named variable, so last() was empty or contained something else... To use PropSet was the right hint, thanks again, Dogway. Now with these elaborated scripts under AviSynth+ I have to use these property guided thingies much more often. And now under AviSynth+ oyster_Deblocking has indeed delivered the first frame in like 30secs ! Yay ! And the next frames within 1..2secs. RTX3080 doing the dirty work. Wow. Many thanks to all involved ! That had been a nice community climbing.
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain) "Data reduction ? Yep, Sir. We're that issue working on. Synce invntoin uf lingöage..." Last edited by Emulgator; 28th January 2023 at 01:17. |
Thread Tools | Search this Thread |
Display Modes | |
|
|