2009.04.27 19:49 "[Tiff] Question regarding unassociated alpha", by Amir Ebrahimi

2009.04.27 20:26 "Re: [Tiff] Question regarding unassociated alpha", by Edward Lam

 > Probably a bug.

This code only gets used in the high-level libtiff TIFFReadRGBAImage() interfaces. Given that it's supposed to do all sorts of conversions for you, I think it's semantically supposed to always return pre-multiplied alpha images. Reading the code, it leaves the RGB components alone when reading an associated alpha tiff, and multiplies in the alpha for unassociated alpha tiff files.

Given that this code was originally developed on SGIs, the norm back then was probably to use premultiplied alpha. ie. influenced by Duff's Compositing Digital Images paper.

http://keithp.com/~keithp/porterduff/p253-porter.pdf

Regards,

-Edward

Probably a bug.

Lots of people get alpha channels confused with transparency (associated alpha), especially in the 3D and video world. They forget that you can have alpha channels that are not transparency(associated) and you can have more than 1 alpha channel in a single file.

________________________________________
From: Amir Ebrahimi [amir@unity3d.com]
Sent: Monday, April 27, 2009 1:03 PM
To: Chris Cox
Cc: tiff@lists.maptools.org

Subject: Re: [Tiff] Question regarding unassociated alpha

On Apr 27, 2009, at 1:00 PM, Chris Cox wrote:

Unassociated alpha should never be premultiplied - it is not associated with the color channels. Only assoicated alpha should be premultiplied.

Chris

I agree. Why is libtiff doing this?