
Wide Color Photos Are Coming to Android - el_duderino
https://android-developers.googleblog.com/2019/05/wide-color-photos-are-coming-to-android.html
======
jasonkester
I really just want Android to stop messing with the camera and let it take
pictures. It's getting harder to take a photo without it stripping all the
texture from people's faces and blurring out the background, or worse.

Here's a video of me moving around on a static background, taken from a
tripod. Evidently bending the fabric of the universe as I move:

[https://www.youtube.com/watch?v=qSlgOwm_eXU](https://www.youtube.com/watch?v=qSlgOwm_eXU)

That's the stock camera app on my brand new Pixel 3a. Since this was taken,
I've been experimenting with every setting possible to try to convince it that
I don't want to "pop" or be "motion stabilized" but no, there's nothing that
will stop it doing this.

I'm going to have to return the phone.

~~~
tveita
My guess would be that this is a video compression artifact, not a deliberate
image enhancement effect.

Though that doesn't help when you can't adjust the quality.

~~~
jasonkester
The odd thing is that a given piece of unrelated rock will be in perfect
focus, then suddenly go blurry when I get near it (but not so near as to cast
a shadow).

If it were video compression, you'd expect it would try to not alter pixels
that didn't change from frame to frame. But it clearly updates large swathes
of them.

Also, changing the compression mode in the camera from h.264/AVC to H/265.HEVC
doesn't fix it.

~~~
wccrawford
As far as I know, video compression works on areas, not just pixels. To me, it
looks like it's trying to update areas of the photo by moving areas of pixels,
instead of just updating them individually. This is accidentally getting more
than just the part that's moving, and making things nearby seem to move as
well.

For instance, in the video provided in another comment, when the climber
swings his legs up a bit, there's a portion of the wall that stretches behind
him, before eventually un-stretching back into place. It flows behind the
moving limbs. I suspect that if good video were taken of the scene, the leg
would also be somewhat distorted while moving, but we can't really tell
because it's supposed to be changing, unlike the rocks.

------
jacobolus
So when are web browsers going to start doing proper color management on CSS
colors and untagged images?

I gave up on pestering them about it 10 years ago after they were largely
unreceptive about the topic for several years, but it seems like it’s still a
complete shitshow.

10–14 years ago I was grumpy because my laptop display had a smaller gamut
than sRGB and everything looked bad (undersaturated). Then there were a few
years in between where most of the displays I used were close enough to sRGB
that missing color management more-or-less worked out. Now many devices have
wide-gamut displays which basically make everything on the web look like
oversaturated garbage.

Apple had color management more or less figured out on the Mac in the mid
1990s. It is absurd that it is still so hard for software made by gajillion-
dollar companies to get the bare basics right >20 years later, especially now
that we have superfast GPUs to do compositing in linear space and arbitrarily
fancy gamut mapping using floating point arithmetic, brighter and wider-gamut
displays, better cameras, ...

To the browser vendors: all untagged content must be assumed to be sRGB. If
viewers have wider-gamut displays this content must go through a CMS. If
viewers want to view wider-gamut images or other content, this must be opt-in.
The current behavior breaks color on the web. (Buy a new phone or computer and
suddenly nearly every color relationship you see on the web will be different
than the designer’s intention.)

~~~
vanderZwan
You can enable it in Firefox, but it's not on by default IIRC.

[https://cameratico.com/guides/firefox-color-
management/](https://cameratico.com/guides/firefox-color-management/)

EDIT: That's the desktop - can't speak for the mobile version. I really hope
they turn it on by default in the new mobile browser they're building. Also,
thanks, I had enabled the color management a long time ago but it apparently
was disabled again in a recent upgrade or something.

~~~
no_identd
That only takes us so far.

First of all: Chrome still has broken color management. DisplayCAL has a way
to generate profiles that look like garbage in applications which process
color profiles incorrectly, and this happens with Chrome (but not Firefox.).

Besides that, even if it had feature parity with Firefox, we'd still remain
stuck in the land of ICC color profiles, and those have a few issues.

I'd love to see web browsers support this modified version of this:

[https://arxiv.org/abs/1802.06067](https://arxiv.org/abs/1802.06067)

For which an implementation exists, here:

[https://github.com/nschloe/colorio](https://github.com/nschloe/colorio)

…but no operating systems and hence no browsers support it.

Edit:

See also my comment here:
[https://news.ycombinator.com/item?id=19983604](https://news.ycombinator.com/item?id=19983604)

~~~
vanderZwan
> _I 'd love to see web browsers support this modified version of this_

I hear you, but at the same time this relevant xkcd comes to mind:

[https://xkcd.com/927/](https://xkcd.com/927/)

Colorio looks great, thanks for the link! Also has Jzazbz support I see, neat!

------
floatingatoll
This post’s replies are a joy to read, as someone who’s been finding and
reporting bugs in wide color pipelines for over a decade. You all are
encountering completely bog standard normal ICC issues with eyes wide open for
the first time and it’s given me a lot of hope for the next five years.

App authors and OS builders have refused for a long time to make this a
priority - I’m looking at you, Slack - and now finally with both iOS and
Android moving forward, I really hope it’ll be enough to finally force them
all to suck it up and implement proper ICC handling.

~~~
beering
Truly sRGB has been the best and worst thing to happen to color on computers.
Unfortunately there's so much misinformation and bad implementations of color
out there that I doubt end-users will ever understand or even notice problems
as they come up. I'm really hoping that HDR support will be the driving force
behind wide-color adoption, since consumers are more likely to notice when HDR
isn't working.

------
skybrian
After switching to a recent Macbook Pro and making sure it's displaying a
wider color gamut (the Android image shows up), I compared the sample images -
and didn't see the difference at first.

After reading the description, I can see that the colors are a little
brighter.

But, now that I can see it, I can't bring myself to care. I'd rather forget
about it. This won't make my life any better. It's just a way to sell more
expensive hardware, much like audiophile gear.

~~~
lm28469
It's the law of diminishing return. We went from "absolute shitty" screens to
"very good" screens in 40 years, and from then we went from "very good" to
"very good but slightly better if you squint your eyes really hard" in 10
years.

It's the same for most consumer tech, and is very noticeable on
phones/tablets/laptops. The only thing we can improve on is shaving of .25mm
every gen and calling it a revolution. Or adding machine learning + a 8k
screen to our smartphones to explain why you need to spend 1000$+ on a 10 core
cpu and 8gb of ram.

The complexity skyrockets, the price doubles but the user experience barely
changes, and sometimes it's not even a positive change. Because at the end of
the day the vast majority of people just want a basic camera, spotify, netflix
and google maps.

------
skunkworker
That android logo is a cool use of Wide Gamut and an easy test on a display.

[https://2.bp.blogspot.com/-LqRniYeVeEk/XOLYEiOcKCI/AAAAAAAAJ...](https://2.bp.blogspot.com/-LqRniYeVeEk/XOLYEiOcKCI/AAAAAAAAJXI/IAn0yO21XYkwnkUnDlHtdPGI6VyMDEoeACLcBGAs/s1600/android_p3.png)

If on a Pixel 3 or Samsung Galaxy S10 or another P3 capable display, it's a
faint-but-visible red logo. Otherwise it's just solid red.

Edit: If not on Android Q, try using Firefox.

There seem to be some odd behavior depending on the software and this may not
be always consistent.

~~~
marzell
I'm on a Pixel 3. It's just solid red - no faint logo.

~~~
skunkworker
Odd. I'm on an iPhone XS and it's working for me.

It might be included only in the Android Q update.

Googling around shows that it might be restricted to custom apps only?

"There is one way to bypass this issue, and that is to explicitly tell Chrome
to override the default provided system colour profile and just tell it the
display is Display P3. This enables colour management in the app, and short of
writing a custom application, is the only way to get wide colour gamut content
to work on the Pixel 3."

[https://www.anandtech.com/show/13474/the-google-
pixel-3-revi...](https://www.anandtech.com/show/13474/the-google-
pixel-3-review/4)

------
ohazi
LG V35.

Chrome displays a red square, Firefox displays the wide gamut Android logo.
Good job, Google.

------
magicalist
Does anyone know of any popular camera image formats (ie not raw) that are
actually using more than 8 bits per color?

The blog post mentions "8 bits per color channel is not enough", but as far as
I can tell everyone using Display P3 for consumer-grade photos (including the
iPhone) is still using 8 bits per color, just over the wider gamut.

It seems weird that this hasn't become a thing with the big marketing push
behind HDR10 and others for TV. You might think "backwards compatibility", but
Apple was fine making the HEIF break and converting when sharing with
incompatible devices.

~~~
foolrush
It's not entirely about bit depth. Think about 1 bit of a given colour light,
it can turn on or off, but the bit depth doesn't tell us anything about the
colour of the light it is turning on or off.

Encoding in a larger volume colour space may require additional bit depth to
prevent posterization, but that's somewhat tangential. The larger issue is the
number of vendors and operating systems that can't get it right. Windows is
horrific, for example, with Android being at least as bad, as given by the
accounts in the comments here.

~~~
magicalist
> _It 's not entirely about bit depth_

Are you trying to post the same thing in every top-level thread to get your
comment seen? This has nothing to do with what I was asking, which was pretty
much "everything about gamut and display aside, what's the deal with bit
depth?". Hopefully you can see how your response is a distraction.

------
herf
There are not two but three cases for the red logo:

1\. You have no color management: you see the logo, but it is desaturated

2\. You have a working CMS and standard gamut: no logo

3\. You have a working CMS and wide gamut: logo is correct

#1 is true because the image has different values. #2 maps all the colors to
the monitor's gamut and so you can't see anything on a standard display.

------
hayksaakian
They say that an S10 should see it but my S10 with up to date Google Chrome
doesn't show the android logo in the red image.

Funny enough I can see it just fine on my Macbook Pro running the latest
Firefox stable.

~~~
PascalW
On my S10e it indeed doesn't work on Chrome, but it does work on Firefox.

------
saagarjha
Is it just me, or do the cloud images look different even without a wide color
gamut display (I have a MacBook Pro from 2015).

~~~
foolrush
Correct.

Haven't looked at the image too deeply, but this is likely the rendering
intent being set so something other than the colorimetric offerings, such as
Perceptual or Saturation. It could also be a poorly encoded image as well.

~~~
foolrush
Deeper inspection reveals that both are tagged sRGB, which indicates they are
for demonstrative purposes only.

------
sytelus
Looks like iPhone XS already has support for wide gamut. I can see Android
logo on red image on Safari as well as Chrome on XS but I can see it bit less
bright on sRGB monitors also.

[https://www.anandtech.com/show/13392/the-iphone-xs-xs-max-
re...](https://www.anandtech.com/show/13392/the-iphone-xs-xs-max-review-
unveiling-the-silicon-secrets/8)

~~~
czhiddy
Proper wide-gamut colorspace support has been around on macOS since 2015:
[https://webkit.org/blog/6682/improving-color-on-the-
web/](https://webkit.org/blog/6682/improving-color-on-the-web/)

------
qubitcoder
You can force enable wide color support in Chrome via a flag (assuming your
display supports wider gamuts, of course).

See chrome://flags/#force-color-profile

------
Tarragon
I'm amused that chrome on Win10 does not pass their simple red logo test.

~~~
curiousgal
Chrome vs Firefox on the Pixel 2
[https://i.imgur.com/kwirB6C.png](https://i.imgur.com/kwirB6C.png)

~~~
zawerf
I am confused about why I can see this screenshot since I am not on a wide
gamut monitor. Is firefox doing a weird conversion or the screenshotting tool?

My (probably flawed) understanding was that wide colors means there's more
than 8 bits. So stuff that would be say rgb(254.5, 0, 0) would now be
distinguishable from rgb(255, 0, 0)? If you screenshotted it back to 8 bit you
would just lose the extra bits and I expected to still see a red square? Or is
that not how it works?

~~~
TwoBit
Yes flawed. If you have a bitmap that's using a wide color space (e. g.
P3/OLED) and it has a green (0,1,0) pixel then that's referring to a color
than an LCD display cannot possibly show. 0,1,0 on an LCD is a less saturated
green. The OS changes color values to try to make things look as much as
expected as possible, and that results in color clipping. A screenshot saves
images as sRGB and so no remapping is done upon display.

------
rplst8
So this red Android logo works on my moto x4 running Pie in Firefox, but not
in Chrome. Uhhh.

~~~
fenwick67
Yeah my moto g4+ with Firefox shows the Android as well, heh

