Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2023
528
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.75 KB | None | 0 0
  1. import vapoursynth as vs
  2. import vodesfunc.scale
  3. import vsmasktools
  4. from vskernels import Catrom
  5. from vodesfunc import out
  6. import vsmlrt
  7. import vodesfunc as vof
  8. from vstools import get_y, plane, depth, join
  9. from vsdenoise import mvtools, MVToolsPresets
  10. from rekt import rektlvls
  11. from awsmfunc import bbmod
  12. import vsdenoise
  13. from adptvgrnMod import adptvgrnMod as graining
  14. from vsrgtools import contrasharpening
  15.  
  16.  
  17. core = vs.core
  18.  
  19.  
  20. sp = core.lsmas.LWLibavSource(r'[SubsPlease] Kono Subarashii Sekai ni Bakuen wo! - 03 (1080p) [687845A2].mkv')
  21. sp = depth(sp, 16)
  22.  
  23. rekt = rektlvls(sp, [0,-1], [10,10], [0,-1], [10,10])
  24. bbm = bbmod(rekt, 1, 1, 1, 1,)
  25.  
  26. rescale = vof.vodes_rescale(bbm, 837, Catrom, doubler=vof.scale.NNEDI_Doubler(False), credit_mask=True, line_mask=True, base_width=1448, base_height=837, use_baseheight_mask=True, )[0]
  27.  
  28.  
  29.  
  30. sloc = [0, 0, 0.35, 1, 0.4, 2, 0.8, 32, 1, 64]
  31. dft = core.dfttest.DFTTest(rescale, sigma=8, sigma2=16, tbsize=1, ssx=sloc, ssy=sloc, planes=[0])
  32.  
  33. mv = mvtools.MVTools(dft, tr=2, refine=2, **MVToolsPresets.SMDE())
  34. ref = mv.degrain(thSAD=65, ref=None)
  35. ref = depth(ref, 32)
  36. bm3d = core.bm3dcuda_rtc.BM3Dv2(get_y(depth(dft, 32)), get_y(ref), sigma=0.5, radius=3).resize.Bicubic(format=vs.YUV420P16)
  37.  
  38. knlm = vsdenoise.knl_means_cl(dft, .6, )
  39.  
  40. #joined = join([plane(bm3d, 0), plane(knlm,1), plane(knlm,2),])
  41.  
  42. joined = core.std.ShufflePlanes([bm3d, knlm], [0,1,2], vs.YUV420P16)
  43.  
  44. ccd = vsdenoise.ccd(joined, 4)
  45.  
  46. rgb = core.resize.Bicubic(ccd, format=vs.RGBS, matrix_in=1, transfer_in=1, primaries_in=1,
  47.                           range_in=0).std.Limiter()
  48. dpir = vsmlrt.DPIR(rgb, 10,
  49.                    backend=vsmlrt.Backend().TRT(fp16=True, workspace=10000, use_cuda_graph=True, use_cublas=True,
  50.                                                 num_streams=2), model=3, ).resize.Bicubic(format=vs.YUV420P16, matrix=1,
  51.                                                                                           transfer=1, primaries=1,
  52.                                                                                           range=0)
  53.  
  54. dpir = contrasharpening(dpir, dft, )
  55.  
  56. adg = core.tcanny.TCanny(get_y(dft), 0, 0, mode=1, op=3, scale=.95).std.Binarize(8000)
  57. dpir = core.std.MaskedMerge(dpir, dft, adg, [0])
  58.  
  59. deband = core.neo_f3kdb.Deband(dpir, 10, 32, 32, 32, 0, 0)
  60. deband = core.neo_f3kdb.Deband(deband, 20, 48, 40, 40, 0, 0)
  61. debandmask = vsmasktools.detail_mask(plane(dpir, 0), .45, .15 )# .edgemask(plane(nuke, 0), lthr=80 << 8, hthr=150 << 8)
  62. debanded = core.std.MaskedMerge(deband, dpir, debandmask)
  63.  
  64.  
  65. grain = graining(debanded, [0.2, 0.8], 1.3, 75, temporal_average=15, temporal_radius=5, luma_scaling=7, grainer=lambda x: core.noise.Add(x, 2, .25, 3, xsize=2.5, ysize=2.5, constant=False))
  66. final = depth(grain, 10)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement