[Openicc] ICC Profiles in X Specification 0.4 DRAFT 2

Kai-Uwe Behrmann ku.b at gmx.de
Thu Mar 4 11:50:36 PST 2010


The ICC Profiles in X Specification 0.4 DRAFT 2 assumedly allowes a 
display colour server to completely colour manage a desktop UI based on
hardware accelerated colour corrections. (Note this does not refere to 
VCGT).
It should do so in a very backward compatible manner with existent 
applications. This should include tools supporting the v0.1-v0.3 
of this spec as well as applications.


a updated draft can be found here:
http://www.oyranos.org/wiki/index.php?title=ICC_Profiles_in_X_Specification_0.4

I copy the discussion part from ColourWiki for your convenience:


* net-color spec support

The _ICC_PROFILE(_xxx) atom was designed for device specific ICC profiles. 
However with the evolution of applications a desire arose to divide the 
real device colour space from the intended document colour space. To 
preserve compatibility with elder applications a ICC_PROFILE_in X Version 
0.4 compatible service is allowed to move the _ICC_PROFILE(_xxx) to 
_ICC_DEVICE_PROFILE(_xxx) and put a typical sRGB profile into 
_ICC_PROFILE(_xxx).

Applications, which understand the net-color spec, should mark their 
document regions with the _NET_COLOR_TARGET atom without the ICC profile. 
The target ICC profile can be obtained by first looking inside the 
_ICC_DEVICE_PROFILE(_xxx) atom(s) and if empty inside the 
_ICC_PROFILE(_xxx). Otherwise they have to assume sRGB. Doing end to end 
colour correction by the application is known as early colour binding. It 
has the advantage of being more accurate depending of the CMM and the 
pixel encoding, e.g. with 16-bit per channel image source.

The net-color spec dealing with region profiles as in the following scheme

     * Xcolor region + ICC colour profile attached ==> convert Xcolor ICC 
profile -> _ICC_DEVICE_PROFILE(_xxx)

can be added in a later version on desire. The git repository hosting the 
net-color spec contains a example compiz plugin for that functionality.


* _ICC_PROFILE_SETUP_LOCK

What is somewhat unclear is the _ICC_PROFILE_SETUP_LOCK and 
_ICC_PROFILE_SETUP atoms. It needs better commenting or should be removed.


* XRandR

That part could be more specific, in that the monitor counting in the root 
window follows that counting in the Xinerama API.



I hope this draft remains open for easy further extention. If you spot 
parts which does not, then your comments are very much welcome.



kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




More information about the openicc mailing list