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 |
|
|
#81 | Link | |
|
Registered User
Join Date: Oct 2010
Posts: 109
|
Quote:
|
|
|
|
|
|
|
#82 | Link |
|
Registered User
Join Date: Sep 2008
Location: Italy
Posts: 204
|
how do to put the nnedi3 instead of BilinearResize in the SAA?
is it possible? I'm not able... Clp.PointResize(OX*SS,OY*SS).SangNom().TurnRight() \ .SangNom().TurnLeft().BilinearResize(OX,OY) Now, for the use that I do, I'm putting spline36resize Clp.PointResize(OX*SS,OY*SS).SangNom().TurnRight() \ .SangNom().TurnLeft().spline36resize(OX,OY) |
|
|
|
|
|
#84 | Link | |
|
Nani miten da yo? Baka!!
Join Date: Jan 2010
Location: Vietnam
Posts: 26
|
Quote:
this one is good enough.
|
|
|
|
|
|
|
#85 | Link |
|
Registered User
Join Date: Aug 2009
Posts: 3
|
Hi, i'm using the aaa() from wiki, and i got a question: What adds suchs a heavy noise to picture?
I've got a pretty clean animation frame, then i add aaa(Xshrp=55,Yshrp=55,chroma=false), and i get a tremendous amout of temporal noise. it changes with every frame. I'm afraid to clean it up because of detail loss. You guys have the same results? here's an example: http://screenshotcomparison.com/comparison/33785 at first i thought it's because of unsharp values of 55, but it adds noise on default, too... Last edited by spx; 25th July 2013 at 20:30. |
|
|
|
|
|
#86 | Link | ||
|
Registered User
Join Date: Sep 2010
Location: Russia
Posts: 85
|
In regards to ediaa(), wouldn't replacing
Quote:
Quote:
For me it gives a speed increase from 1 fps to 1.6 on 1080p. |
||
|
|
|
|
|
#87 | Link |
|
Oz of the zOo
Join Date: May 2005
Posts: 208
|
AA scripts that use turnleft and/or sangnom may be significantly sped-up with sangnom2+fturn - for better results drop the chroma plane by using Y8 colorspace during processing and copy original chroma in the end (example). Realtime AA of 1080p @ 24fps on my pc...
Last edited by wOxxOm; 27th July 2013 at 09:46. |
|
|
|
|
|
#88 | Link |
|
Registered User
Join Date: Jan 2008
Posts: 42
|
Hi all,
sorry for capturing this thread , but I've a similar issue.I got a poorly deinterlaced clip here (simple bob().SelectEven() ) with quite a lot of jaggy edges I'd like to fight. This is not Anime material but captured from a VHS tape. Your anti-alias-script uses SangNom, but that's for interlaced material - not ? But my vid is already progressive encoded and now I'd like to reencode plus a bit upsizing. So what would be the best "way to do it ?" The original is lost only reencoded vid is here. TIA |
|
|
|
|
|
#89 | Link |
|
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,685
|
my first function, MC DAA3
![]() Code:
#Motion-Compensated Anti-aliasing with contra-sharpening by A.SONY
#some ideas was taken from Didée scripts daa and this http://forum.doom9.org/showthread.php?t=153219
#created because when applied daa3 to fixed scenes, it could damage some details and other issues.
# v3.55
function mcdaa3(clip input) {
sup = input.HQdn3d().FFT3DFilter().MSuper(pel=2,sharp=1)
fv1 = sup.MAnalyse(isb=false,delta=1,DCT=2,Truemotion=false)
fv2 = sup.MAnalyse(isb=true,delta=1,DCT=2,Truemotion=true)
csaa = input.daa3mod()
momask1 = input.MMask(fv1, kind = 1, ml=2)
momask2 = input.MMask(fv2, kind = 1, ml=3)
momask = mt_average(momask1,momask2,u=3,v=3)
mt_merge(input,csaa,momask,u=3,v=3)
}
#############################
#Anti-aliasing with contra-sharpening by Didée with some modifications, v3.55
FUNCTION daa3mod(clip c1, val "slow", int "threads") {
avs25 = VersionNumber() < 2.60
isslod = defined(slow)
slow = default (slow , true)
isslob = isbool(slow)
issloi = Isint(slow)
Assert(isslob || issloi, "'slow' only accepts bool or int")
slowb = isslob ? slow : isslod
threads = default (threads , 0)
rescale = slowb && issloi ? slow > -1 : slowb
upsizer = rescale ? issloi ? slow!=0 ? "BilinearResize" : "Spline36Resize" : "Spline36Resize" : nop()
downsizer = slowb ? issloi ? slow!=0 ? "BicubicResize" : "Spline36Resize" : "Spline36Resize" : nop()
c = rescale ? threads!=1 ? Eval("""try { Eval("c1."+upsizer+"mt(c1.width, c1.height*3/2,threads=threads)") } catch(error_msg) { Eval("c1."+upsizer+"(c1.width, c1.height*3/2)") }""") : Eval("c1."+upsizer+"(c1.width, c1.height*3/2)") : c1
nn = issloi ? slow > 1 ? c.Padding(slow==2 ? 0 : 4,4,slow==2 ? 0 : 4,4).nnedi3(field=-2,threads=threads).crop(slow==2 ? 0 : 4,4,slow==2 ? 0 : -4,-4) : c.nnedi3(field=-2,threads=threads) : c.nnedi3(field=-2,threads=threads)
c =isyuy2(c) && avs25 ? c.Interleaved2Planar() : isyuy2(c) ? c.converttoyv16() : c
nn=isyuy2(nn) && avs25 ? nn.Interleaved2Planar() : isyuy2(nn) ? nn.converttoyv16() : nn
isslow4 = slowb && issloi ? slow > 3 || slow < -1 : false
istof = isslow4 ? c1.getparity : nop()
seto = isslow4 ? istof ? selecteven(nn) : selectodd(nn) : selecteven(nn)
seto = isslow4 ? threads!=1 ? Eval("""try { Eval("seto."+downsizer+"mt(c.width, c.height,src_top=-0.5,threads=threads)") } catch(error_msg) { Eval("seto."+downsizer+"(c.width, c.height,src_top=-0.5)") }""") : Eval("seto."+downsizer+"(c.width, c.height,src_top=-0.5)") : seto
sebo = isslow4 ? istof ? selectodd(nn) : selecteven(nn) : selectodd(nn)
sebo = isslow4 ? threads!=1 ? Eval("""try { Eval("sebo."+downsizer+"mt(c.width, c.height,src_top=0.5,threads=threads)") } catch(error_msg) { Eval("sebo."+downsizer+"(c.width, c.height,src_top=0.5)") }""") : Eval("sebo."+downsizer+"(c.width, c.height,src_top=0.5)") : sebo
dbl = mt_average(seto,sebo,U=3,V=3)
dblD = mt_makediff(c,dbl,U=3,V=3)
shrpD = mt_makediff(dbl,dbl.removegrain((width(c)>1100) ? 20 : 11,Planar=true),U=3,V=3)
DD = shrpD.repair(dblD,13,Planar=true)
fd1 = dbl.mt_adddiff(DD,U=3,V=3)
fd2 = rescale ? threads!=1 ? Eval("""try { Eval("fd1."+downsizer+"mt(c1.width, c1.height,threads=threads"+((downsizer!="Spline36Resize") ? ",b=0.3, c=0.2" : "" )+")") } catch(error_msg) { Eval("fd1."+downsizer+"(c1.width, c1.height"+((downsizer!="Spline36Resize") ? ",b=0.3, c=0.2" : "" )+")") }""") : Eval("fd1."+downsizer+"(c1.width, c1.height"+((downsizer!="Spline36Resize") ? ",b=0.3, c=0.2" : "" )+")") : fd1
fd3 = isyuy2(c1) && avs25 ? fd2.Planar2Interleaved() : isyuy2(c1) ? fd2.converttoyuy2() : fd2
return fd3
}
like this example:- original - daa3 - mcdaa3 And here apply of daa3 and mcdaa3 on a moving scene:- original -daa3 -mcdaa3 download link (it's old now) edit1: mcdaa3 and normal daa can deal with ifade too, In fact, the daa function is the remnants Interlaced cleaner after IVTC edit2: now you can use it like this smam(filter=daa3mod()) , this support YUY2 and more up to date edit3: since smam now will add daa3mod() is some cases, if you use it like this smam(filter="daa3mod()") it will be 2 daa3mod(), so you must change smam settings like this smam(filter="daa3mod()",usedaa3mod=0) or use it as I write in "edit2" above, or smam(filter=last) edit4: if the clip has black border on top or bottom it beter to crop it before using any daa/daa3 method since it will add some Artifacts unless you set slow to -2 or more than 0 (better but slower as you go on with the number)
__________________
See My Avisynth Stuff Last edited by real.finder; 7th August 2019 at 00:18. Reason: new slow method |
|
|
|
|
|
#91 | Link | |
|
Registered User
Join Date: Jul 2013
Posts: 29
|
Quote:
|
|
|
|
|
|
|
#92 | Link | |
|
Registered User
Join Date: Mar 2010
Posts: 79
|
Quote:
Or, rather, do I need to just invoke the functions with empty parameters or I need to specify clip? Last edited by Kein; 3rd March 2015 at 13:42. |
|
|
|
|
|
|
#93 | Link | |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,406
|
Quote:
Code:
function mcdaa3(clip input) http://avisynth.nl/index.php/External_filters
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 3rd March 2015 at 16:22. |
|
|
|
|
|
|
#94 | Link | |
|
Registered User
Join Date: Mar 2010
Posts: 79
|
Quote:
|
|
|
|
|
|
|
#96 | Link | |
|
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,685
|
Quote:
but anyway, now it better to use smam(filter=daa3mod(slow=2)) or with Vinverse instead of daa3mod/daa3
__________________
See My Avisynth Stuff |
|
|
|
|
|
|
#97 | Link | |
|
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 3,075
|
Quote:
Where can I find smam? I am just looking for a good AA for anime contents, now that they use 3D a lot and it's a mess as far as aliasing is concerned.
__________________
@turment on Telegram |
|
|
|
|
|
|
#98 | Link | |||
|
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,685
|
Quote:
like this https://i.imgur.com/f9tW8bl.png it's aliasing because of fields not matched perfectly Quote:
Quote:
__________________
See My Avisynth Stuff |
|||
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|