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. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#2141 | Link | |
|
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,836
|
Quote:
a = Trim(0,9999).SMDegrain(...) b = Trim(10000,19999).SMDegrain(...) a+b It will be much more memory hungry though.
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
|
|
|
|
|
|
#2142 | Link | |||
|
Guest
Posts: n/a
|
Quote:
Quote:
Quote:
But if I want to use SMDegrain, don't I have to set it up as Dogway has written it ?? Last edited by FTLOY; 10th March 2023 at 13:00. |
|||
|
|
|
#2143 | Link | ||
|
24 years and counting...
Join Date: Oct 2002
Location: Germany
Posts: 747
|
Quote:
Quote:
As you know prefiltering is very important for satisfying results. And the built in prefilters do a very good job for most cases. But of course you can always optimize that to your needs by simply using your own prefilters. Or using the same prefilters already integrated but with different parameters. I'd consider the internal prefilters more of a starting point for personal tweaks, but certainly not the optimum. They can't be, because every source is different. So you would end up with dozens of prefilters which would not make much sense imho. It's alright to call the same prefilter externally so you don't have to worry about numbers anymore. |
||
|
|
|
|
|
#2144 | Link | ||
|
Guest
Posts: n/a
|
Quote:
Quote:
And I do mod the scripts a little to suit the footage, and I do end up with a LOT of different scripts, but I haven't got a problem with that. |
||
|
|
|
#2146 | Link |
|
Registered User
Join Date: Nov 2009
Posts: 2,375
|
@FTLOY: FYI I was never satisfied with FluxSmoothST. It was a recommendation by Didee from the old ages but produced visible ghosting and also not much denoising. IQMST stands better for the name "nifty spatio-temporal median/gauss blur", I will explain my rationale.
Code:
-y
-2,-2 2,-2
* * *
-2 -1 * 1 2 *
-z * * * * * + -x + * * * + IQM = IQMST
* -2,2 2,2 *
* * *
Temporal Stability HD Denoising Sharpness Detail + Motion
+ LF Denoise Protection
![]() @madey83: I recommend you to use StainlessS ClipClop() as it will have less memory overhead.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread Last edited by Dogway; 10th March 2023 at 20:57. |
|
|
|
|
|
#2147 | Link | ||
|
Guest
Posts: n/a
|
Quote:
And it's a lot easier now that pre-filters names are used, instead of numbers. There might have been many users that used Flux, and now they can't ![]() And as for your "rationale" info, that means absolutely nothing to me, it's just some random letters & numbers, etc, and some little coloured rectangles ![]() I will definitely get the new "IQMST" to work, and see how it goes. Don't get me wrong, I, and many others really appreciate what you're doing, but removing stuff is possibly a little counter productive. Onward & upward !! EDIT:- Did some tests:- Quote:
Last edited by FTLOY; 11th March 2023 at 03:25. |
||
|
|
|
#2148 | Link |
|
Registered User
Join Date: Nov 2009
Posts: 2,375
|
@FTLOY: It's the structuring element and why I chose that, maybe some users might find it useful/interesting, it's open source after all so you can fork it where you liked. I mean time is relative and FluxSmoothST was never in the pecking order as you could see with my numerous edits. What I don't want to do is to give the false sensation that prefilter="FluxSmoothST" is good, because it's not, and that's why I changed it. I only want things that make sense, are simple and work as you would expect, at any rate is not like I butchered the filter, it's still in ExTools and you can load as prefilter, but if you have followed my development you would have realized already that my scripts are finished after a last 2 weeks crunch and their versioning, and now I'm done unless something exceptional arises or time permits. I'm on other tasks now but still give support here and in Github if anyone asks like with LeXXuz.
@madey83: This is how you use DGHDRtoSDR. I also posted an example for ClipClop, you can add as many clips as you want, I'm using 15 on a personal project and it doesn't slow down. And also the new IQMST just after DGHDRtoSDR as prefilter. Code:
ConvertBits(16) deep_resize(1920,edge="Zopti1080") # Remove big chroma "blocks" CCD(15) # Remove blocking and smooth out jagged edges (only applies where motion match fails) mb=Deblock_QED(quant1=30, quant2=40, aOff1=1, aOff2=1, bOff1=2, bOff2=2, uv=1) mb=mb.ex_smooth(1, mode="SG", limit=true, sharp=true) pre =DGHDRtoSDR(mode="pq",white=112) pre2=pre.ex_Median(mode="IQMST", UV=3, thres=255) r0=SMDegrain(prefilter=pre2, mfilter=mb, tr=3, thSAD=300, thSADC=150, thSCD1=400, thSCD2=120, LFR=false, plane=4, limits=false, DCTFlicker=false, refinemotion=true, search=5, subpixel=3) r1=SMDegrain(prefilter=pre2, mfilter=mb, tr=4, thSAD=400, thSADC=200, thSCD1=400, thSCD2=120, LFR=false, plane=4, limits=false, DCTFlicker=false, refinemotion=true, search=5, subpixel=3) ClipClop(r0,r1,SCmd="r0(0,2937);r1(2938,3854);...") EDIT: By the way I found this infamous thread and checked the result and actually felt challenged ^^ The guy probably used Video Artifact which is an old payware solution based on AVS, it has good ideas like the motion compensated sharpening (more like deblur though), and the 420 to 444 chroma reconstruction. I was playing with the sharpening (just spatially) and reached to some point, still need to add some temporal as the example showed increased details not present spatially. One thing I could achieve was better high frequency sharpening leading to a much more HD feel. Still more experimentation is needed. Orig ![]() Mine ![]() VA
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread Last edited by Dogway; 11th March 2023 at 12:51. |
|
|
|
|
|
#2150 | Link | ||
|
24 years and counting...
Join Date: Oct 2002
Location: Germany
Posts: 747
|
Quote:
Quote:
|
||
|
|
|
|
|
#2151 | Link | |
|
Guest
Posts: n/a
|
Quote:
I might change the scripts then.. Last edited by FTLOY; 12th March 2023 at 04:12. |
|
|
|
|
#2152 | Link | |
|
Guest
Posts: n/a
|
Quote:
@Dogway, thank you so mutch for this... going to test this out.
|
|
|
|
|
#2153 | Link |
|
Guest
Posts: n/a
|
@Dogway,
i have tested your proposition with below # Remove blocking and smooth out jagged edges (only applies where motion match fails) mb=Deblock_QED(quant1=30, quant2=40, aOff1=1, aOff2=1, bOff1=2, bOff2=2, uv=1) mb=mb.ex_smooth(1, mode="SG", limit=true, sharp=true) pre =DGHDRtoSDR(mode="pq",white=112) pre2=pre.ex_Median(mode="IQMST", UV=3, thres=255) r0=SMDegrain(prefilter=pre2, mfilter=mb, tr=3, thSAD=300, thSADC=150, thSCD1=400, thSCD2=120, LFR=false, plane=4, limits=false, DCTFlicker=false, refinemotion=true, search=5, subpixel=3) r1=SMDegrain(prefilter=pre2, mfilter=mb, tr=4, thSAD=400, thSADC=200, thSCD1=400, thSCD2=120, LFR=false, plane=4, limits=false, DCTFlicker=false, refinemotion=true, search=5, subpixel=3) ClipClop(r0,r1,SCmd="r0(0,2937);r1(2938,3854);...") but unfortunatly convert HDR to SDR mess sothing up with the DV colors and picture is broken. i have tried to replace pre =DGHDRtoSDR(mode="pq",white=112) pre2=pre.ex_Median(mode="IQMST", UV=3, thres=255) by pre=ex_BM3D(sigma=10,preset="normal",radius=1,UV=1,gpuid=0,tv_range=true) pre2=ex_BM3D(sigma=10,preset="noisy",radius=3,UV=1,gpuid=0,tv_range=true) r0=SMDegrain(prefilter=pre2, mfilter=mb, tr=3, thSAD=300, thSADC=150, thSCD1=400, thSCD2=120, LFR=false, plane=4, limits=false, DCTFlicker=false, refinemotion=true, search=5, subpixel=3) r1=SMDegrain(prefilter=pre2, mfilter=mb, tr=6, thSAD=600, thSADC=200, thSCD1=400, thSCD2=120, LFR=false, plane=4, limits=false, DCTFlicker=false, refinemotion=true, search=5, subpixel=3) ClipClop(r0,r1,SCmd="r0(0,2937);r1(2938,3854);...") but i still have lots of gain. i can't force SMDegrain to remove more grain. |
|
|
|
#2154 | Link |
|
Registered User
Join Date: Dec 2005
Location: Sweden
Posts: 722
|
Regarding the topic of motion protecting temporal filtering, could this reasoning be of use/inspiration(?):
Code:
function mprotect(clip c, int "tr"){
q=temporalsoften(c,tr,255,255,255,2).repair(c,mode=16).neo_vd() #neo vd is fast
q.ex_blur3D(0,0,tr+1,"weighted",UV=3).ex_AddDiff(ex_MakeDiff(c,q,UV=3),UV=4) #parameters borrowed from Dideé, not sure uv=4 is working with ex_adddiff
return last
}
Last edited by anton_foy; 13th March 2023 at 21:46. |
|
|
|
|
|
#2155 | Link |
|
Registered User
Join Date: Jul 2018
Posts: 1,480
|
"i can't force SMDegrain to remove more grain."
To remove more grain it is typically require higher tr and thSAD. tr may be 20 and more. Upper limit is 128. With thSAD user adjust beginning of denoising and amount of blurred details. Also: thSAD=600, thSADC=200, thSCD1=400, thSCD1 must be > thSAD or it will limit degraining to nothing. If thSCD1 is comparable or below noise-SAD it cause to treat all frames as scenechange and no denoising applied at all with any tr. It is better to set condition check and error-throwing in SMDegrain script if user set thSCD1 < thSAD. To make adjustments easier you can set user equation like my_thSAD = N my_thSCD1 = my_thSAD + 100 thSAD=my_thSAD, thSADC=my_thSAD - 100, thSCD1=my_thSCD1, Last edited by DTL; 13th March 2023 at 22:37. |
|
|
|
|
|
#2156 | Link |
|
Registered User
Join Date: Mar 2018
Posts: 447
|
Feature request: an optional argument to define prop name in similarity metric functions (GMSD, MDSI, SSIM & others).
Sometimes I need to measure similarity more than once in a Zopti script. For example you can optimize for two different similarities at the same time. Currently you need to rename the similarity metric props before you call the metric the second time. It would be easier (and faster) to be able to define the prop's name in the first place. For example Code:
GMSD(clip, ref, propName="_PlaneGMSD_first") GMSD(clip2, ref2, propName="_PlaneGMSD_second") |
|
|
|
|
|
#2157 | Link | |
|
Guest
Posts: n/a
|
Quote:
|
|
|
|
|
#2158 | Link |
|
Registered User
Join Date: Nov 2009
Posts: 2,375
|
@madey83: Then I need to have a look at the clip, a small sample is enough.
@FTLOY: Yes, internally IQMST also adds ex_sbr(3) so it might be slower, but in contrast it does so over the halved source clip, as by default UHD is using downscaled vectors. You can either set UHDhalf=false, or use another less aggressive prefilter preset. The different IQMs fill different purposes, IQM is the canonical algo over a 3x3 kernel, IQM5 is the same over a 5x5 kernel, both spatial. IQMV is IQM + IQM5 thresholded by variance, so it's a very good spatial prefilter specially for anime where temporal (pre)filters causes more harm than good, it's similar to what ex_MinBlur(3) would look like but much faster. Then the new IQMST is a spatio-temporal custom kernel as explained above for very grainy live action HD sources, you can also use BM3D for this, but that's more kind of brute force and probably slower. If you want a lighter spatio-temporal prefilter maybe use prefilter=6 or set up a custom one using STTWM. @anton_foy: I don't understand the script much, I rewrite it here: Code:
function mprotect(clip a, int "tr") {
tr = Default(tr,2)
a
TemporalSoften(tr,255,255,255,2)
repair(a,mode=16)
# or ex_median("IQMT")
neo_vd()
q=last
ex_blur3D(0,0,tr+1,mode="weighted",UV=3)
ex_MakeAddDiff(a,q,last,UV=6) }
@zorr: Done, updating in a few moments BTW I updated QTGMC+ with new EdiModes that preserve details better, so the presets have been changed with new EdiModes but now should look better overall, now speedwise it can't be compared to original QTGMC as it's not an apples to apples. I also fixed an issue on chroma, and a regression in the last version for sourcematch.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread Last edited by Dogway; 14th March 2023 at 08:51. |
|
|
|
|
|
#2159 | Link | |
|
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,836
|
Quote:
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
|
|
|
|
|
|
#2160 | Link |
|
Guest
Posts: n/a
|
[QUOTE=Dogway;1984444]@madey83: Then I need to have a look at the clip, a small sample is enough.
sample: https://mega.nz/file/4RhxEZSL#CfNkhL...keKAVfwi58nZTg
|
|
![]() |
| Tags |
| avisynth, dogway, filters, hbd, packs |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|