Guest User

Untitled

a guest
Dec 11th, 2022
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. import vapoursynth as vs
  2. from fvsfunc import OverlayInter, Depth
  3. from nnedi3_rpow2 import *
  4. from vardefunc import deband
  5. from lvsfunc import mask as dtlmask
  6. from hysteria import Hysteria
  7. from mvsfunc import BM3D
  8. from havsfunc import QTGMC
  9. from dhh import mask as dehalo_mask
  10. from fine_dehalo import *
  11. from xaa import *
  12. from kagefunc import adaptive_grain
  13. from vsutil import join, plane
  14. from mvsfunc import BM3D
  15. core = vs.core
  16. core.max_cache_size = 14000
  17.  
  18. #Source
  19. src = core.d2v.Source(r"G:\Encode\.vscode\Scripts\[BD-DVD]\Romeo x Juliet\src\01-02\VTS_01_1.d2v")[42558:85986]
  20. video = src
  21. video = Depth(video, 16)
  22. ep = video[0:38975]
  23. ed = video[38975:41670]
  24. av = video[41670:43428]
  25.  
  26. deband_args = dict(iterations=2, threshold=2.0, radius=13)
  27.  
  28. #IVTC
  29. IVTC_ep = core.tivtc.TFM(ep, mode=6, PP=4, field=1, slow=2, cthresh=8, micmatching=3, clip2=QTGMC(ep, Preset='Very Slow', SourceMatch=2, TFF=True, FPSDivisor=2, Sharpness=0.4, TR2=3))
  30. IVTC_ep = core.tivtc.TDecimate(IVTC_ep, mode=1)
  31. IVTC_ed = OverlayInter(ed, pattern=0, tff=True)
  32. IVTC_av = core.tivtc.TFM(av, mode=6, PP=4, field=1, slow=2, cthresh=8, micmatching=3, clip2=QTGMC(av, Preset='Very Slow', SourceMatch=2, TFF=True, FPSDivisor=2, Sharpness=0.4, TR2=3))
  33. IVTC_av = core.tivtc.TDecimate(IVTC_av, mode=1)
  34. IVTC = IVTC_ep + IVTC_ed + IVTC_av
  35.  
  36. #Crop
  37. crop = core.std.Crop(IVTC, top=2, left=4, right=2)
  38. crop = core.edgefixer.Continuity(crop, right=2, top=2, radius=6)
  39. crop = nnedi3_rpow2(crop, pscrn=1, width=848, height=480, nns=4, qual=2)
  40. mask = Hysteria(crop)
  41. crop = core.std.MaskedMerge(crop, mask, mask)
  42.  
  43. #AA
  44. aa_a = xaa(crop, mode="di3 nnedi3cl", mask=1, mthr=8, nns=4, uscl="nnedi3cl", dscl="Spline36")
  45. aa = core.std.MaskedMerge(aa_a, crop, crop)
  46.  
  47. #Dehalo
  48. dh_mask = dehalo_mask(aa, smooth=True, dha=False)
  49. dehalo = fine_dehalo(aa, rx=2.0, darkstr=0)
  50. masked_dehalo = core.std.MaskedMerge(dehalo, aa, dh_mask)
  51.  
  52. #Denoise
  53. denoise = BM3D(masked_dehalo, sigma=[3,3,3], radius1=1, profile1='fast')
  54. denoise_mask = dtlmask.detail_mask(masked_dehalo, rad=1, brz_a=0.029, brz_b=0.057)
  55. denoised = core.std.MaskedMerge(denoise, masked_dehalo, denoise_mask)
  56.  
  57. #Deband
  58. deband = join([
  59. core.placebo.Deband(plane(denoised, 0), grain=4, **deband_args),
  60. core.placebo.Deband(plane(denoised, 1), grain=0, **deband_args),
  61. core.placebo.Deband(plane(denoised, 2), grain=0, **deband_args)
  62. ])
  63. debanded = core.std.MaskedMerge(deband, denoised, denoise_mask)
  64.  
  65. #Grain
  66. grain = adaptive_grain(debanded, 0.25)
  67.  
  68. #Final
  69. out = grain
  70. final = Depth(out, 16)
  71. final.set_output()
Advertisement
Add Comment
Please, Sign In to add comment