Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- XXXSource("xxx.xxx")
- src = last
- src16 = src.U16
- emask = src.tcanny(sigma=1.2, mode=1, plane=1)
- dbmask = emask.mt_lut("x 2 > x 2 - 6 << 0 ?", Y=3, U=1, V=1).mt_inflate(Y=3, U=1, V=1)
- #Prefilter with dfttest
- prenr16 = src16.dfttest(lsb_in=true, lsb=true, Y=true, U=false, V=false, sigma=4.0, sigma2=4.0, sbsize=8, sosize=6, tbsize=3, threads=2)
- prenr8 = prenr16.DitherPost(mode=8, Y=3, U=1, V=1)
- #Main Denoise with SMDegrain
- nr16 = src.SMDegrain(lsb_in=false,lsb=true,lsb_out=true,tr=3,Contrasharp=false,RefineMotion=true,plane=0,prefilter=prenr8,
- \thSAD=300,thSADC=150,blksize=16,thSCD1=200,thSCD2=100,Truemotion=false,Chroma=false,limit=4,limitC=1)
- #Limiting Denoise to minimum change of prenr16&nr16
- nrdiff1 = makediff16(prenr16, src16, Y=3, U=1, V=1)
- nrdiff2 = makediff16(nr16, src16, Y=3, U=1, V=1)
- abnrdiff1 = Dither_lut16(nrdiff1, "x 32768 - abs", Y=3, U=1, V=1)
- abnrdiff2 = Dither_lut16(nrdiff2, "x 32768 - abs", Y=3, U=1, V=1)
- abnrdiffdiff = makediff16(abnrdiff1, abnrdiff2, Y=3, U=1, V=1)
- nrbin = Dither_lut16(abnrdiffdiff, "x 32768 < 0 65535 ?", Y=3, U=1, V=1)
- lnr16 = Dither_merge16(prenr16, nr16, nrbin, luma=false, Y=3, U=4, V=4)
- #NRDB
- noise = makediff16(src16, lnr16, Y=3, U=1, V=1)
- diff0 = noise.Dither_lut16(Y=-32768,U=-32768,V=-32768)
- lumamask = src.mt_lut("x 127 > 0 x 64 > 512 x 2 << - 255 ? ?",U=1,V=1).RemoveGrain(19, -1)
- noisereduc = Dither_merge16_8(diff0, noise, lumamask, luma=false)
- db1 = lnr16.f3kdb(range=14, Y=44, Cb=36, Cr=36, grainY=0, grainC=0, dither_algo=3, dynamic_grain=true, keep_tv_range=false, input_mode=1, output_mode=1, output_depth=16)
- db = Dither_add16(db1, noisereduc, Y=3, U=2, V=2, dif=true)
- #Merge with edge mask
- Dither_merge16_8(db, src16, dbmask, luma=true)
- Down10(tvRange=true, stack=false)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement