On 19 June 2013 03:52, John Kåre Alsaker <[email protected]> wrote: > Here is my current color management protocol for Wayland clients. The > basic idea is that the compositor sends two color spaces to the > clients.
If we back up a little first, what's the problem we're trying to solve? * We already have the ICC profile filename from the CMS plugin for the output that sets the calibration sate * We want to convert the pixels on a surface from assumed-sRGB to the chosen display profile * We want there to be no conversion if the display profile is not set or if the display profile is set to sRGB * We want to be able to poke out regions of a surface for specific users, e.g. if a video player or image editor is already doing CM itself, or if a calibration tool is running that needs to output colors unmolested * We perhaps want to mark out regions of a surface that have a predictable or well known color space, to offload conversion from my "Nikon D60" camera profile to the output space on the GPU, rather than the CPU. * Ideally we want to composite the surfaces together using linear light where possible I think addressing these in small chunks will let us define the protocol to be as simple as possible. I'm also keen on keeping the workflow ICC-only, trying to do anything else will lead to madness. Also, as a small point, we can't just ignore the VCGT tag as it forms part of the calibration state, and the characterisation is only valid for that state. I agree it makes sense to produce profiles without a VCGT when we have full screen color correction on most hardware, but until then we have to honor them. I think what it makes most sense for Raphael to start on is to take the ICC profile filename as specified in the CMS plugin, and do the assumed-sRGB -> output transform in a GPU shader. That's quite a task in itself, and trying to think about everything all at once and talking protocol changes is bewildering for my little head, let alone someone new to the project :) Richard _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
