5:6:5 RGB Considered Harmful

salsaman salsaman at xs4all.nl
Mon Mar 12 11:30:01 EDT 2007


Dan Williams wrote:

>On Mon, 2007-03-12 at 03:22 -0400, Albert Cahalan wrote:
>  
>
>>Long ago, Tux Paint used 5:6:5. This caused colors to get messed up if
>>the user did repeated blur, smudge, pixelate, and similar operations.
>>Tux Paint normally uses 8:8:8 RGB, with occational 32:32:32 (linear float)
>>RGB for troublesome blending operations like smudge. The version that
>>runs on the B2 OLPC XO is currently using 5:5:5, but this causes lots of
>>conversions that require bit shifting. The situation would be much better
>>if the XO used 5:5:5 or 8:8:8. While 8:8:8 is 50% bigger, it avoids lots
>>of bit shifting (very slow on many processors) and preserves information.
>>    
>>
>
>You're completely correct.
>
>  
>
>>Eliminating the use of 32:32:32 will probably involve linear integer data,
>>16:16:16 on normal hardware at least, perhaps with MMX via gcc's vector
>>support. This wouldn't be 5:6:5 either.
>>
>>If I recall right, eToys was using 5:5:5 and GDK uses 8:8:8.
>>Switching to one of those would be good. 5:6:5 can't even do grey.
>>Not that non-linear data is any good for computation...
>>    
>>
>
>Sugar doesn't really use GDK, it uses hippo-canvas and cairo.  But
>neither cairo or GDK really work well at 555.
>
>  
>
LiVES uses GDK internally, so it would have to be added as part of the 
LiVES port.


Regards,
Gabriel.
http://lives.sourceforge.net



More information about the Devel mailing list