Rockbox

Tasklist

FS#12478 - Bitmaps have ugly 16 bit-like gradients - except when used as backdrop

Attached to Project: Rockbox
Opened by Martin Sägmüller (dfkt) - Friday, 23 December 2011, 01:11 GMT
Task Type Bugs
Category Themes
Status Unconfirmed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.10
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

When using an image in a theme it shows ugly gradients/dithering, as if it was only 16 bit. When the same image however is used as backdrop (%X tag, instead of 'regular' %xl and %xd), it looks smooth and 24 bit.

Attached image shows the issue. Top half shows what Rockbox does when the image is loaded via %xl and %xd. Bottom half shows how the image should look like (and how it does indeed look when it's used as a %X backdrop).

Tested on a Cowon D2 simulator and on an Android device running RaaA.
This task depends upon

Comment by Michael Sevakis (MikeS) - Friday, 23 December 2011, 05:50 GMT
I think it's the case that only backdrops are dithered when loaded and converted to 16-bit. Other images might have halftone pattern mismatches (though really I don't know the rationale). Not sure why a loading hint parameter couldn't be added so the designer can decide for themselves what's best.
Comment by Jonathan Gordon (jdgordon) - Friday, 23 December 2011, 07:26 GMT
haven't != couldn't.
Comment by Thomas Martitz (kugel.) - Friday, 23 December 2011, 08:16 GMT
That sure can be added. However I'd argue dithering should be the default.

However, can't you convert to 16bit on the PC and do dithering there?
Comment by Martin Sägmüller (dfkt) - Friday, 23 December 2011, 10:21 GMT
With subtle gradients like these (RGB 333333 to 000000, in this case) any dithering will look ugly, I tried several variants - only real 24 bit looks smooth.
Comment by Thomas Martitz (kugel.) - Friday, 23 December 2011, 10:33 GMT
We don't support displaying in 24bit. We can load it, but we always convert to 16bit. This is because the hardware usually doesnt support more. Very few targets (mostly RaaA) support more but that's not implemented.
Comment by Martin Sägmüller (dfkt) - Friday, 23 December 2011, 11:18 GMT
As I said, the image displays perfectly fine when it's used as a backdrop. It only looks ugly when loaded with %xd. Why would %X display the image perfectly fine, and %xd not?
Comment by Thomas Martitz (kugel.) - Friday, 23 December 2011, 11:40 GMT
As it was said, the backdrop uses dithering. That's the only difference.
Comment by Martin Sägmüller (dfkt) - Friday, 23 December 2011, 11:47 GMT
Could this please be fixed, so that %xd loaded images look smooth as well?
Comment by Thomas Martitz (kugel.) - Friday, 23 December 2011, 12:58 GMT
It probably can. In the meantime doing the dithering on the PC should work too.

Loading...