Thread: VirtualDub2
View Single Post
Old 22nd October 2018, 22:01   #714  |  Link
WorBry
Registered User
 
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
Thanks Shekh,

So if I understand correctly, your interpretation of the 'Sony Vegas' (Resolve 15.1, Natron) Checkers-444 > v210 pattern holds - "blends max 2 neighbor pixels as opposed to summed area" - and that is what the lower diagram illustrates:



That also fits with a definition of Bilinear Interpolation - "....uses a 2x2 environment of a pixel and then takes the average of these pixels to interpolate the new value. It's not the best algorithm, but rather fast." Did that definition come from Sony btw ?

The other pattern observed with VDub2 represents Bilinear Resampling where "each pixel convolved with kernel 0.25, 0.5, 0.25" (corresponding to the top diagram), which is consistent with the 444 > 422 results obtained with AVISynth using the 'Bilinear' re-sampler, along with Resolve 15.1.2 and Premiere Pro.

@PDR. Many thanks also. I think you've clinched it.

Quote:
Originally Posted by WorBry View Post
Quote:
Originally Posted by poisondeathray View Post
The vegas/natron/resolve15.1 histogram pattern in your screenshot looks very close to the "box" kernel using fmtc in vapoursynth

It does doesn't it. I'll look at this some more tomorrow.
I ran the AVISynth scipt you posted:

Code:
LsmashVideoSource("checkers-444.mov", format="YUV444P10", stacked=true)
Dither_resize16(1920,1080, kernel="box", csp="YV16")
ConvertFromStacked(bits=10)
Here's the scope profile and checker pattern of the resulting v210 encode compared to your VapourSynth 'v210_fmtc_box_dmode=1' clip, the Resolve 15.1 export and original 'Checkers-422' (ProRes_HQ) clip. They match up very well don't they.



I also compared the AVISynth 'Box Kernel' v210 vs Resolve 15.1 v210 export with quality metrics and the SSIM and PSNR scores are not too shabby either:



That's the one - it's 'Box Kernel' resampling.

So does that tally with '"blends max 2 neighbor pixels as opposed to summed area" ?

If so I think we can marked this up as "solved".

Edit: I'm also able to replicate the behavior observed when the Checkers-422 clip is 'pass-through' exported to v210 in Resolve 15.1

Code:
LSMASHVideoSource("{Path}:\checkers-422.mov", format="YUV422P10", stacked=true)
Dither_resize16(1920,1080, kernel="bilinear", csp="YV24")
Dither_resize16(1920,1080, kernel="box", csp="YV16")
ConvertFromStacked(bits=10)


Which confirms Bilinear up-sampling to 444 on import and Box sub-sampling to 422 on export.

It was that behavior which sparked this study in the first place as it was deemed to reflect sub-optimal 422 chroma sub-sampling.
__________________
Nostalgia's not what it used to be

Last edited by WorBry; 23rd October 2018 at 06:03.
WorBry is offline   Reply With Quote