View Single Post
Old 6th August 2022, 07:07   #44  |  Link
DTL
Registered User
 
Join Date: Jul 2018
Posts: 1,061
" fmtc equivalent of the avsresize 'reference' conversion:

Code:
#fmtconv
rgb_lin=fmtc_bitdepth(yuv444, 32).fmtc_matrix(mat="RGB", mats="2020")
rgb_lin=fmtc_transfer(rgb_lin,transs="hlg",transd="linear", sceneref=true)
rgb_lin=RGBAdjust(rgb_lin, r=0.5, g=0.5, b=0.5)

rgb_lin= SincLin2ResizeMT(rgb_lin,rgb_lin.width*4, rgb_lin.height*4, taps=16)
return fmtc_transfer(rgb_lin, transs="linear",transd="1886").fmtc_bitdepth(8, fulls=true, fulld=false).ConvertToRGB()
"

It is good too. But only not understand why "fmtc_bitdepth(8, fulls=true, fulld=false)" - it mean RGB linear float always full range (in fmtc) ? Or it is a internal feature of fmtc to convert narrow input range to full at some point ? Also the 'magic' amplitude correction of 0.5 looks less magic.

I test fmtc_bitdepth(8, fulls=false, fulld=false) - it returns the same result. Looks like 'fulls' with float input is ignored in fmtc ?
Same result with simple fmtc_bitdepth(8, fulld=false).

Addition: it looks difference between gamma 2.2 and 2.4 is good visible at the 'look' of transient. Also the real physical output of display depends on its physical transfers in RGB channels, so at LCD the view of transient also depends on viewing angle.

Last edited by DTL; 6th August 2022 at 11:19.
DTL is offline   Reply With Quote