3 ms·
> You’re saying PQ is “downright wrong”? Why? Yes, PQ is downright wrong because users view content in differing ambient environments. 50 nits in a movie thea
by kllrnohj 1y ago
> You’re saying PQ is “downright wrong”? Why?
Yes, PQ is downright wrong because users view content in differing ambient environments. 50 nits in a movie theater and 50 nits on a sunny day are extremely different perceptually.
> How is the TV industry fixing it?
Who said anything about the TV industry fixing it? Mobile is what really highlights how broken PQ is in practice to such an extent that none of the mobile OS's ever show PQ as the spec demands.
BT 2048 arguably redefines PQ into a relative colorspace by defining that 203 nits == "graphics white" which OS' are starting to just treat as SDR white to redefine PQ as a relative colorspace instead of an absolute one. Wayland also adopted this.
But even the TV industry is starting to recognize that. The recently Dolby Vision 2.0 focuses a lot on similarly retroactively redefining PQ as a relative colorspace, as is SMPTE ST 2094-50.
> Absolutely! I was really referring to the LDR color spaces where 1.0 is relative to the max brightness, which is why I qualified my statement with “relative units”. Aside from PQ, nearly all the old color spaces that stop at 1.0 are relative, not absolute… all the non-physical, non-perceptual color spaces like RGB, CMYK, HSL, HSV… and even some perceptual spaces like CIE’s XYZ, xyY, and LAB are all relative with 1.0 meaning max brightness
Just because 1.0 is the max value in a relative colorspace doesn't mean it's necessarily LDR / SDR. Consider for example linear vs. non-linear sRGB. The value 0.5 in both of those means "half of max", yet they represent wildly different perceptual values, right? In that same way, the 1.0 max of any given working colorspace does not have to map to an "LDR" value. Consider for example being able to write directly to the display. 1.0 max value now maps to the max brightness of that display, and whether or not that's "HDR" depends on the display & ambient conditions more than anything else.
For internal passes you almost certainly want to work in something consistent, typically linear, and then yes 1.0 would be SDR white. But the output swapchain is ~never linear, and what 1.0 means depends entirely on what is communicated to the consumer of that swapchain. It has no inherent meaning, no inherent SDR/LDR/HDR-ness. Just like 1.0 of an sRGB swapchain and 1.0 of a Display P3 swapchain have different colors, you can also have different luminance ranges depending on what the specific platform supports and the specifics of the output mode.
- dahart 1y agoI thought you were saying the TV industry is fixing it, maybe I misunderstood. PQ is a television standard, people don’t really use it in other scenarios. I thought you were defending PQ. If not, then I’m not sure why we’re talking about PQ, Game Maker doesn’t use PQ, does it? I’m not sure what you mean about different ambient environments leading to the conclusion that PQ is wrong. No color space can fix that problem, that’s not a color space problem. You seemed to argue with the idea of keeping track of physical units. I guess I’m not understanding your point. For the rest it sounds like we’re mostly in full agreement. Of course the output of HDR work isn’t linear, transfer functions and tonemapping guarantee that. I mentioned linear HDR workflows because you brought up PQ, which is primarily a delivery display color space for HDR displays. I agree that what 1.0 means depends on what the color space defines it to mean, especially when you don’t use a relative color space. We only have the 2 kinds, one that’s relative and where 1.0 is defined to mean the max brightness (or reflectivity) of the display medium, and one where you somewhere define an absolute reference point. My point was only, and still is, that for the relative color spaces, 1.0 always means the same thing. It’s true you can have values above 1 in a relative color space, if you want, but you can’t print or display them; that would only be useful for pre-output color processing.
- kllrnohj 1y ago> We only have the 2 kinds, one that’s relative and where 1.0 is defined to mean the max brightness (or reflectivity) of the display medium, This is just not true though. The most common relative colorspaces have 1.0 as an arbitrary user brightness setting, not the max brightness. This is where >1.0 values typically gain meaning and the typical "0-1 is ldr, >1 is hdr" comes from. This requires a float format for output. (linear) extended srgb is a standard example, but also Apple's EDR. But you can also have relative colorspaces where 1.0 is a value brighter than SDR white. This is critical for unorm formats which are typically much more efficient for display. HLG is a standard example of this, but Android's extended range brightness is another. > Game Maker doesn’t use PQ, does it? I have no idea what its HDR support looks like. If it can produce an HDR output on screen it's probably using PQ to do it since that's the most broadly supported option. PQ being crap though is why if you've ever played a game in HDR it pushes you to do a calibration wizard first