[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