Regarding the gamma 2.2 transfer function
TL;DR
- Gamma 2.2 is a popular calibration target but unfortunately not supported in Windows MHC/ACM/HDR pipelines.
- You can't change color reproduction of color-managed apps by simply changing the calibration target tone curve.
The Problem
Think of a random color-managed app, given specified content (e.g. an image) and display profile, tell the rendering behavior.
| Content Profile | Display Profile | Rendering Behavior |
|---|---|---|
| Unspecified | Unspecified | ❓ |
| sRGB | Unspecified | ❓ |
| Apple Display P3 | Unspecified | ❓ |
| Unspecified | sRGB | ❓ |
| Unspecified | Rec. 709 with gamma 2.2 | ❓ |
| sRGB | Rec. 709 with gamma 2.2 | ❓ |
| Apple Display P3 | Rec. 709 with gamma 2.2 | ❓ |
| sRGB | Apple Display P3 | ❓ |
[!NOTE]
- Chromium discards TRCs in display profiles and always assumes sRGB TRC for SDR.
- Few content is encoded in Rec. 709 (or sRGB, if you like) gamut with gamma 2.2
- Apple Display P3 consists of DCI-P3 gamut, D65 white point and sRGB transfer function.
Facts
- In the current implementation, if an MHC2 transform or ACM/HDR mode is in effect, the display is always tagged with either the original MHC ICC profile or a pseudo profile with sRGB TRC.
- For the MHC CSC pipeline to work properly with color-managed apps, tone curves in MHC ICC profiles should be sRGB TRC to ensure encoded RGB values are correctly converted back to linear XYZ.
- For good old non-MHC ICC profiles, if you choose gamma 2.2 as calibration target, the resulting profile will have a gamma 2.2 TRC. When the profile is associated with a display, CMMs will convert sRGB-encoded contents from sRGB piecewise TRC to pure-power gamma 2.2 TRC before sending them to the display.
- No known CMM will passthrough sRGB-encoded content, without conversion, to a gamma-2.2 tagged display.
My Views
- Given the pipelines are fixed to sRGB TRC, it doesn't make sense to use gamma 2.2 in some stages in the pipeline.
- Yes, gamma 2.2 can be used for non-color-managed apps/contents, but this is unfortunately not supported in current Windows MHC/ACM/HDR pipelines.
- Don't treat sRGB TRC special - it's just like some other gamma curve with different power.
- For SDR display: either ignore the curve and accept different OETF/EOTF combination (just like BT.1886-encoded video), or follow the full source EOTF - linear XYZ - destination OETF pipeline
- Avoid explicitly tagging your content with sRGB TRC, especially if it's not created under sRGB TRC (like gamma 2.2)
Feel free to drop your thoughts here, or upvote the related Feedback Hub ticket^1.
I think (learned from internet) that the movies should be displayed with certain gamma not encoding gamma,the latest document is ITU-R BT.1886.In this case,the content displayed with color-managed app or ACM ON,will be "correct" gamma but not the creators of content intended to show you.
For the problem,my opinion,color-managed app (same as ACM) will display all contents(2.0/2.2/srgb gamma) correctly regardless of monitor`s gamma.If content is sRGB,display profile is Rec. 709 with gamma 2.2,monitor real gamma is sRGB. (1)content displayed without color-managed,will be correct. (2)content displayed with color-managed.monitor real gamma,will be incorrect,because display profile for gamma 2.2. (3)content displayed with color-managed,monitor real gamma,VCGT(base real gamma and transfer target 2.2),will be correct.
Here estimation of max error of CSC of DCI P3 to sRGB gamma 2.2. Max error is 2.2DE. May be it's acceptable for most users who prefer dark environment.