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

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

PS. I meant to say "Porter & Duff"'s paper.

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

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?
>>
>>:: Amir Ebrahimi::
>> Developer @ Unity Technologies
>> www.unity3d.com