Compositor HDR color management test app
Problem
People complain about poor colors, and it is difficult to determine what, if anything, is broken.
We need a test app that users can run and visually determine if they have a compositor problem or not, and if they do, take a meaningful photo of the screen for a bug report.
Scope
The test app needs to work on any compositor that implements the color-management extension.
ICC workflow is out of scope.
Test app design
The test app needs to show the same image in two different ways on sub-surfaces simultaneously:
- Using the original image data, tagging the sub-surface with the appropriate parametric image description.
- Color-processing the image in the app for the current output image description, and showing the result on a sub-surface tagged with the output image description.
This allows users to visually compare the two presentations, which is a much easier task than to evaluate one image at a time. The reference color processing implementation in the app provides the benchmark against which all compositors can be evaluated.
All compositors are not intended to do the color processing in the same way. It is important to allow some differences between the compositor and the reference rendering of an image when using the perceptual or saturation rendering intents. However, all the colorimetric rendering intents must produce an exact match.
The test app must allow the user to choose the test image from a built-in set of images, and to choose the rendering intent.
The color processing implementation in the test app should use the CPU to avoid dependence on GPU behavior, and the code should be written for clarity rather than performance. The processing needs to run only when the window's current output changes.
Test materials
The test app needs several test images to cater for different aspects of color management:
- sRGB, wide-gamut SDR, and a HDR style or two, maybe some common video formats
- a technical test chart, a natural image with some skin colors, maybe a couple more
The app can start with one or two, and get more over time as high quality material is found or produced.
License
Maybe GPL for the app, and some Creative Commons for the materials if possible?