Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import vapoursynth as vs
- import sys
- import havsfunc as haf
- import mvsfunc as mvf
- core = vs.get_core(accept_lowercase=True,threads=12)
- core.max_cache_size = 9000
- a="00001.m2ts"
- src8 = core.lsmas.LWLibavSource(a)
- src8 = core.std.Trim(src8, xxxx, yyyyy)
- src16 = core.fmtc.bitdepth(src8,bits=16)
- gray = core.std.ShufflePlanes(src16, 0, colorfamily=vs.GRAY)
- gray = core.fmtc.transfer(gray,transs="709",transd="linear")
- gray = core.fmtc.resample(gray,1280,720)
- gray = core.fmtc.transfer(gray,transs="linear",transd="709")
- UV = core.fmtc.resample(src16,1280,720)
- down = core.std.ShufflePlanes([gray,UV],[0,1,2], vs.YUV)
- RGB_y = core.resize.Bicubic(down, format=vs.RGBS, matrix_in_s="709", filter_param_a_uv=0, filter_param_b_uv=0.5, range_in_s="limited")
- OPP_y = mvf.ToYUV(RGB_y, matrix='OPP')
- flt_y = core.bm3d.Basic(OPP_y, matrix=100, sigma=[1.2, 0, 0], profile="fast", group_size=8, bm_range=6)
- flt_y = mvf.ToRGB(flt_y, matrix='OPP')
- nr16y = core.resize.Bicubic(flt_y, format=vs.GRAY16, matrix_s="709", filter_param_a_uv=0, filter_param_b_uv=0.5, range_s="limited")
- nr16 = core.std.ShufflePlanes([nr16y,down],[0,1,2],vs.YUV)
- noise16 = core.std.MakeDiff(down,nr16,0)
- dbed = core.f3kdb.Deband(nr16, 8,48,32,32,0,0,output_depth=16)
- dbed = core.f3kdb.Deband(dbed,16,32,24,24,0,0,output_depth=16)
- dbed = mvf.LimitFilter(dbed,nr16,thr=0.5,thrc=0.4,elast=1.5)
- dbed = core.std.MergeDiff(dbed,noise16,0)
- bright = mvf.Depth(dbed,8,dither=1)
- dark = mvf.Depth(dbed,8,dither=0,ampo=1.5)
- res = core.std.MaskedMerge(dark, bright, core.std.Binarize(bright, 96, planes=0), first_plane=True)
- res.set_output(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement