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. |
24th December 2020, 00:51 | #1 | Link |
baka1
Join Date: May 2020
Posts: 31
|
Rainbowing, Deblocking and Vertical Shimmering
https://mega.nz/folder/fHwAWJiK#CqfNEtjtRPo1BgqikTn5aQ
In the first two clips - there are rainbowing effects on the roof and the man's suit. I tried using DFMDeRainbow but it doesn't seem to work even with settings cranked up. For the third clip - the blue files holder seems to have a vertical shimmering affect - that stays there even after deinterlacing (a video can't be both deinterlaced horizontally and vertically right?) Maybe it's the age of the video - I'm still finding blockiness on edges especially (people's faces and shirt collars) and Deblock doesn't seem to help smooth it out. |
24th December 2020, 03:08 | #2 | Link |
Registered User
Join Date: Jan 2018
Posts: 2,156
|
Can you test with ASTDR??
https://raw.githubusercontent.com/re...0up/ASTDR.avsi |
24th December 2020, 07:35 | #3 | Link | |
baka1
Join Date: May 2020
Posts: 31
|
Quote:
I've uploaded 3 sets of images to the original folder. So ASTDR works pretty well in removing most of the rainbowing - but in the scene where a beach ball is thrown around - it creates ghost images of the ball. I guess it'd have to be selectively used. Yet to solve for vertical shimmering. Edit: ADSTR doesn't seem to work very well with scene changes - see the 5 new images uploaded. Last edited by baka1; 25th December 2020 at 23:04. |
|
16th May 2021, 02:38 | #4 | Link |
baka1
Join Date: May 2020
Posts: 31
|
Two sets of examples with vertical shimmering. First set is evident on the lines of the table on bottom right.
Second set (extract here: https://mega.nz/folder/fHwAWJiK#CqfN.../file/3Gxg2LbQ) - I first notice it on the folders - bit it seems to plague every horizontal line with alternating vertical jitters. I don't get the underlying cause of these jitters so I can't figure out what script to use to fix it. Last pic is frame 37274 with DeStripe applied. Although it does remove the jitters on the pages on the bottom right - it seems like a softening filter has been applied throughout. |
16th May 2021, 04:45 | #5 | Link | |
Registered User
Join Date: Jan 2018
Posts: 2,156
|
Quote:
https://github.com/Asd-g/AviSynthPlu...bbyRain2_.avsi |
|
16th May 2021, 05:13 | #7 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Destripe Script:- https://forum.doom9.org/showthread.p...76#post1408276
Destripe dll: Japanese:- https://sites.google.com/site/anibinmidori/destripe Google Translate:- https://translate.google.com/transla...idori/destripe 1st link at above page. Destripe_03nod.zip has just dll [CullResize.dll] 2nd link, has dll, destripe script and source code. [script not same as first link at top of post] And also txt file in Japanese. Article linked by above Japanese link:- https://translate.google.com/transla...idori/destripe EDIT: The script with dll and source, with parts translated to Eng Code:
#With DLL Destripe ver 0.3 Need to be fixed if # Destripe.avs (this file) and CullResize.dll are placed in different locations LoadPlugin ("CullResize.dll") function Destripe (clip clip, int "hh", int "rt", int "sft1", int "sft2", int "addb", int "mode") { addb = default (addb, 0) mode = default (mode, 1) Assert (hh> = 1 && hh <= 2048, "hh is 1 to 2048") Assert (rt> = 1 && rt <= 64, "rt is 1-64") Assert (sft1> = (-rt * 4) && sft1 <= (rt * 4), "sft1 range error") Assert (sft2> = (-rt * 4) && sft2 <= (rt * 4), "sft2 range error") Assert (addb> = 0 && addb <= 256 && (addb% 2) == 0, "addb is an even number between 0 and 256") Assert (mode> =-158 && mode <= 100, "mode is -158-100") w = clip.width () c = ((addb == 0)? clip: clip.AddBorders (0, 0, 0, addb)). Separatefields () ve = c.SelectEven () vo = c.SelectOdd () ve = (mode == 0)? ve.CullBicubicResize (w, hh, scale = rt, phase = -rt + sft1) :( \ (mode == 1)? ve.CullSpline36Resize (w, hh, scale = rt, phase = -rt + sft1) :( \ ve.blur (0,-(float (mode) / 100.0)). CullSpline36Resize (w, hh, scale = rt, phase = -rt + sft1))) vo = (mode == 0)? vo.CullBicubicResize (w, hh, scale = rt, phase = -rt + sft2) :( \ (mode == 1)? vo.CullSpline36Resize (w, hh, scale = rt, phase = -rt + sft2) :( \ vo.blur (0,-(float (mode) / 100.0)). CullSpline36Resize (w, hh, scale = rt, phase = -rt + sft2))) return Interleave (ve, vo). Weave () } function TestDestripe(clip clip, int "hh", int "rt", int "sft1", int "sft2", int "addb", int "mode") { addb = default(addb, 0) mode = default(mode, 1) setinfo = String(hh)+" "+String(rt)+" "+String(sft1)+" "+String(sft2) setinfo = (addb != 0) ? (setinfo + " +" + String(addb)) : setinfo setinfo = (mode != 1) ? (setinfo + " m" + String(mode)) : setinfo return Interleave( \ clip.AddBorders(0, 0, 0, addb). \ SubTitle("Original", size=32, align=5), \ clip.Destripe(hh, rt, sft1, sft2, addb, mode). \ Lanczos4Resize(clip.Width(), clip.Height() + addb). \ SubTitle("Destripe " + setinfo, size=32, align=5)) } function Zoom2(clip clip) { w = clip.Width() h = clip.Height() return clip.PointResize(w, h, w / 4, h / 4, w / 2, h / 2) }
__________________
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; 16th May 2021 at 05:30. |
16th May 2021, 05:34 | #9 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
If you're talking about the dll code, it has lots of assembler in it, so I cant do it.
(if that is the destripe that baka1 uses)
__________________
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 ??? |
16th May 2021, 05:41 | #10 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
CullResize-0.1.7z on SendSpace [see my sig below this post].
x86 and x64 (the earlier link was for v0.3, x86 only) EDIT: Seems that Reel.Deel has used this plugin, maybe he has found more recent x64 version. https://forum.doom9.org/showthread.p...15#post1689615
__________________
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; 16th May 2021 at 05:46. |
16th May 2021, 06:05 | #12 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
x64 CullResize is here: https://github.com/DJATOM/CullResize
But, I'm not sure why kedautinh12 is suggesting that. CullResize is for a particular cross-conversion issue that baka's sample does not have. Baka's sample contains both rainbows and dotcrawl, since the footage is interlaced, running it thru QTGMC does a decent job with the dotcrawl and helps a bit with the rainbow. I think a better result can be attained if QTGMC is provided with a pre-filtered clip, either as the input or via the EdiExt option. There's also a few plugins for dealing with dotcrawl and rainbows listed on the wiki, try processing the clip with said tools before feeding it to QTGMC. |
16th May 2021, 06:14 | #13 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Here is the text file from one of the zips, it previously resisted googles Online Translate,
but now it works. Code:
------------------------------------------------------------------------ Destripe package (test version) Distribution URL http://sites.google.com/site/anibinmidori/destripe ------------------------------------------------------------------------ This package is CullResize.dll Destripe.avs Destripe.txt src.zip resample.cpp resample_functions.cpp resample.h resample_functions.h It consists of. The files included in src.zip are 4 files in the source of avisynth 2.5.8 main body. It is a modified version with the same name. In dll creation, another SplineResize_v01 file is used. ------------------------------------------------------------------------ Installation -Copy CullResize.dll to the plugin folder -Copy Destripe.avs to an appropriate folder -Added the folder where CullResize.dll is placed to LoadPlugin of Destripe.avs. -Import Destripe.avs with import ("location \ Destripe.avs") Or copy and paste only the necessary part in Destripe.avs etc. Feel free to change it according to the actual environment. Other required files msvcr80.dll For the msvcr80.dll unnecessary version (large size), only the dll is distributed separately. ------------------------------------------------------------------------ Destripe about For the functions and settings, see the article on measures against stripes on the bottle. http://anibin.blogspot.com/search/label/%E7%B8%9E%E7%B8%9E%E5%AF%BE%E7%AD%96 ------------------------------------------------------------------------ CullResize.dll about Destripe processing can be realized only by combining avisynth's internal filters, If rt = 10 is specified, it will be expanded to a huge size. Calculate for pixels 10 times the target size and discard 90% of the data It is a wasteful process. The filter in CullResize.dll eliminates the waste and calculates only the necessary part. This is a modified version of avisynth's built-in resizing filter to achieve the same result. The explanation about the filter in the dll will be described when the next version or later is released. ------------------------------------------------------------------------ change history v0.3 (11/17/2009) Public test first edition
__________________
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 ??? |
16th May 2021, 07:05 | #14 | Link | |
Registered User
Join Date: Jan 2018
Posts: 2,156
|
Quote:
Last edited by kedautinh12; 16th May 2021 at 09:01. |
|
16th May 2021, 07:07 | #15 | Link | |
Registered User
Join Date: Jan 2018
Posts: 2,156
|
Quote:
|
|
16th May 2021, 07:21 | #16 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
as I said before ASTDR default values may be high, ASTDR(3,15,2,FluxStv=30,edgem=true) should be enough and without noticeable artifacts or use ASTDRmc anyway for even more less Temporal artifacts if you don't mind some blur and low speed Code:
scomb(ntsccombmask=true) #Spatio-Temporal fix qtgmc Code:
sdwcomp=DotKills(iterations=4).Rainbow_Smooth2(5,200) smdc=SMDegrain(1,1000,1000,true, mfilter=sdwcomp,subpixel=3,amp=2,prefilter=sdwcomp.expr("x 0.5 * 0.125 x x[0,-1] - abs 32 scaleb > x x[0,-1] > x 32 scaleb + x 32 scaleb - ? x[0,-1] ? * + 0.125 x x[0,1] - abs 32 scaleb > x x[0,1] > x 32 scaleb + x 32 scaleb - ? x[0,1] ? * + 0.125 x x[-2,0] - abs 32 scaleb > x x[-2,0] > x 32 scaleb + x 32 scaleb - ? x[-2,0] ? * + 0.125 x x[2,0] - abs 32 scaleb > x x[2,0] > x 32 scaleb + x 32 scaleb - ? x[2,0] ? * +").sGConvolution("-1 2 -1 2 0 2 -1 2 -1",chroma=true)) #expr line made as imitation to https://web.archive.org/web/20150602063631/http://home.earthlink.net/~tacosalad/video/dotcrawl.html and sGConvolution from https://forum.doom9.org/showpost.php?p=1751654&postcount=5 mt_merge(last,smdc,scombmask,u=3,v=3) mt_merge(last,smdc,scombmask,u=3,v=3) Code:
SeparateFields() LUTComb() Weave() qtgmc Code:
qtgmc LUTComb() also there are many new things and updates for Rainbow & Dot Crawl Removal filters here https://github.com/Asd-g?tab=repositories (as side note: vsCnr2 can be used for remove Rainbow)
__________________
See My Avisynth Stuff Last edited by real.finder; 16th May 2021 at 09:23. |
|
16th May 2021, 13:23 | #17 | Link | |
baka1
Join Date: May 2020
Posts: 31
|
Quote:
Code:
#scomb(ntsccombmask=true) #Spatio-Temporal fix #~ SeparateFields() #~ LUTComb() #~ Weave() Yadifmod2() #DotKills(iterations=4) sdwcomp=DotKills(iterations=4) smdc=SMDegrain(1,1000,1000,true, mfilter=sdwcomp,subpixel=3,amp=2,prefilter=sdwcomp.expr("x 0.5 * 0.125 x x[0,-1] - abs 32 scaleb > x x[0,-1] > x 32 scaleb + x 32 scaleb - ? x[0,-1] ? * + 0.125 x x[0,1] - abs 32 scaleb > x x[0,1] > x 32 scaleb + x 32 scaleb - ? x[0,1] ? * + 0.125 x x[-2,0] - abs 32 scaleb > x x[-2,0] > x 32 scaleb + x 32 scaleb - ? x[-2,0] ? * + 0.125 x x[2,0] - abs 32 scaleb > x x[2,0] > x 32 scaleb + x 32 scaleb - ? x[2,0] ? * +").sGConvolution("-1 2 -1 2 0 2 -1 2 -1",chroma=true)) #expr line made as imitation to https://web.archive.org/web/20150602063631/http://home.earthlink.net/~tacosalad/video/dotcrawl.html and sGConvolution from https://forum.doom9.org/showpost.php?p=1751654&postcount=5 mt_merge(last,smdc,scombmask,u=3,v=3) mt_merge(last,smdc,scombmask,u=3,v=3) srestore(23.976) |
|
16th May 2021, 13:49 | #18 | Link |
Registered User
Join Date: Jan 2018
Posts: 2,156
|
Rainbow_Smooth in here
https://github.com/Asd-g/AviSynthPlus-Scripts |
16th May 2021, 16:49 | #19 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
make sure that you are uptodate and don't have old Duplicate plugins or scripts
also your source are 60i, why use srestore? you can also try Code:
tcomb() scomb(ntsccombmask=true) qtgmc() LUTComb() DotKills(iterations=4) Rainbow_Smooth2()
__________________
See My Avisynth Stuff |
|
|