Bug 12634 - Explore 18 bit color depth on baby
: Explore 18 bit color depth on baby
Status: ASSIGNED
Product: SB Radio
Classification: Unclassified
Component: Setup
: Include FW version in comment
: PC Other
: -- enhancement (vote)
: ---
Assigned To: Unassigned bug - please assign me!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-06-30 21:01 UTC by Ben Klaas
Modified: 2011-11-06 23:24 UTC (History)
3 users (show)

See Also:
Category: ---


Attachments
sp desktop (with display set to 16 bit) - looks equally bad on baby (38.64 KB, image/png)
2009-07-01 09:49 UTC, Wadzinski Tom
Details
Dither -diffuse (47.12 KB, image/png)
2009-07-01 10:25 UTC, ndijulio
Details
Dither -noise (60.21 KB, image/png)
2009-07-01 10:26 UTC, ndijulio
Details
Encore - updated teal (no dither) test (40.11 KB, image/png)
2009-07-01 11:01 UTC, ndijulio
Details
screenshot of teal encore with mac set to 16bit color (33.32 KB, image/png)
2009-07-01 13:06 UTC, Ben Klaas
Details
Encore dither test various (466.83 KB, application/octet-stream)
2009-07-01 14:50 UTC, ndijulio
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Klaas 2009-06-30 21:01:41 UTC
Is this a bug? We're having all kinds of problems making wallpapers look right with our current color depth. Is baby's screen limited to a 16 bit color depth? QVGAlandscapeSkin hard-codes to that:

Framework:setVideoMode(screenWidth, screenHeight, 16, jiveMain:isFullscreen())

I was tempted to just ssh to my baby and change it to 24 and see what happened. Maybe it's lucky that I can't get ssh to work...will BAD things happen if I do that?
Comment 1 Blackketter Dean 2009-07-01 07:41:58 UTC
Yes, for now baby has a 16-bit color depth.  The wallpapers, and any other assets that have significant banding, will need to be dithered.
Comment 2 Blackketter Dean 2009-07-01 07:43:18 UTC
(A bit of background: the screen itself is 18-bit, but using that means moving to 24-bit rendering, which doubles memory and cpu utilization.  We can look at an optimization for this later. Noah should know all this.)
Comment 3 Ben Klaas 2009-07-01 07:45:49 UTC
The dithering appears to be problematic for several of the wallpapers, including Encore. I guess this is for Noah to figure out, but in discussion late last night on the phone, he cited this as "the single biggest UI problem we're going to have on baby. It's really bad". I'll let Noah comment further.
Comment 4 Ben Klaas 2009-07-01 07:47:38 UTC
I should say, I mentioned Encore because that's been identified as the new default wallpaper, and it looks terrible right now, even after being dithered.

Noah, just as a sanity check, could you make sure the correct bb_encore.png with dithering has been checked into your assets/ area? I've confirmed that the version I'm using in the firmware is the same as what is in assets/.
Comment 5 Richard Titmuss 2009-07-01 08:25:12 UTC
We'll only have 16 bits for release, as Dean says we _might_ be able to go to 18 bits as a future enhancement.
Comment 6 Blackketter Dean 2009-07-01 08:56:59 UTC
That's weird, I don't think it looks terrible to me right now on the device.  (What's terrible is the oily film behind the lens, but that will be wiped off...)

Can you post a picture of what you see, ben?
Comment 7 Wadzinski Tom 2009-07-01 09:49:47 UTC
Created attachment 5395 [details]
sp desktop (with display set to 16 bit) - looks equally bad on baby
Comment 8 ndijulio 2009-07-01 10:24:39 UTC
There are 2 types of dithering effects I can apply to reduce the number of colors/banding in the gradient:

1. Diffusion 0-100%
2. Noise 0-100%

Attaching screen images for reference...
Comment 9 ndijulio 2009-07-01 10:25:26 UTC
Created attachment 5396 [details]
Dither -diffuse
Comment 10 ndijulio 2009-07-01 10:26:03 UTC
Created attachment 5397 [details]
Dither -noise
Comment 11 ndijulio 2009-07-01 11:01:49 UTC
Created attachment 5398 [details]
Encore - updated teal (no dither) test
Comment 12 Ben Klaas 2009-07-01 13:06:48 UTC
Created attachment 5399 [details]
screenshot of teal encore with mac set to 16bit color
Comment 13 ndijulio 2009-07-01 14:50:15 UTC
Created attachment 5400 [details]
Encore dither test various

Try bb_encore_teal_noise2.png first.  It seemed to be the closest on my monitor set to 16bit.
Comment 14 Ben Klaas 2009-07-01 15:08:25 UTC
Noah, can you checkin the noise2 image as bb_encore.png in the wallpaper section of assets/ ? That's going to be the quickest way to check it out on the device. If you have set the color depth of your PC to 16, that's probably going to be a fairly clear indication of how it will look.
Comment 15 Blackketter Dean 2009-07-02 06:26:59 UTC
Noah: are you using the 565 plugin that we used for Controller?
Comment 16 ndijulio 2009-07-02 09:10:44 UTC
Dean - I am using the DepthDither 2.0 plugin same as what was used on the Jive development.  Not sure what 565 is?

http://depthdither.graphest.com/
Comment 17 Blackketter Dean 2009-07-02 12:24:18 UTC
Ah, ok, I'm using a different plugin from http://www.telegraphics.com.au/sw/ (5_6_5 dither).  

But the one you have should work even better and has more control.  Good!  

Use the R5G6B5 setting like in the example on that site, then play with the dither mode that looks best for the given image.
Comment 18 Chris Owens 2009-07-07 10:15:14 UTC
This bug has been identified as one that may not be required for MPQ since it now seems clear that MPQ and MP firmwares will be different.  Please comment if you disagree with this assessment.  Thanks!
Comment 19 ndijulio 2009-07-15 14:06:55 UTC
The assets that are using gradients have a dither effect applied them.  From a visual asset perspective the problems have been fixed.  

The original bug is referencing an engineering constraint on the displays bit depth and NOT a graphical but.  Please reassign accordingly.
Comment 20 Ben Klaas 2009-07-16 07:11:23 UTC
a very long punt of this one, but leaving open to explore using 18 bit color depth
Comment 21 Chris Owens 2010-05-06 15:47:21 UTC
Tom is no longer available to us
Comment 22 Alan Young 2011-11-06 23:24:26 UTC
Unassigned bugs cannot have a priority.