View Single Post
Old 6th June 2011, 20:10   #7994  |  Link
yesgrey
Registered User
 
Join Date: Sep 2004
Posts: 1,295
Quote:
Originally Posted by madshi View Post
Sure, I can add support for that. But it's not as easy as it sounds. There are a lot of other controls depending on this.
OK. I didn't think that other things would depend on it, but no problem, it won't affect me. I'm creating my own manually.

Quote:
Originally Posted by cyberbeing View Post
RGB_Video is 16-235 (16-240), everything outside of that range is clipped. In order for yCMS to do proper color correction, a RGB_Video -> RGB_Video 3dlut would be needed for Limited-range video, and a RGB_PC -> RGB_PC 3dlut would be needed for Full-range video.
Nothing is clipped, as long as you maintain 16-235 on both input and output of 3DLUTs, like madshi is doing.

As long as madshi performs right the stretching from 0-255 to 16-235 (16-240), and back after the processing, considering that the sources are 8 bit and shader math is 32 bit FP, you will not have any precision loss, and only one 3DLUT would be enough.

Quote:
Originally Posted by cyberbeing View Post
To achieve proper linerization for color-correction, the 3dlut needs to be created taking the video gamma and/or display gamma into account. By yRGB you are forced to pick a global input_transfer_function (yCMS defaults to a 2.2 power-curve), which won't be technically accurate for all videos.
You're missing one thing. The gamut correction from PAL/NTSC/HD to yRGB is performed on linear light. For that, madVR converts to linear light using each standard's transfer function. Then, it encodes the linear light again to gamma light to minimize quantization errors when accessing the 3DLUT. yRGB uses a pure power function 2.2 gamma curve, so, yCMS will get exactly the same linear light data as before. We created this intermediate color space (yRGB) just to allow
a simpler user experience, or else the users would need to use 6 3DLUT files.

Just to make it clearer, madVR's new processing chain should give the same results as the previous one when using yCMS and the Gamma_Curve command, so don't worry about it. I agree that the GUI might need some improvements, but the processing chain was thoroughly discussed by us before being implemented.

Quote:
Originally Posted by madshi View Post
@yesgrey, any comments?
See above.
yesgrey is offline   Reply With Quote