[Trac #1017] swizzle and other DCON-related display problems
Zarro Boogs per Child
bugtracker at laptop.org
Thu Mar 8 10:01:44 EST 2007
#1017: swizzle and other DCON-related display problems
---------------------------+------------------------------------------------
Reporter: AlbertCahalan | Owner: blizzard
Type: defect | Status: new
Priority: normal | Milestone: Untriaged
Component: distro | Keywords:
---------------------------+------------------------------------------------
On a test pattern, I'm seeing aliasing errors which indicate that the RGB
weight in the swizzle is not correct and which suggest that the swizzle is
not operating on linear data.
If the the swizzle convolution is loadable and can do 5x5, and there are
gamma tables both before and after the swizzle, then this can be fixed
now. Otherwise I guess it will need a new ASIC. (well, maybe it isn't too
late for an ASIC fix...?)
First, the sRGB values need to become linear via a lookup table. If YCrCr
were supported in the framebuffer (nice idea, just set the high bit) then
that would get converted too.
Second, make the result a properly weighted sum of the RGB components. In
mono mode, this is how you convert from color to greyscale. In color mode,
this is how you change from sRGB primaries and whitepoint to whatever the
LCD is natively.
Third (color mode), perform the anti-aliasing convolution. It needs to be
such that 1/3 of the weight comes from each type of pixel. A loadable 5x5
matrix or bigger would be great. It could have enforced symmetry along the
diagonals to reduce cost; 5x5 only requires 9 distinct values and 7x7 only
requires 16 distinct values. Another nice-to-have would be separate R/G/B
matrixes, allowing step 2 and 3 to be combined if each output color can be
a linear function of the 5x5x3 (x,y,channel) input.
Fourth, go through a second gamma table. This one accounts for any non-
linearity in the LCD. It may need to be adjusted according to light level;
otherwise it can be fixed.
--
Ticket URL: <http://dev.laptop.org/ticket/1017>
One Laptop Per Child <http://laptop.org/>
More information about the Bugs
mailing list