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. |
13th February 2010, 00:26 | #1 | Link |
Registered User
Join Date: Oct 2006
Posts: 17
|
Dotcrawls and Rainbows Oh My! (Need help)
I've been trying to figure out how to get rid of dotcrawl and rainbows lately and I can't for the life of me get the hang of it.
I've tried using Tcomb on these 2 samples here and I either get temporal smearing (but I get rid of the dotcrawl) and the rainbows don't dissapear at all. I also tried some other filters and they did the same thing (funky smears in high motion) I followed the Tcomb guide and I don't know what I'm doing wrong. Dotcrawl sample http://www.mediafire.com/?ivey0zzjbmj Rainbow Sample http://rapidshare.com/files/349504780/rainbows.VOB.html |
13th February 2010, 05:01 | #2 | Link |
Quality Freak
Join Date: Jun 2007
Location: Area 52
Posts: 597
|
Why didn't you upload the rainbow sample to mediafire as well? Would have been much faster for downloading. Anyway, on to your problem. For the rainbows, don't know what you're talking about. A simple DeRainbow() worked just fine for me. Make sure that when you do it, you do it before you deinterlace/IVTC. Your dotcrawl's are another matter, found them to be quite stubborn.
checkmate(10) tcomb(mode=0,fthreshL=5,othreshL=6) |
13th February 2010, 05:16 | #3 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
I just created a MediaFire account a little earlier , and on trying to upload I got a
"User configuration file not found" (or something similar) and on trying to access any of the help related links, it just was not accessable, maybe they are suffering from some kind of site problem, hence the second upload to RapidShare. Anyway, have not looked at samples, but I like CNR2 on VHS caps.
__________________
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 ??? |
25th February 2010, 04:48 | #4 | Link |
Registered User
Join Date: Feb 2004
Posts: 1,348
|
Hows this (I know this is a late reply)
http://www.mediafire.com/file/wmizkt...20dotcrawl.avi It uses a really slow custom dotcrawl function, mvtools denoising, and some really slow halo reduction/sharpening. Imo, its probably not worth it. |
3rd March 2010, 23:01 | #5 | Link | |
Registered User
Join Date: Sep 2008
Posts: 365
|
Quote:
|
|
4th March 2010, 06:05 | #6 | Link |
Registered User
Join Date: Feb 2004
Posts: 1,348
|
Code:
function unbt(clip c, int "taps", int "strong"){ c = c strong = default(strong, 1) t2 = c t1 = c.Trim(0, -1)+c.Trim(0, c.framecount-1) t3 = c.Trim(1, 0)+c.Trim(c.framecount, 0) t1s0 = t1 t2s0 = t2 t3s0 = t3 smix1 = t2s0.Mt_convolution( Horizontal = " 0 -1 4 -6 10 -17 28 -39 58 -155 618 512 -128 48 -32 23 -14 8 -5 3 -1 ", vertical = " 1 ", u=2, v=2) smix2 = t2s0.Mt_convolution( Horizontal = " -1 3 -5 8 -14 23 -32 48 -128 512 618 -155 58 -39 28 -17 10 -6 4 -1 ", vertical = " 1 ", u=2, v=2) smix3 = t2s0.Mt_convolution( Horizontal = " 1 ", vertical = " -1 3 -5 8 -14 23 -32 48 -128 512 512 -128 48 -32 23 -14 8 -5 3 -1 ", u=2, v=2) smix4 = t2s0.Mt_convolution( Horizontal = " 1 ", vertical = " 0 -1 3 -5 8 -14 23 -32 48 -128 512 512 -128 48 -32 23 -14 8 -5 3 -1 ", u=2, v=2) BasicSpatial = strong >= 1 ? C.unbs(strong=1) : t2s0 tmix1 = average(t2s0, 0.5, t1s0, 0.5) tmix2 = average(t2s0, 0.5, t3s0, 0.5) interleave(smix1, smix2, smix3, smix4, tmix1, tmix2, BasicSpatial).medianblurt(radiusy=0, radiusu=0, radiusv=0, temporalradius=3, mc=false, calcborder=false, markscenechange=false) selectevery(7, 3) return(last)} function unbs(clip c, int "taps", int "strong"){ c = c strong = default(strong, 0) t2 = c t1 = c.Trim(0, -1)+c.Trim(0, c.framecount-1) t3 = c.Trim(1, 0)+c.Trim(c.framecount, 0) t1s0 = t1 t2s0 = t2 t3s0 = t3 smix1 = t2s0.Mt_convolution( Horizontal = " 0 -1 4 -6 10 -17 28 -39 58 -155 618 512 -128 48 -32 23 -14 8 -5 3 -1 ", vertical = " 1 ", u=2, v=2) smix2 = t2s0.Mt_convolution( Horizontal = " -1 3 -5 8 -14 23 -32 48 -128 512 618 -155 58 -39 28 -17 10 -6 4 -1 ", vertical = " 1 ", u=2, v=2) smix3 = t2s0.Mt_convolution( Horizontal = " 1 ", vertical = " -1 3 -5 8 -14 23 -32 48 -128 512 512 -128 48 -32 23 -14 8 -5 3 -1 ", u=2, v=2) smix4 = t2s0.Mt_convolution( Horizontal = " 1 ", vertical = " 0 -1 3 -5 8 -14 23 -32 48 -128 512 512 -128 48 -32 23 -14 8 -5 3 -1 ", u=2, v=2) BasicSpatial = strong >= 1 ? c.ldd.ldd : t2s0 #tmix1 = average(t2s0, 0.5, t1s0, 0.5) #tmix2 = average(t2s0, 0.5, t3s0, 0.5) interleave(smix1, smix2, smix3, smix4, BasicSpatial).medianblurt(radiusy=0, radiusu=0, radiusv=0, temporalradius=3, mc=false, calcborder=false, markscenechange=false) selectevery(5, 2) return(last)} function unbs_internal(clip c, int "taps", int "strong"){ c = c strong = default(strong, 0) t2 = c t1 = c.Trim(0, -1)+c.Trim(0, c.framecount-1) t3 = c.Trim(1, 0)+c.Trim(c.framecount, 0) t1s0 = t1 t2s0 = t2 t3s0 = t3 smix1 = t2s0.Mt_convolution( Horizontal = " 0 -1 4 -6 10 -17 28 -39 58 -155 618 512 -128 48 -32 23 -14 8 -5 3 -1 ", vertical = " 1 ", u=2, v=2) smix2 = t2s0.Mt_convolution( Horizontal = " -1 3 -5 8 -14 23 -32 48 -128 512 618 -155 58 -39 28 -17 10 -6 4 -1 ", vertical = " 1 ", u=2, v=2) smix3 = t2s0.Mt_convolution( Horizontal = " 1 ", vertical = " -1 3 -5 8 -14 23 -32 48 -128 512 512 -128 48 -32 23 -14 8 -5 3 -1 ", u=2, v=2) smix4 = t2s0.Mt_convolution( Horizontal = " 1 ", vertical = " 0 -1 3 -5 8 -14 23 -32 48 -128 512 512 -128 48 -32 23 -14 8 -5 3 -1 ", u=2, v=2) BasicSpatial = strong >= 1 ? c.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " -1 2 -2 3 -6 9 -9 16 -80 384 0 384 -80 16 -9 9 -6 3 -2 2 -1 ", u=2, v=2) : t2s0 #tmix1 = average(t2s0, 0.5, t1s0, 0.5) #tmix2 = average(t2s0, 0.5, t3s0, 0.5) interleave(smix1, smix2, smix3, smix4, BasicSpatial).medianblurt(radiusy=0, radiusu=0, radiusv=0, temporalradius=3, mc=false, calcborder=false, markscenechange=false) selectevery(5, 2) return(last)} Function LDD(clip c) { Prefiltered = C.unbs_internal#.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " -1 2 -2 3 -6 9 -9 16 -80 384 0 384 -80 16 -9 9 -6 3 -2 2 -1 ", u=2, v=2) Prefiltered_Spatial_Position0 = Prefiltered Prefiltered_Spatial_Position1 = Prefiltered.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", Vertical = " 1 ", u=2, v=2) Prefiltered_Spatial_Position2 = Prefiltered.Mt_convolution( Horizontal = " 1 ", Vertical = " -1 2 -2 3 -6 9 -9 16 -80 384 0 384 -80 16 -9 9 -6 3 -2 2 -1 ", u=2, v=2) Prefiltered_Temporal_Position_Previous = Prefiltered.Trim(0, -1)+c.Trim(0, c.framecount-1) Prefiltered_Temporal_Position1_Next = Prefiltered.Trim(1, 0)+c.Trim(c.framecount, 0) Prefiltered_Temporal_Filter = Average(Prefiltered_Temporal_Position_Previous, 0.25, Prefiltered_Temporal_Position1_Next, 0.25, Prefiltered, 0.25, Prefiltered, 0.25) Spatial_Position0 = C Spatial_Position1 = C.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", Vertical = " 1 ", u=2, v=2) Spatial_Position2 = C.Mt_convolution( Horizontal = " 1 ", Vertical = " -1 2 -2 3 -6 9 -9 16 -80 384 0 384 -80 16 -9 9 -6 3 -2 2 -1 ", u=2, v=2) Temporal_Position_Previous = C.Trim(0, -1)+c.Trim(0, c.framecount-1) Temporal_Position1_Next = C.Trim(1, 0)+c.Trim(c.framecount, 0) Temporal_Filter = Average(Temporal_Position_Previous, 0.25, Temporal_Position1_Next, 0.25, C, 0.25, C, 0.25) Difference1 = mt_makediff(Prefiltered, Prefiltered_Spatial_Position1, u=1, v=1) Difference2 = mt_makediff(Prefiltered, Prefiltered_Spatial_Position2, u=1, v=1) Difference3 = mt_makediff(Prefiltered, Prefiltered_Temporal_Filter, u=1, v=1) #Difference4 = mt_makediff(Prefiltered, Prefiltered_Spatial_Position4, u=1, v=1) #Difference5 = mt_makediff(Prefiltered, Prefiltered_Temporal_Position_Previous, u=1, v=1) #Difference6 = mt_makediff(Prefiltered, Prefiltered_Temporal_Position1_Next, u=1, v=1) Thresh=256 Compare1 = mt_merge(Spatial_Position1, Spatial_Position2, mt_lutxy(Difference1, Difference2, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) Compare1_Prefiltered = mt_merge(Prefiltered_Spatial_Position1, Prefiltered_Spatial_Position2, mt_lutxy(Difference1, Difference2, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) Difference_Step2_1 = mt_makediff(C, Compare1_Prefiltered, u=1, v=1) Compare2 = mt_merge(Compare1, Temporal_Filter, mt_lutxy(Difference_Step2_1, Difference3, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) Compare2_Prefiltered = mt_merge(Compare1_Prefiltered, Prefiltered_Temporal_Filter, mt_lutxy(Difference_Step2_1, Difference3, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) Difference_Step2_2 = mt_makediff(C, Compare2_Prefiltered, u=1, v=1) #Compare3 = mt_merge(Compare2, Spatial_Position4, mt_lutxy(Difference_Step2_2, Difference4, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Compare3_Prefiltered = mt_merge(Compare2_Prefiltered, Prefiltered_Spatial_Position4, mt_lutxy(Difference_Step2_2, Difference4, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Difference_Step2_3 = mt_makediff(C, Compare3_Prefiltered, u=1, v=1) #Compare4 = mt_merge(Compare3, Temporal_Position_Previous, mt_lutxy(Difference_Step2_3, Difference5, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Compare4_Prefiltered = mt_merge(Compare3_Prefiltered, Prefiltered_Temporal_Position_Previous, mt_lutxy(Difference_Step2_3, Difference5, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Difference_Step2_4 = mt_makediff(C, Compare4_Prefiltered, u=1, v=1) #Compare5 = mt_merge(Compare4, Temporal_Position1_Next, mt_lutxy(Difference_Step2_4, Difference6, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Compare5_Prefiltered = mt_merge(Compare4_Prefiltered, Prefiltered_Temporal_Position1_Next, mt_lutxy(Difference_Step2_4, Difference6, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Difference_Step2_5 = mt_makediff(C, Compare5_Prefiltered, u=1, v=1) return(mergechroma(Compare1, C, 1))} Function LDD2(clip c) { Prefiltered = C.Unbt#.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " -1 2 -2 3 -6 9 -9 16 -80 384 0 384 -80 16 -9 9 -6 3 -2 2 -1 ", u=2, v=2) Prefiltered_Spatial_Position0 = Prefiltered Prefiltered_Spatial_Position1 = Prefiltered.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", Vertical = " 1 ", u=2, v=2) Prefiltered_Spatial_Position2 = Prefiltered.Mt_convolution( Horizontal = " 1 ", Vertical = " -1 2 -2 3 -6 9 -9 16 -80 384 0 384 -80 16 -9 9 -6 3 -2 2 -1 ", u=2, v=2) Prefiltered_Temporal_Position_Previous = Prefiltered.Trim(0, -1)+c.Trim(0, c.framecount-1) Prefiltered_Temporal_Position1_Next = Prefiltered.Trim(1, 0)+c.Trim(c.framecount, 0) Prefiltered_Temporal_Filter = Average(Prefiltered_Temporal_Position_Previous, 0.25, Prefiltered_Temporal_Position1_Next, 0.25, Prefiltered, 0.25, Prefiltered, 0.25) Spatial_Position0 = C Spatial_Position1 = C.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", Vertical = " 1 ", u=2, v=2) Spatial_Position2 = C.Mt_convolution( Horizontal = " 1 ", Vertical = " -1 2 -2 3 -6 9 -9 16 -80 384 0 384 -80 16 -9 9 -6 3 -2 2 -1 ", u=2, v=2) Temporal_Position_Previous = C.Trim(0, -1)+c.Trim(0, c.framecount-1) Temporal_Position1_Next = C.Trim(1, 0)+c.Trim(c.framecount, 0) Temporal_Filter = Average(Temporal_Position_Previous, 0.25, Temporal_Position1_Next, 0.25, C, 0.25, C, 0.25) Difference1 = mt_makediff(Prefiltered, Prefiltered_Spatial_Position1, u=1, v=1) Difference2 = mt_makediff(Prefiltered, Prefiltered_Spatial_Position2, u=1, v=1) Difference3 = mt_makediff(Prefiltered, Prefiltered_Temporal_Filter, u=1, v=1) #Difference4 = mt_makediff(Prefiltered, Prefiltered_Spatial_Position4, u=1, v=1) #Difference5 = mt_makediff(Prefiltered, Prefiltered_Temporal_Position_Previous, u=1, v=1) #Difference6 = mt_makediff(Prefiltered, Prefiltered_Temporal_Position1_Next, u=1, v=1) Thresh=256 Compare1 = mt_merge(Spatial_Position1, Spatial_Position2, mt_lutxy(Difference1, Difference2, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) Compare1_Prefiltered = mt_merge(Prefiltered_Spatial_Position1, Prefiltered_Spatial_Position2, mt_lutxy(Difference1, Difference2, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) Difference_Step2_1 = mt_makediff(C, Compare1_Prefiltered, u=1, v=1) Compare2 = mt_merge(Compare1, Temporal_Filter, mt_lutxy(Difference_Step2_1, Difference3, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) Compare2_Prefiltered = mt_merge(Compare1_Prefiltered, Prefiltered_Temporal_Filter, mt_lutxy(Difference_Step2_1, Difference3, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) Difference_Step2_2 = mt_makediff(C, Compare2_Prefiltered, u=1, v=1) #Compare3 = mt_merge(Compare2, Spatial_Position4, mt_lutxy(Difference_Step2_2, Difference4, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Compare3_Prefiltered = mt_merge(Compare2_Prefiltered, Prefiltered_Spatial_Position4, mt_lutxy(Difference_Step2_2, Difference4, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Difference_Step2_3 = mt_makediff(C, Compare3_Prefiltered, u=1, v=1) #Compare4 = mt_merge(Compare3, Temporal_Position_Previous, mt_lutxy(Difference_Step2_3, Difference5, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Compare4_Prefiltered = mt_merge(Compare3_Prefiltered, Prefiltered_Temporal_Position_Previous, mt_lutxy(Difference_Step2_3, Difference5, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Difference_Step2_4 = mt_makediff(C, Compare4_Prefiltered, u=1, v=1) #Compare5 = mt_merge(Compare4, Temporal_Position1_Next, mt_lutxy(Difference_Step2_4, Difference6, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Compare5_Prefiltered = mt_merge(Compare4_Prefiltered, Prefiltered_Temporal_Position1_Next, mt_lutxy(Difference_Step2_4, Difference6, "x 128 - abs y 128 - abs - "+string(thresh)+" *", u=1, v=1), u=3, v=3) #Difference_Step2_5 = mt_makediff(C, Compare5_Prefiltered, u=1, v=1) return(mergechroma(Compare2, C, 1))} Here is the dotcrawl portion of the script I actually used, but I'm not sure if all the other stuff is doing much, its left over from a while ago, and I used it just to be sure I was using the most thorough script I had lying around. Code:
MPEG2Source("E:\VTS_01_1.d2v", cpu=0, info=3).colormatrix(hints=true).crop(16, 72, -16, -56) clip2=Yadif() TFM(slow=2, clip2=clip2, d2v="E:\VTS_01_1.d2v", pp=7) tdecimate() s = last t2s = last t1s = last.Trim(0, -1)+last.Trim(0, last.framecount-1) t3s = last.Trim(1, 0)+last.Trim(last.framecount, 0) TAverages = Average(t2s, 0.5, t1s, 0.25, t3s, 0.25) Mt_LutXY(unbs(strong=0), Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 512 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " -1 2 -2 3 -6 9 -9 16 -80 384 512 384 -80 16 -9 9 -6 3 -2 2 -1 ", u=2, v=2), " X Y - Abs 1 * ", u=1, v=1) t2 = last t1 = last.Trim(0, -1)+last.Trim(0, last.framecount-1) t3 = last.Trim(1, 0)+last.Trim(last.framecount, 0) TAverage = Average(t2, 0.5, t1, 0.25, t3, 0.25) TMedian = interleave(t1, t2, t3).medianblurt(radiusy=0, radiusu=0, radiusv=0, temporalradius=1, mc=false, calcborder=false, markscenechange=false).selectevery(3, 1) mask1 = Mt_LutXY(TAverage, TMedian, " X Y - Abs 1 - 255 * ", u=1, v=1).mt_expand mask2 = Mt_LutXY(mask1.expand(), mask1, " X Y -", u=1, v=1).tweak(sat=0) proc = s.unbt(strong=1) mt_merge(proc, proc.ldd2, mask1) |
|
|