Advertisement
Guest User

Untitled

a guest
Nov 27th, 2022
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. # Imports
  2. import vapoursynth as vs
  3. import os
  4. import sys
  5. # getting Vapoursynth core
  6. core = vs.core
  7. import site
  8. # Import scripts folder
  9. scriptPath = 'i:/Hybrid/64bit/vsscripts'
  10. sys.path.insert(0, os.path.abspath(scriptPath))
  11. # Import libraries for onnxruntime
  12. import ctypes
  13. path = site.getsitepackages()[0]+'/onnxruntime_dlls/'
  14. ctypes.windll.kernel32.SetDllDirectoryW(path)
  15. # Loading Plugins
  16. core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/libsangnom.dll")
  17. core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
  18. core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/EEDI3m.dll")
  19. core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/EEDI2.dll")
  20. core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll")
  21. core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/libvs_placebo.dll")
  22. core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
  23. # Import scripts
  24. import havsfunc
  25. import mvsfunc
  26. # source: 'C:\Users\Selur\Desktop\freebird.avi'
  27. # current color space: YUV420P8, bit depth: 8, resolution: 720x480, fps: 23.976, color matrix: 470bg, yuv luminance scale: limited, scanorder: progressive
  28. # Loading C:\Users\Selur\Desktop\freebird.avi using LWLibavSource
  29. clip = core.lsmas.LWLibavSource(source="C:/Users/Selur/Desktop/freebird.avi", format="YUV420P8", stream_index=0, cache=0, prefer_hw=2)
  30. # Setting color matrix to 470bg.
  31. clip = core.std.SetFrameProps(clip, _Matrix=5)
  32. clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=5)
  33. clip = clip if not core.text.FrameProps(clip,'_Primaries') else core.std.SetFrameProps(clip, _Primaries=5)
  34. # Setting color range to TV (limited) range.
  35. clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
  36. # making sure frame rate is set to 23.976
  37. clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
  38. clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=0)
  39. # adjusting color space from YUV420P8 to YUV444P16 for vsGLSLDarken
  40. clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, range_s="limited")
  41. with open("i:/Hybrid/64bit/vsfilters/GLSL/parameterized/Anime4K_Darken_HQ.glsl") as glslf:
  42. glsl = glslf.read()
  43. glsl = glsl.replace('#define STRENGTH 1.5', '#define STRENGTH 1')
  44. clip = core.placebo.Shader(clip=clip, shader_s=glsl, width=clip.width, height=clip.height)
  45. from vsdpir import DPIR
  46. ## Starting applying 'EdgeMask (Prewitt)' masked filtering for vsDPIRDeblock
  47. clipMask = clip
  48. clipMask = core.std.ShufflePlanes(clipMask, 0, vs.GRAY)
  49. clipMask = core.std.Prewitt(clip=clipMask)
  50. clipMask = core.std.Maximum(clipMask)
  51. clipMask = core.std.InvertMask(clipMask)
  52. clipFiltered = clip
  53. # adjusting color space from YUV444P16 to RGBS for vsDPIRDeblock
  54. clipFiltered = core.resize.Bicubic(clip=clipFiltered, format=vs.RGBS, matrix_in_s="470bg", range_s="limited")
  55. # deblocking using DPIRDeblock
  56. clipFiltered = DPIR(clip=clipFiltered, strength=40.000, task="deblock", provider=1, device_id=0, dual=True)
  57. clipFiltered = core.resize.Bicubic(clip=clipFiltered, format=vs.YUV444P16, matrix_s="470bg", range_s="limited", dither_type="none")
  58. clip = core.std.MaskedMerge(clip, clipFiltered, clipMask)
  59. ## Finished applying 'Edgemask (Prewitt)' masked filtering for vsDPIRDeblock
  60. # cropping the video to 710x480
  61. clip = core.std.CropRel(clip=clip, left=6, right=4, top=0, bottom=0)
  62. with open("i:/Hybrid/64bit/vsfilters/GLSL/parameterized/adaptive-sharpen.glsl") as glslf:
  63. glsl = glslf.read()
  64. glsl = glsl.replace('#define curve_height 1.0', '#define curve_height 1.0000')
  65. glsl = glsl.replace('#define anime_mode false', '#define anime_mode true')
  66. glsl = glsl.replace('#define overshoot_ctrl false', '#define overshoot_ctrl false')
  67. glsl = glsl.replace('#define video_level_out false', '#define video_level_out true')
  68. clip = core.placebo.Shader(clip=clip, shader_s=glsl, width=clip.width, height=clip.height)
  69. # applying anti aliasing using santiag
  70. clip = havsfunc.santiag(c=clip, nns=3, nsize=0, qual=2, pscrn=2, opencl=True)
  71. # Resizing using 10 - bicubic spline
  72. clip = core.fmtc.resample(clip=clip, kernel="spline16", w=1920, h=1298, interlaced=False, interlacedd=False) # resolution 1920x1298
  73. # adjusting output color from: YUV444P16 to YUV420P10 for x265Model
  74. clip = core.resize.Bicubic(clip=clip, dither_type="none", format=vs.YUV420P10, range_s="limited")
  75. # set output frame rate to 23.976fps
  76. clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
  77. # Output
  78. clip.set_output()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement