Hi Marti,
Hi everyone,

I'm using LittleCMS (and reading the ML) for one year and half now and
my first message would be to thank you for this great piece of software !
(BTW, regarding the recent discussion, I'm using multi-thread
QtConcurrent code and it works like a charm... being ~3 times faster on
a Quad proc)

Recently, in "my" graphic software, "Pointcarré", I started to write
some new code to manage layers and transparency (alpha blending).

In my graphic pipeline, it appears that the image that I would like to
process are in premultiplied RGBA, which is much faster to blend that
regular RGBA.
LittleCMS, for now, left unchanged the alpha channel and does not care
about it.
Obviously, any premultiplied R/G/B (or any other kind of channel) will
not be handled correctly if there is no specific code in LittleCMS core.

As a turn-around, it is always possible to turn the premultiplied
feature off or to convert to regular RGBA before/after the call to
cmsDoTransform. But the performances are damn impacted.
The other point to consider is the potential benefit to take care of
Alpha : if (alpha == 0), there is no need to process this pixel, as the
point is fully transparent. (btw, this optimization could already be
enable for regular RGBA)

I'm speaking of RGBA in 8 bits channels, but, obviously, it make sense
to consider this feature for 16 bits or floating values. (better to be
in high precision as premultiplication introduce some serious accuracy
loss for highly transparent pixels)

My questions :
1 - Am I a bit heedless and such feature is already managed in LittleCMS ?
2 - if not, am I the only one who need such feature ? (anyone in the ML ?)
3 - Anyone has started some work in this direction ? (I searched on
mailing list history but did not any relevant thread)
4 - Do you think it could be interesting to support such feature ?
5 - Do you think it would make sense to handle this with one extra flag
like :
#define T_ALPHAPREMUL(a)            (((a)>>23)&1)

(alpha channel should also be clearly identified. For now, this is not
exactly the case as alpha is simply seen as 1 EXTRA_SH and it is
possible to have up to 7 extra channels)
I could try to implement this myself (some guidance is required... I
never hacked littleCMS so far :-( )

Regards !

Sébastien Léon


------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to