This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[HELP] 25i to 29.97i with interpolation
#13
Script:
# Imports
import vapoursynth as vs
import os
import sys
# getting Vapoursynth core
core = vs.core
# Import scripts folder
scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Plugins
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/FrameFilter/Interframe/svpflow2_vs64.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/FrameFilter/Interframe/svpflow1_vs64.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/CTMF/CTMF.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SharpenFilter/CAS/CAS.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/HQDN3D/libhqdn3d.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DebandFilter/Flash3kDeband/flash3kyuu_deband.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import edi_rpow2
import G41Fun
import mvsfunc
import havsfunc
# source: 'S:\Ghostwatch\Ghostwatch-In\Ghostwatch_LDPS505T_TX31-10-1992-Apple ProRes 422 HQ.mov'
# current color space: YUV422P10, bit depth: 10, resolution: 720x576, fps: 25, color matrix: 170m, yuv luminance scale: limited, scanorder: top field first
# Loading S:\Ghostwatch\Ghostwatch-In\Ghostwatch_LDPS505T_TX31-10-1992-Apple ProRes 422 HQ.mov using LWLibavSource
clip = core.lsmas.LWLibavSource(source="S:/Ghostwatch/Ghostwatch-In/Ghostwatch_LDPS505T_TX31-10-1992-Apple ProRes 422 HQ.mov", format="YUV422P10", cache=0, fpsnum=25, prefer_hw=0)
# Setting color matrix to 170m.
clip = core.std.SetFrameProps(clip, _Matrix=6)
clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=6)
clip = clip if not core.text.FrameProps(clip,'_Primaries') else core.std.SetFrameProps(clip, _Primaries=5)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# Color Adjustment using SmoothLevels
clip = havsfunc.SmoothLevels(input=clip, input_low=0, input_high=1020, output_low=0, output_high=1020, Ecurve=0)
# cropping the video to 720x570
clip = core.std.CropRel(clip=clip, left=0, right=0, top=2, bottom=4)
# converting interlaced to half-height progressive for filtering (vsMLDegrain) (separate fields)
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P10, range_s="limited")
clip = core.std.SeparateFields(clip, tff=True)
clipEven = clip[::2] # resolution 720x285
clipEven = core.std.SetFrameProp(clip=clipEven, prop="_FieldBased", intval=0)
clipOdd = clip[1::2] # resolution 720x285
clipOdd = core.std.SetFrameProp(clip=clipOdd, prop="_FieldBased", intval=0)
# adjusting color space from YUV444P10 to YUV444P8 for vsMLDegrain
clipEven = core.resize.Bicubic(clip=clipEven, format=vs.YUV444P8, range_s="limited")
# removing grain using MLDegrain
clipEven = G41Fun.MLDegrain(clip=clipEven, tr=2, rec=True, soft=[0,0,0])
# adjusting color space from YUV444P10 to YUV444P8 for vsMLDegrain
clipOdd = core.resize.Bicubic(clip=clipOdd, format=vs.YUV444P8, range_s="limited")
# removing grain using MLDegrain
clipOdd = G41Fun.MLDegrain(clip=clipOdd, tr=2, rec=True, soft=[0,0,0])
# adjusting color space from YUV444P10 to YUV444P8 for vsHQDN3D
clipEven = core.resize.Bicubic(clip=clipEven, format=vs.YUV444P8, range_s="limited")
# denoising using HQDN3D
clipEven = core.hqdn3d.Hqdn3d(clip=clipEven, lum_spac=0.00, chrom_spac=7.00, chrom_tmp=10.50)
# denoising using HQDN3D
clipOdd = core.hqdn3d.Hqdn3d(clip=clipOdd, lum_spac=0.00, chrom_spac=7.00, chrom_tmp=10.50)
# contrast sharpening using CAS
clipEven = core.cas.CAS(clip=clipEven, sharpness=0.700)
# contrast sharpening using CAS
clipOdd = core.cas.CAS(clip=clipOdd, sharpness=0.700)
# deringing using HQDeringmod
clipEven = havsfunc.HQDeringmod(clipEven, mrad=2, msmooth=2, nrmode=2, minp=2, sharp=2, darkthr=3.0)
# deringing using HQDeringmod
clipOdd = havsfunc.HQDeringmod(clipOdd, mrad=2, msmooth=2, nrmode=2, minp=2, sharp=2, darkthr=3.0)
clipEven = core.std.AddBorders(clip=clipEven, left=0, right=0, top=0, bottom=1) # add borders to archive mod 2 (Interframe) - 720x286
# adjusting color space from YUV444P10 to YUV420P8 for Interframe
clipEven = core.resize.Bicubic(clip=clipEven, format=vs.YUV420P8, range_s="limited")
# adjusting frame count with Interframe/SVP
clipEven = havsfunc.InterFrame(clipEven, NewNum=30000, NewDen=1001) # new fps: 29.97
clipEven = core.std.CropRel(clip=clipEven, left=0, right=0, top=0, bottom=1) # removing borders (Interframe) -  720x285
clipOdd = core.std.AddBorders(clip=clipOdd, left=0, right=0, top=0, bottom=1) # add borders to archive mod 2 (Interframe) - 720x286
# adjusting color space from YUV444P8 to YUV420P8 for Interframe
clipOdd = core.resize.Bicubic(clip=clipOdd, format=vs.YUV420P8, range_s="limited")
# adjusting frame count with Interframe/SVP
clipOdd = havsfunc.InterFrame(clipOdd, NewNum=30000, NewDen=1001) # new fps: 29.97
clipOdd = core.std.CropRel(clip=clipOdd, left=0, right=0, top=0, bottom=1) # removing borders (Interframe) -  720x285
clipEven = core.std.AddBorders(clip=clipEven, left=0, right=0, top=0, bottom=3) # add borders to archive mod 4 (NNEDI3(CL)) - 720x288
# resizing using ZNEDI3
# current: 720x288 target: 1492x540 -> pow: 4
clipEven = edi_rpow2.nnedi3_rpow2(clip=clipEven, rfactor=4) # 2880x1152
clipEven = core.std.CropRel(clip=clipEven, left=0, right=0, top=0, bottom=12) # removing borders (NNEDI3(CL)) -  2880x1140
# adjusting resizing
clipEven = core.fmtc.resample(clip=clipEven, w=1492, h=540, kernel="lanczos", interlaced=False, interlacedd=False)
clipOdd = core.std.AddBorders(clip=clipOdd, left=0, right=0, top=0, bottom=3) # add borders to archive mod 4 (NNEDI3(CL)) - 720x288
# resizing using ZNEDI3
# current: 720x288 target: 1492x540 -> pow: 4
clipOdd = edi_rpow2.nnedi3_rpow2(clip=clipOdd, rfactor=4) # 2880x1152
clipOdd = core.std.CropRel(clip=clipOdd, left=0, right=0, top=0, bottom=12) # removing borders (NNEDI3(CL)) -  2880x1140
# adjusting resizing
clipOdd = core.fmtc.resample(clip=clipOdd, w=1492, h=540, kernel="lanczos", interlaced=False, interlacedd=False)
# adding Grain using AddGrain
clipEven = core.grain.Add(clip=clipEven, var=0.50)
# adding Grain using AddGrain
clipOdd = core.grain.Add(clip=clipOdd, var=0.50)
# converting progressive to interlaced for 'progressive to interlaced'
clip = core.std.Interleave([clipOdd, clipEven])
clip = core.std.DoubleWeave(clip=clip, tff=True)  # resolution 1492x1080
clip = core.std.SelectEvery(clip, 2, 0)
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# adjusting output color from: YUV420P16 to YUV422P10 for ProResModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV422P10, range_s="limited")
# set output frame rate to 29.970fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# Output
clip.set_output()
Reply


Messages In This Thread
25i to 29.97i with interpolation - by Miranda - 26.06.2022, 14:51
RE: 25i to 29.97i with interpolation - by Miranda - 28.06.2022, 11:48
RE: 25i to 29.97i with interpolation - by n4n - 27.07.2022, 21:41

Forum Jump:


Users browsing this thread: 2 Guest(s)