Lollipop is here and one of its most important new features isn’t visible to users at all. It’s the all-new camera API, which opens up hardware features that were simply inaccessible to app developers until now.
One of the biggest features enabled by the new Camera API in Lollipop is support for raw image formats. Raw images are the closest thing we get to the full, uncompressed information output by a camera sensor. The typical JPEG file, in contrast, contains just a small portion of that information, in order to minimize file size.
Up until Lollipop, app developers only got access to JPEG images, even if the camera hardware could support raw formats. That drastically limited what apps could do with the image.
The introduction of raw support in Lollipop opens up a world of possibilities when it comes to camera apps, as well as the possibility to get better shots by editing raw images with a specialized tool.
A Taiwanese developer going by the handle PkmX created an experimental camera app that takes advantage of the new APIs and used it to capture a few samples in the DNG raw format, using a Nexus 5. He then edited some of the images with a desktop tool called RawTherapee and uploaded the samples to Imgur.
First, here’s the JPEG image taken by the Nexus 5 on auto exposure with PkmX’s app:
Here’s the JPEG image taken by the Nexus 5 on a tripod at ISO 100 and ½ second exposure time:
And here’s the image obtained by editing with RawTherapee the raw DNG file taken with PkmX’s camera app:
For comparison, here’s the image you’d normally be able to get using the Google Camera:
To be clear, to obtain the excellent result seen above, PkmX used a manual exposure setting and manual editing in a desktop app. Still, the difference between the DNG file and the “default” image taken with the Google Camera is striking. As PkmX put it, the edited DNG is the absolute best the Nexus 5 camera is capable of.
The Nexus 5 is known for its mediocre camera, but the good news is it could get much better once apps that use the new Camera API come out. Even if results won’t be as drastically improved as in PkmX’s samples above, the difference will probably still be visible in most situations.