[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