28.08.2020, 04:51
Seems like the Vapoursynth script is fine:
Don't see any indication that there is a problem with the IVTC of the telecined (NOT interlaced) content or the resizing.
Problem is that the ffmpeg call is broken:
Seems like the DNxHD profiles or the call generation is somehow are broken.
-> will look at it, after work.
Cu Selur
# Imports
import os
import sys
import vapoursynth as vs
core = vs.get_core()
# Import scripts folder
scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts'
sys.path.append(os.path.abspath(scriptPath))
# Loading Plugins
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/SourceFilter/d2vSource/d2vsource.dll")
# Import scripts
import edi_rpow2
# loading source: V:\+VMASTER+\Pat Benatar - Love Is A Battlefield (1983).VOB
# color sampling YUV420P8@8, matrix:470bg, scantyp: telecine
# luminance scale TV
# resolution: 720x480
# frame rate: 24.97 fps
# input color space: YUV420P8, bit depth: 8, resolution: 720x480, fps: 29.97
# Loading V:\+VMASTER+\Pat Benatar - Love Is A Battlefield (1983).VOB using D2VSource
clip = core.d2v.Source(input="D:/Working BluRay/2020-08-27@20_50_55_6010.d2v")
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg",range_s="limited")
# making sure frame rate is set to 29.970
clip = core.std.AssumeFPS(clip, fpsnum=30000, fpsden=1001)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
clip = core.vivtc.VFM(clip=clip, order=0, mode=1)
clip = core.vivtc.VDecimate(clip=clip)# new fps: 24.97
# resizing using ZNEDI3
clip = edi_rpow2.nnedi3_rpow2(clip=clip, rfactor=4, qual=1)
# adjusting resizing
clip = core.fmtc.resample(clip=clip, w=1620, h=1080, kernel="lanczos", interlaced=False, interlacedd=False)
# letterboxing to 1920x1080
clip = core.std.AddBorders(clip=clip, left=150, right=150, top=0, bottom=0)
# adjusting output color from: YUV420P16 to YUV422P8 for DNxHDModel (i422)
clip = core.resize.Bicubic(clip=clip, format=vs.YUV422P8, range_s="limited")
# Output
clip.set_output()
Problem is that the ffmpeg call is broken:
Quote:ffmpeg -y -noautorotate -nostdin -threads 8 -f yuv4mpegpipe -i - -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv422p -vsync 0 -vcodec dnxhd -profile:v 0 -b:v M -mbd 0 "D:\Working BluRay\Pat Benatar - Love Is A Battlefield (1983)_2020-08-27@20_50_55_6010_07.mov"It contains an 'M' instead of the bitrate which causes:
[dnxhd @ 0000022f8573e000] [Eval @ 0000005eafdfe400] Undefined constant or missing '(' in 'M'
[dnxhd @ 0000022f8573e000] Unable to parse option value "M"
[dnxhd @ 0000022f8573e000] Error setting option b to value M.
-> will look at it, after work.
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.