[sugar] Emulating the laptop display with Xephyr

Behdad Esfahbod besfahbo
Thu Aug 3 13:41:17 EDT 2006


On Thu, 2006-08-03 at 10:54 +0200, Manu Cornet wrote:
> Hi Behdad!
> 
> > You should try some filtering (I want to try it out myself but that may
> > not happen this week or next).  The idea is to use a convolution filter
> > to distribute the energy among the neighboring pixels that have
> > different color, such that you don't lose data in the single-channel
> > pixels.  Try the following for example:
> > 
> >   1 2 3 2 1
> >   2 4 6 4 2
> >   3 6 9 6 3     (all divided by 81)
> >   2 4 6 4 2
> >   1 2 3 2 1
> 
> This would certainly improve the display, but will the OLPC hardware
> actually be able to do that (I know it performs AA with 4 neighbors, not
> sure it will do it with 24)? My goal is more to simulate the hardware's
> behavior (DCON chip) as closely as possible than to get a nice display
> in Xephyr.

Right.  I didn't know what exactly the chip does.  Reading your patch, I
gather it's doing this:

    1
  1 4 1
    1

That's probably a good approximation with only four neighbors, but a
more accurate one is:

    1
  1 2 1
    1

but it's harder to do in the chip as it needs division.  Now that you
have made the patch, we can experiment with different filters and see
how they affect the output.  I'm sure the chip designers have done this
work already and came up with the current setting, but it's still
interesting to see if the output can be improved further.

A sidenote about your patch.  I think the reason RGB channels are
inverted is that your machine is little-endian and the channels are
stored as ARGB in a word.

> Cheers,
> Manu

Cheers,
-- 
behdad
http://behdad.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://mailman.laptop.org/pipermail/sugar/attachments/20060803/65da28a4/attachment.bin


More information about the Sugar-devel mailing list