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.

Scaling error - different output resolution
#3
LOL, looking at the preview script, I see what is causing the confusion. Smile
(if you had read the sticky and provided a debug output of calling the preview, I would have probably spotted it earlier)

The Vapoursynth Script View properly shows:
clip = core.std.Crop(clip=clip, left=24, right=24, top=4, bottom=8)# cropping to 672x564
# resizing using NNEDI3CL
# current: 672x564 target: 1440x1080 -> pow: 4
clip = edi_rpow2.nnedi3cl_rpow2(clip=clip, rfactor=4, nsize=3, nns=4) # 2688x2256
# resizing 2688x2256 to 1440x1080
clip = core.fmtc.resample(clip=clip, w=1440, h=1080, kernel="spline64", interlaced=False, interlacedd=False)# before YUV422P8 after YUV422P16
# adjusting output color from: YUV422P16 to YUV420P10 for NVEncModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, range_s="limited", dither_type="error_diffusion")
# set output frame rate to 50fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=50, fpsden=1)
# output
clip.set_output()
Now looking at the preview script (which needs to use output PAR 1:1)
Hybrid generates:
# resizing using NNEDI3CL
# current: 672x564 target: 1440x1080 -> pow: 4
clip = edi_rpow2.nnedi3cl_rpow2(clip=clip, rfactor=4, nsize=3, nns=4) # 2688x2256
# resizing 2688x2256 to 1440x1080
clip = core.fmtc.resample(clip=clip, w=1440, h=1080, kernel="spline64", interlaced=False, interlacedd=False)# before YUV422P8 after YUV422P16
# adjusting output color from: YUV422P16 to YUV420P10 for NVEncModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, range_s="limited", dither_type="error_diffusion")
# adjusted resizing to achieve PAR 1:1 for preview
# resizing for preview to square pixel to 1288x1080
clip = core.resize.Bicubic(clip=clip, width=1288, height=1080)
# set output frame rate to 50fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=50, fpsden=1)
# output
clip.set_output()
So it starts with 672x564 (PAR 1:1), then applies NNEDI3 with x4 and has 2688x2256 (PAR 42:47).
This then gets resized to 1440x1080 (PAR 42:47).
And at the end gets adjusted to PAR 1:1 for preview, which results in 1288x1080. (1288 = 1440/47*42)

=> Hybrid is working as intended.

MPC-BE also shows 1288x1080 even if the encoded file is 1440x1080 since it too needs to compensate for the 42:47 PAR. Smile

Cu Selur

Ps.: I suspect your input PAR is wrong and should be 16x11 and you wanted something like:
[Image: grafik.png]
or
[Image: grafik.png]
(The source also should be flagged as TFF, atm. it is only flagged as interlaced and Hybrid assumes BFF since its SD)

PPs.: Reading [INFO] About pixel aspect ratios,.. and the linked sites might help with any confusion about PAR, DAR,...
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply


Messages In This Thread
RE: Scaling error - different output resolution - by Selur - Yesterday, 12:31

Forum Jump:


Users browsing this thread: 1 Guest(s)