The Nexus 5 camera was a huge disappointment, especially after comments from high-ranking Googler Vic Gundotra stating that “we are committed to making Nexus phones insanely great cameras. Just you wait and see.”
That was nine months ago. We waited and saw, and what showed up on the Nexus 5 wasn’t very good. There may be an explanation for this, though. According to commits in the public Android source code, which were first spotted by Josh Brown on Google+, Google is working on a new camera API for Android. Work on the new API started in December 2012, which would make it seem targeted for KitKat, but about a month before the new OS’s release, the API was pulled from Android’s framework code. The commit that removed the API from the release Android code is here, with the comment saying:
DO NOT MERGE: Hide new camera API. Not yet ready. Bug: 11141002
This commit was pushed on October 11, about a month before the release of KitKat. A month before release was probably “feature freeze” time, where work on new features stops and everyone focuses on fixing bugs in time for release. The camera revamp didn’t make it and was replaced with the original camera API.
The really good stuff is in the initial commit, which contains tons of documentation about the new camera setup. There’s a new API class called “Android.hardware.photography” (the current camera functionality lives under “android.hardware.camera”), and with the fancier name comes fancier capabilities:
Full-capability devices allow for per-frame control of capture hardware and post-processing parameters at high frame rates. They also provide output data at high resolution in uncompressed formats, in addition to compressed JPEG output.
The new camera API has a backward-compatibility mode for older devices, but “full-capability” devices now have access to a few new picture formats. The only new image format listed that isn’t present in Jelly Bean seems to be support for camera RAW:
General RAW camera sensor image format, usually representing a single-channel Bayer-mosaic image. Each pixel color sample is stored with 16 bits of precision.
The layout of the color mosaic, the maximum and minimum encoding values of the RAW pixel data, the color space of the image, and all other needed information to interpret a RAW sensor image must be queried from the {@link android.hardware.photography.CameraDevice} which produced the image.
Smartphone cameras normally output JPEG files, which are compressed, mostly finalized images. RAW is minimally compressed and unprocessed, so shooting in RAW gives the photographer much more flexibility after the picture is shot. Programs like Photoshop can do much more with a RAW file than with a JPEG.

Loading comments...