-
Notifications
You must be signed in to change notification settings - Fork 475
Description
The "encoding" attribute of a color space is intended to give a rough sense of how color values are numerically encoded in a color space. The current options are: 'scene-linear', 'log', 'data', 'display-linear', 'sdr-video', and 'hdr-video'. The encoding may be used for many purposes such as:
- Filtering color space options for display in menus
- Adjusting what type of image processing algorithm to apply to an image
- Interfacing with other systems such as OpenFX (which has a notion of "Basic" color spaces, based on the encoding)
- Creating viewing rules
There is a trend towards driving HDR displays with extended-range versions of SDR color spaces. This allows a color space to be used for HDR but with SDR compatibility. This is very helpful for apps that have an SDR user-interface being shown on an HDR monitor. In these color spaces, 1.0 is essentially the SDR white point and values extend above that to reach HDR luminance levels. Sometimes negative values are also allowed to obtain a wider color gamut.
In the current ACES config, there is a "Display P3 HDR - Display" color space which is a good example of this. Its encoding is set to "hdr-video" but that is somewhat misleading since the [0,1] range is essentially an SDR color space.
The proposal is to add a new "xdr-video" encoding to be used when describing these color spaces. This is for color spaces that are basically "sdr-video" between [0,1] but allow values way above 1.0 to drive HDR displays. Here is a comparison of the three video encodings:
- 'sdr-video': A color space for an SDR monitor/display. Values are roughly [0,1] but may extend about 9% above/below that to accommodate video over/under-shoot. Rec.709 is a good example.
- 'hdr-video': A color space for a strictly HDR monitor/display where 1.0 is obtaining HDR luminance levels. This is essentially very similar to a logarithmic color space, except it is display-referred. Rec.2100 PQ is a good example.
- 'xdr-video': A color space intended to drive an HDR display but with SDR compatibility. The 1.0 provides an SDR luminance level and values well above 1.0 are expected to obtain HDR luminance levels. The extended-range version of Display P3 is a good example.
Note: The library itself does not enforce the content of the encoding string, so this proposal is not a library change, it is just a documentation and workflow change.