[Openicc] Oyranos - proof of concept

Graeme Gill graeme at argyllcms.com
Thu May 12 18:23:20 EST 2005


Stefan Döhla wrote:
> So far, I've seen LUTs having 256 and 64 entries. The Windows-API for
> changing or reading them from the video card assumes 256*3*16bit
> entries.

Most don't have more than 256 entries, but that's less important
than the size of the entries. (not a surprise when this corresponds
to the depth of the frame buffer). The usual purpose of calibration
is to cause the RAMDACs to map a well behaves space (e.g.
good white balance throughout the grays, well behaved
response for each channel, pre-determined white point
and maximum brightness) to a possibly badly behaved device
space, or one in which you are choosing not to use the
full gamut. 256 entries of 12 or 14 bits therefore should be OK.

Of course, more should be supported if they are present.

> Summary of my current LUT experiences:
> - Win32: 3*16bit*256entries
> - X11: 3*16bit*n entries (where n is so far 6bit, 8bit or 10bit)
> - OSX: ??? (the ordered miniMac hasn't arrived yet)

I'm mistaken in thinking OS X only supported 8 bit entries.
The CGDisplayErr CGSetDisplayTransferByTable()
allows an arbitrary number of floating point values to define each
channels transfer curve. Presumably it will interpolate
up or down to the actual RAMDAC resolution.
[See Quartz Services Documentation.]

> Content of so far seen ICC profiles:
> - 3*16bit*256 (ProfileMaker, most others)
> - 3*8bit*256 (Colorvision Spyder)
> 
> Capabilities of video cards:
> - most: 3*8bit*256 entries
> - Savage4 of my Toshiba Portege: 3*6bit*256 entries
> - Nvidia Quadro: 3*8bit(not sure)*1024 entries
> - ATI (from the link below): 3*10bit*256 entries
>   http://www.ati.com/developer/sdk/RADEONSDK/Html/Tutorials/RADEONGamma.html

I'm not sure how one determines this (short of discovering
the answer in the manufacturers documentation). A quick experiment on my
new Windows 2k box running an Nvidia 6600 card, shows that
I can set and read 16 bit values, but I'm not convinced this is
reflecting the actual card RAMDAC values.
I guess I'll have to do some experiments using an the Xrite DTP92
to get any real idea.

Graeme Gill.



More information about the openicc mailing list