Advertisement
Guest User

Untitled

a guest
Jan 30th, 2013
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.50 KB | None | 0 0
  1. function daa3slow(clip c) {
  2. dbl = merge(c.nnedi3(etype=1, field = 1, nns = 4, qual=2, nsize = 3,fapprox = 7,pscrn=1),c.nnedi3(etype=1, field = 0, nns = 4, qual=2, nsize = 3,fapprox = 7,pscrn=1))
  3. dblD = mt_makediff(c,dbl,U=3,V=3)
  4. shrpD = mt_makediff(dbl,dbl.removegrain(11),U=3,V=3)
  5. DD = shrpD.repair(dblD,13)
  6. return dbl.mt_adddiff(DD,U=3,V=3) }
  7.  
  8.  
  9.  
  10. # Here comes your video source line (your video must still be interlaced - it gets IVTCed/decimated as a first step, below)
  11.  
  12.  
  13.  
  14.  
  15. # inverse telecine + decimation, to get to 24 fps.
  16. tfm(slow=2,pp=1,mode=2).tdecimate()
  17. assumefps(24000,1001)
  18.  
  19.  
  20.  
  21. # Here comes a hack against dot crawl - it doesn't remove it 100%ly, but is rather detail safe.
  22. # It however needs that the file "noisepattern.avi" must be present in the location specified below.
  23. # That video contains a sample of dot-crawl noise to serve as a 'training' for fft3dfilter.
  24.  
  25. # also, your video needs to be 720x480 here - crop at the end of the script instead
  26.  
  27. src = last
  28.  
  29.  
  30. # change the path of the noisepattern.avi file to wherever you put it
  31. avisource("c:\pattern\noisepattern.avi") + last
  32.  
  33. unf = last
  34. fft3dfilter(sigma= 1.7500, plane=0,bw=8,bh=8)
  35. den = last
  36. denoisediff = mt_makediff(unf,den,U=3,V=3)
  37. fft3dfilter(sigma= 0.01, pframe = 0, px = 34,py = 18, plane=0,pfactor =0.7,pcutoff=0.01,pshow=false,bw=8,bh=8)
  38. mt_adddiff(denoisediff,U=3,V=3)
  39. trim(1,0)
  40.  
  41.  
  42. # Now we will derainbow. Again, rather detail safe, but some limited discoloration can happen.
  43. # Current derainbowing methods available are sadly far form perfect.
  44.  
  45. prerb = last
  46. derbmask = removegrainhd(rank=23,radius=6).tedgemask(threshY=8).mt_inflate()
  47.  
  48. prefiltered = last
  49. derbsuperfilt = MSuper(prefiltered)
  50. derbsuper = derbsuperfilt
  51. derbbackward_vectors = MAnalyse(derbsuperfilt, truemotion = true, isb = true, chroma=false)
  52. derbforward_vectors = MAnalyse(derbsuperfilt, truemotion = true, isb = false, chroma=false)
  53. derbforward_compensation = MCompensate(derbsuper, derbforward_vectors)
  54. derbbackward_compensation = MCompensate(derbsuper, derbbackward_vectors)
  55. interleave(derbforward_compensation,last,derbbackward_compensation)
  56. dfmderainbow(maskthresh=10)
  57. selectevery(3,1)
  58. mt_merge(prerb,last, derbmask,luma=true)
  59.  
  60.  
  61. # now antialising (your video should still be 720x480 here - or at least should have height divisible by 4)
  62. # this line covers up nasty aliasing and intelacing artifacts (combing) that are left from field blends.
  63. # It nicely smooths those nasties and is still quite nice to detail.
  64. # The daa3slow() function is defined at the start of this script.
  65.  
  66. spline36resize(width,height*3/2).daa3slow.spline36resize(width,height)
  67.  
  68. #now we will stabilise lines/edges, it also helps against some dot crawl and shimmering. It should be detail-safe , though not 100%.
  69.  
  70. source = last
  71.  
  72. prefilt = last.removegrain(6).FFT3Dfilter(sigma=1.5,bw=16,bh=16,bt=3,ow=8,oh=8,plane=4)
  73. superfilt = prefilt.MSuper(pel=2, sharp=1)
  74. super = MSuper(pel=2, sharp=1)
  75. backward_vec2 = MAnalyse(superfilt, isb = true, delta = 2, overlap=4)
  76. backward_vec1 = MAnalyse(superfilt, isb = true, delta = 1, overlap=4)
  77. forward_vec1 = MAnalyse(superfilt, isb = false, delta = 1, overlap=4)
  78. forward_vec2 = MAnalyse(superfilt, isb = false, delta = 2, overlap=4)
  79.  
  80.  
  81. degrainedge = source.MDegrain2(super, backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=230)
  82. edgemask = removegrainhd(rank=25,radius=6).tedgemask(threshY=8)
  83.  
  84. mt_merge(source,degrainedge,edgemask,luma=true)
  85.  
  86. #You can crop now. Also, add denoising filters now if desired. /Please be gentle ;)/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement