[Openicc] Oyranos - proof of concept

Stefan Döhla color at doehla.de
Thu May 12 17:09:04 EST 2005


> In principle this can be done with any current display running via
> the (analogue) VGA output. I would expect that any modern VGA
> card is using better than 8 bit RAMDACSs, and certainly the
> hooks are there is some OS's to set more than 8 bit data
> into them (MS Win2k for sure, X11, but I'm not sure where OSX is
> up to. Last time I checked they only had an 8 bit interface to the RAMDACs.)

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.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/icm/icm_0yi8.asp

Yesterday, a user having a NVidia Quadro based card told me, his card
supports 1024 entries when using X. This makes it necessary, to add
some interpolation into xcalib since all profiles, created with Win32
apps do use 256 entries only.

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)

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

In my opinion, the ATI approach is the right for the time being, since
it allows the mapping of 256 to 256 entries with less posterization
(having not so coarse values). Combined with bigger LUTs (>=1024
entries), it's probably invisible, that a correction happened (at
least with analog displays).
  
Does anyone know whether the Win32 API limitations fall when Longhorn
arrives?

Stefan

-- 
Stefan Döhla
mailto:color at doehla.de




More information about the openicc mailing list