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