Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Easy MVDeGrain by Sagekilla
- # Modified for MVTools2 by twc
- #
- # Requirements:
- # MVTools2
- #
- # Description of parameters:
- #
- # method = MDeGrain with 1, 2, or 3 vectors (default 1)
- # pp = Clip to calculate vectors from (default input)
- # thSAD = MDeGrain thSAD (default 400)
- # thSCD1 = MDeGrain thSCD1 (default 400)
- # thSCD2 = MVTools thSCD2 (default 130)
- # blksize = MAnalyse block size (default 8)
- # pel = MSuper Subpixel accuracy (default 2 / hpel)
- # overlap = MAnalyse block overlap (default 2)
- # dct = MAnalyse DCT method (default 0 / none)
- # search = MAnalyse search level (default 4 / hex )
- # searchparam = MAnalyse search parameter (default 2)
- #
- # method and thSAD are the main control of denoising strength.
- # Increasing overlap to 4 may reduce blocking artifacts.
- function MDeGrain(clip input, int "method", clip "pp", int "thSAD", int "thSCD1", int "thSCD2", int "blksize", int "pel", int "overlap", int "dct", int "search", int "searchparam", bool "chroma")
- {
- method = default(method, 1)
- overlap = default(overlap, 2)
- pp_enabled = defined(pp)
- pp_super = pp_enabled ? MSuper(pp, pel=pel, chroma=chroma) : MSuper(input, pel=pel, chroma=chroma)
- super = pp_enabled ? MSuper(input, pel=pel, levels=1) : pp_super
- # Motion vector search.
- b3vec = MAnalyse(pp_super, delta=3, isb=true, chroma=chroma, search=search, searchparam=searchparam, overlap=overlap, blksize=blksize, dct=dct)
- b2vec = MAnalyse(pp_super, delta=2, isb=true, chroma=chroma, search=search, searchparam=searchparam, overlap=overlap, blksize=blksize, dct=dct)
- b1vec = MAnalyse(pp_super, delta=1, isb=true, chroma=chroma, search=search, searchparam=searchparam, overlap=overlap, blksize=blksize, dct=dct)
- f1vec = MAnalyse(pp_super, delta=1, chroma=chroma, search=search, searchparam=searchparam, overlap=overlap, blksize=blksize, dct=dct)
- f2vec = MAnalyse(pp_super, delta=2, chroma=chroma, search=search, searchparam=searchparam, overlap=overlap, blksize=blksize, dct=dct)
- f3vec = MAnalyse(pp_super, delta=3, chroma=chroma, search=search, searchparam=searchparam, overlap=overlap, blksize=blksize, dct=dct)
- # Now we perform the actual MDeGrain.
- output = method >= 3 ? MDeGrain3(input, super, b1vec, f1vec, b2vec, f2vec, b3vec, f3vec, thSAD=thSAD, thSCD1=thSCD1, thSCD2=thSCD2) :
- \ method == 2 ? MDeGrain2(input, super, b1vec, f1vec, b2vec, f2vec, thSAD=thSAD, thSCD1=thSCD1, thSCD2=thSCD2) :
- \ MDeGrain1(input, super, b1vec, f1vec, thSAD=thSAD, thSCD1=thSCD1, thSCD2=thSCD2)
- return output
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement