[Trac #1017] swizzle and other DCON-related display problems

Zarro Boogs per Child bugtracker at laptop.org
Wed Mar 14 12:05:03 EDT 2007


#1017: swizzle and other DCON-related display problems
---------------------------+------------------------------------------------
 Reporter:  AlbertCahalan  |        Owner:  blizzard 
     Type:  defect         |       Status:  new      
 Priority:  normal         |    Milestone:  Untriaged
Component:  distro         |   Resolution:           
 Keywords:                 |  
---------------------------+------------------------------------------------
Comment (by vmb):

 Replying to [ticket:1017 AlbertCahalan]:
 > 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.

 As the person who originally designed the hardware filter kernel (which is
 3x3, and in order to avoid having full multipliers in the ASIC needs to
 have all weights be fractional powers of 2), I'd be interested in seeing
 some of the images that give you aliasing problems.

-- 
Ticket URL: <http://dev.laptop.org/ticket/1017#comment:1>
One Laptop Per Child <http://laptop.org/>



More information about the Bugs mailing list