12.12.2022, 14:25
25p to 29.97i:
Adding a new job and processing that job, creates:
here.
=> works here.
Cu Selur
- loading a 25p source
- setting "Filtering->Vapoursynth->Misc->Script->Finter interlace handling' to 'QTGMC(preset="Fast")'.
- enabling "Filtering->Vapoursynth->Frame->Interpolation"
- setting "Filtering->Vapoursynth->Frame->Interpolation" to "Interframe/SVP"
- setting "Filtering->Vapoursynth->Frame->Interpolation->Interframe/SVP->FPS" to "59.94"
- setting "Filtering->Vapoursynth->Frame->Interpolation->Interframe/SVP->Tuning" to "smooth"
- enabling "Filtering->Vapoursynth->Frame->Interpolation->Interframe/SVP->GPU" (if your gpu is supported by SVP)
- settinng "Prores->Interlacing" to either 'top field first' or 'bottom field first'
- Vapoursynth script now looks like this:
for me# Imports
import vapoursynth as vs
import os
import sys
# getting Vapoursynth core
core = vs.core
# Import scripts folder
scriptPath = 'i:/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Plugins
core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/FrameFilter/Interframe/svpflow2_vs64.dll")
core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/FrameFilter/Interframe/svpflow1_vs64.dll")
core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# source: 'G:\TestClips&Co\files\test.avi'
# current color space: YUV420P8, bit depth: 8, resolution: 640x352, fps: 25, color matrix: 470bg, yuv luminance scale: limited, scanorder: progressive
# Loading G:\TestClips&Co\files\test.avi using LWLibavSource
clip = core.lsmas.LWLibavSource(source="G:/TestClips&Co/files/test.avi", format="YUV420P8", stream_index=0, cache=0, fpsnum=25, prefer_hw=0)
# Setting color matrix to 470bg.
clip = core.std.SetFrameProps(clip, _Matrix=5)
clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=5)
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)
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=0)
# adjusting frame count with Interframe/SVP
clip = havsfunc.InterFrame(clip, Tuning="smooth", NewNum=60000, NewDen=1001, GPU=True) # new fps: 59.94
# converting progressive to interlaced for 'progressive to interlaced (1)'
clip = core.std.SeparateFields(clip=clip, tff=True)
clip = core.std.SelectEvery(clip=clip, cycle=4, offsets=[0, 3])
clip = core.std.DoubleWeave(clip=clip, tff=True) # resolution 640x352
clip = core.std.SelectEvery(clip=clip, cycle=2, offsets=0) # new fps: 29.97
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# adjusting output color from: YUV420P8 to YUV422P10 for ProResModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV422P10, range_s="limited")
# set output frame rate to 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# Output
clip.set_output()
Adding a new job and processing that job, creates:
Video
ID : 1
Format : ProRes
Format version : Version 0
Format profile : 422 Proxy
Codec ID : apco
Duration : 17 s 151 ms
Bit rate mode : Variable
Bit rate : 5 591 kb/s
Width : 640 pixels
Height : 352 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (30000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:2
Scan type : Interlaced
Scan type, store method : Separated fields (2 fields per block)
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.828
Stream size : 11.4 MiB (100%)
Writing library : Lavc
=> works here.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.