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. |
![]() |
#41 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,565
|
I know, I wasn't complaining, I was just pointing out that I had the very same issues you had on some scenes, that's all.
Anyway, I'll provide the script if it helps others. |
![]() |
![]() |
![]() |
#43 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,655
|
Just noticed, mistake in docs [fixed]
Code:
Tm, TrueMotion Default True. Some folk swear truemotion=false is better. # Was False
__________________
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 ??? |
![]() |
![]() |
![]() |
#44 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,632
|
I was able to eliminate a lot of the rainbows in the clip provided in a thread over at Videohelp. This post shows the SpotlessS script I used, along with one "before/after" snapshot:
https://forum.videohelp.com/threads/...=1#post2595644 |
![]() |
![]() |
![]() |
#45 | Link | |
Registered User
Join Date: Jan 2018
Posts: 1,798
|
Quote:
https://github.com/realfinder/AVS-St...0up/ASTDR.avsi |
|
![]() |
![]() |
![]() |
#46 | Link | |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,632
|
Quote:
|
|
![]() |
![]() |
![]() |
#47 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,655
|
John, you posted on VideoHelp, non current script,
Code:
RadT = Default(RadT,2) # Temporal radius. (MCompensate arg) ThSAD = Default(ThSAD,10000) # SAD threshold at radius 1 (Default Nearly OFF). ThSAD2 = Default(ThSAD2,10000) # Setting lower, sets SAD thresold to limit blurring effect of more distant reference frame BAD matching blocks. (MCompensate arg) Code:
RadT = Default(RadT,1) # Temporal radius. (MCompensate arg) ThSAD = Default(ThSAD,10000) # SAD threshold at radius 1 (Default Nearly OFF). ThSAD2 = Default(ThSAD2,ThSAD) # Setting lower, sets SAD thresold to limit blurring effect of more distant reference frame BAD matching blocks. (MCompensate arg) We dont really want gazllions of versions of the function floating about, there are already more than enough official ones.
__________________
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 ??? |
![]() |
![]() |
![]() |
#49 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,655
|
Update SpotLess(), v1.06, see 1st post.
Code:
v1.01, Remove RadT Max check. Add MSuper(hpad=16,vpad=16). Add BlkSz arg. v1.02, Add some stuff. v1.03, Frame size auto config of args removed (found instances where caused problems). Added Glob and bBlur args. v1.04, Script breaking changes, I guess is more flexible if can also set ThSAD, inserted ThSAD 3rd arg. RadT now default 1, was 2, dont over denoise unless requested. v1.05, Additional checks on args. v1.06, Glob Default true, Almost always better.
__________________
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 ??? |
![]() |
![]() |
![]() |
#50 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,655
|
Dont know if this is of any use at all (I usually like to get rid of interlacing).
Code:
Function SpotLessI(clip c,String "Bobber",int "RadT",int "ThSAD",int "ThSAD2",int "pel",bool "chroma", int "BlkSz",Int "Olap",bool "tm",Bool "glob",Float "bBlur") { /* SpotLess use on Interlaced material. Input requires correct parity, use AssumeTFF/AssumeBFF before use. RadT etc applied to Bobbed fields rather than frames, Might want to use at least RadT=2 (default is 1). */ c Bobber = Default(Bobber,"Bob") # Your Favourite Bob deinterlacer whotsit Last.Eval(Bobber) SpotLess(RadT,ThSAD,ThSAD2,pel,chroma,BlkSz,Olap,tm,glob,bBlur) SeparateFields.SelectEvery(4,0,3).Weave Return Last } If is of value, I'll add to main script, otherwise if no response I'll give it a miss. EDIT: Or any suggestions on single/doublerate use (maybe skip last step SeparateFields.weave). EDIT: Or could use above as a template. EDIT: Possibly of best use where original clip was progressive with noise before artificial conversion to Interlaced. EDIT: Alternative. Code:
Function SpotLess2i2(clip c,int "RadT",int "ThSAD",int "ThSAD2",int "pel",bool "chroma", int "BlkSz",Int "Olap",bool "tm",Bool "glob",Float "bBlur") { /* SpotLess use on Interlaced material, fields filtered separately. Input requires correct parity, use AssumeTFF/AssumeBFF before use. */ c e=Separatefields.SelectEven.AssumeFrameBased.SpotLess(RadT,ThSAD,ThSAD2,pel,chroma,BlkSz,Olap,tm,glob,bBlur) o=Separatefields.SelectOdd.AssumeFrameBased.SpotLess(RadT,ThSAD,ThSAD2,pel,chroma,BlkSz,Olap,tm,glob,bBlur) Return interleave(e.AssumeFieldBased,o.AssumeFieldBased).Weave }
__________________
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; 8th January 2021 at 20:03. |
![]() |
![]() |
![]() |
#51 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,565
|
That is actually correct.
You're bobbing, filtering, dividing in fields, so that's alright. By the way, I would encourage users to do it themselves rather than relying on it 'cause it's definitely gonna work for truly interlaced sources which will be bobbed to 59.940p or 50p, however, on telecined sources it will make the temporal prediction of MVTools useless, besides, even with truly interlaced sources, with Bob, fields would jump "up-down-up-down" making it harder to analyze and filter, so it's always better to let users handle it (hoping they'll use something decent as a deinterlacer and that they're aware of their source). As to the alternative, again, you're right, as you're filtering each field separately and then putting them back together. The second approach is probably the safest and I prefer it more than bobbing and re-interlacing. ![]() Well done, Stainly, you're really following the government advice: ![]() Last edited by FranceBB; 10th January 2021 at 14:05. |
![]() |
![]() |
![]() |
#52 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,655
|
Cheers FaB, tanks for feedback.
I'll not bother adding to base script then. EDIT: By the way, Bobber default of "Bob" is only because its a builtin filter, I would not recommend it.
__________________
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; 12th January 2021 at 15:49. |
![]() |
![]() |
![]() |
#53 | Link |
Big Bit Savings Now !
Join Date: Feb 2007
Location: close to the wall
Posts: 1,353
|
FranceBB, now that poster is brilliant !
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain) "Data reduction ? Yep, Sir. We're working on that issue. Synce invntoin uf lingöage..." |
![]() |
![]() |
![]() |
#54 | Link | |
Registered User
Join Date: Dec 2002
Location: N/A
Posts: 185
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#55 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,655
|
Thanks for the feedback piscator,
MvTools motion compensation type stuff dont usually work to well on anime. Did you use any non default args ? [maybe large block size, which I thought might help].
__________________
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 ??? |
![]() |
![]() |
![]() |
#56 | Link |
Registered User
Join Date: Dec 2002
Location: N/A
Posts: 185
|
I just used default arguments.
Perhaps it works so well because this cartoon is quite 'static'. The background is usually completely fixed with sometimes a bit of panning /zooming on it. So, it is all really quite slow / limited motion. |
![]() |
![]() |
![]() |
#57 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,655
|
static background might help,
anyways glad you are happy.
__________________
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 ??? |
![]() |
![]() |
![]() |
#58 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,565
|
That's because cartoons / anime are generally not with the real framerate.
I mean, if you go through an anime encoded at 23.976fps, you'll almost definitely find repeated frames, but it's not a mistake, they're there by purpose as whoever animated it (I mean the studio) wasn't really able to deliver so many frames per seconds in terms of each individual character moving a part of the body etc. These repeated frames don't generally work well with MVTools, hence the assumption that it might not work for anime. In your case it worked absolutely fine, so don't get me wrong, you might be lucky and have it working perfectly fine, but generally speaking, MVTools doesn't like non-live contents. ![]() Ehehehe thanks |
![]() |
![]() |
![]() |
#59 | Link | |
Registered User
Join Date: Dec 2002
Location: N/A
Posts: 185
|
Quote:
![]() I encoded this source for fun on crf 30 (x265, Ultralow) and it looks the same as on higher bitrates. But degraining, descratching and removing the spots make it much better. |
|
![]() |
![]() |
![]() |
#60 | Link |
Registered User
Join Date: Mar 2017
Location: Germany
Posts: 210
|
An idea:
Maybe possible to -drop the dups, log it, maybe in StainlessS' database thing -removedirt/spotless -take the logged dups in another clip -removedirt these -bring everything together again Could be a cleaning-chance for old anime ![]() |
![]() |
![]() |
![]() |
Tags |
denoise, despot, prefilter |
Thread Tools | Search this Thread |
Display Modes | |
|
|