I'm trying to use LCMS2 with a cairo image surface. The format of the
image data is CAIRO_FORMAT_ARGB32, which cairo defines as:

"""each pixel is a 32-bit quantity, with alpha in the upper 8 bits,
then red, then green, then blue. The 32-bit quantities are stored
native-endian. Pre-multiplied alpha is used. (That is, 50% transparent
red is 0x80800000, not 0x80ff0000.)"""

At the moment I'm un-premultiplying the values, running LCMS2 and then
re-premultiplying them. That's hugely wasteful and kinda slow. Is
there any room in the "A O TTTTT U Y F P X S EEE CCCC BBB" bit-field
for a pre-multiplied flag, and what would be required to support
premultiplied alpha in LCMS without all the conversion? I know
Sebastien did some work with pre-multiplied alpha when I last asked
about performance, but I don't think anything went upstream. Ideas
welcome, thanks.

Richard

------------------------------------------------------------------------------
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to