The last time Hackerfall tried to access this page, it returned a not found error. A cached version of the page is below, or click here to continue anyway

Camera2 API on MWC 2015 devices: Galaxy S6, HTC One M9 and more Lollipop devices – SpectraStudy

Since Google announced Android 5 Lollipop at Google I/O 2014, mobile photography and video enthusiasts are hoping for a sizableupgrade of their smartphone’s camera capabilities.


Thehistoric Android Camera programming interface was designed before the very first OS release Astro and replicates the logic ofa point-and-shoot camera. Except that instead of human fingerspressing buttons, apps were doing so programmatically.

This firstdesign, while extensible in features via a liberal text key-value interface provedincreasingly inefficient for the evolving needs of camera applications. One revolution ongoing is theadvent of computational photography which is often based on the capture of multiple frames. You likely heard and used one of thecommon applications like HDR (High Dynamic Range), superresolution, both joined, low-light mode, eraser, best face. Android also started powering connected cameras with full-fledged variable aperture optical zooms (ex: Samsung Galaxy Camera) or large sensorsseen before on DSLR-size bridges (ex: Panasonic CM1 with a 1″ sensor like Sony RX10).

While Android Camera up to KitKat was too limited, we’ve seen manufacturers extending capabilities on each generation extensively but solely via undocumented, proprietary or even obfuscated APIs, allowing access to advanced features only to their own Camera application.

Google’snew approach

For Lollipop, Google decided to redesign from scratch a new Camera API suitable for current needs, and named that Camera2. The logic is entirely different: the camera system becomes a pipeline you feed with requests and give you in output individual frames in one or several buffers of your choice.

Two videos from Google I/O 2014 and a DevBytes explain this API.

Some of themain benefits are:

With Camera2 API in Android 5.0 Lollipoprelease, Google also declaredthe earlier Camera API deprecated, a sign that both are not meant to cohabit: the new one replace the old one now on its way out.

Since Lollipop announcement, Google released Android 5.0 updates for multiple Nexus mobile devices: Nexus 5, Nexus 7 2012 & 2013, Nexus 4, Nexus 10. Nexus 9 and Nexus 6 also came out with Lollipop out of the box. The Nexus 5 served as reference device for Camera2 full implementation, and Nexus 7 2013 as legacy.

Full, Limited and Legacy are three class of Camera2 supported devices. Because Camera2 is such a departure fromanything available before and the new API implementation is mandatory, Google had to compromise and add a lot offlexibility in how much capabilities manufacturers actually expose.

If Google required every manufacturer to implement a complete set of manual exposure controls as well as custom image processing capabilities, it is likely that Lollipop deployment would have become the slowest in Android history.

This is the reason Camera2 has three support levels (from Android developer reference)

Camera2 Supported Hardware Levels

FULL: all that’s required but not everything

Note that FULL does notrequire RAW capture nor valid metadata andcalibration profile for the DNG writer.

LIMITED: partial support, your mileage may vary

Cameras describing themselves as limited have some of the Camera2 capabilitiesbut not all of them, and not all the ones required for the FULLsupported hardware level either. The reason would be either because the camera module or its ImageSignal Processor lacks some of the required capabilities, or because the manufacturer didn’t implement them so they become available in Camera2 API.

LEGACY: a wrapper around the old Camera API

Legacy Camera2 means only really the historic Camera API isimplemented. But for good measure, Lollipop adds a layer over it so modern camera applications do not have to implement two separate ways to controlthe imaging systems.

Each camera (usually back and front) has its own capability set. For instance, Nexus 5 hardware support level is FULL for the back and LIMITEDfor the front.

Enter Mobile World Congress 2015

A number of new Android devices have beenintroduced and demonstrated duringBarcelona’s MWC 2015, making it the perfect opportunity to evaluatepopular smartphone manufacturer’s approach of Google’s updated platform offering.

For the occasion, we wrote a specialized tool builtto dump for analysis nearly everything that makes Camera2 API in Android 5.0.1 API level 21.

We have some good and some bad news for you:

The good

Major new Lollipopdevices offer manual controls.

Highlighted by Samsung and HTC during their presentations, this year’s most anticipated flagships offer manual control for exposure compensation, ISO sensitivity, white balance, and scene mode.

Samsung Galaxy S6 and S6 Edge offers manual focus and adds adjustments for color preset or custom profiles on Color temperature, Tint, Contrast, Saturation, Highlight and Shadows. You can save thesesettingsin two custom presets, which is a nice touch to offer hardware grading option.

HTC One M9 offers shutter speed and adds adjustments for contrast, saturation and sharpness.

The bad

None export critical advanced camera capabilities in Camera2 API.

Devices supporting FULL

None identified.

Devices supporting LIMITED

Samsung Galaxy S6 &S6 Edge:

Galaxy S6 and S6 Edge Camera app Pro mode, demonstrated by Erica Griffin. Manual controls and advanced color processing capabilities are unavailable via Camera2 API

Running Samsung’s own Exynos silicon, the new Galaxy line impressed during its presentation event showcasing strong imaging capabilities.

Real-time HDR, F/1.9 optics, OIS on the back and uses of computational photographypromise to bringthemanufacturer’s hardware andapplicative solution to higher image quality than the competition, while using the same back sensor as its Galaxy Note 4 older brother.

The manufacturer’s camera application offers a limited (but efficient ona smartphone) set of features ina Pro mode as described above. Notably, RAW DNG capture and shutter speed arelacking. These omissions couldbe remedied fully by third-party applications using Camera2 API.

A fair comment is that the Camera2 API implementation on the devices demonstrated, running an early 5.0.2 firmware (G920F and G925F codeXXUA1AMW5) raises as many questions as it answers. Back and Front cameras do not implement FULL but only a small subset hence their LIMITED qualification.

About manual capabilities and RAW support, you might have noticed that some publications went ahead and published early highly optimistic information, which was broughtto our attention on social media (from this source). While we can’t explain fully why GD Software’s Manual Camera Compatibility application reported at that time that all of Manual Focus, Manual White Balance, Manual ISO, Manual Shutter Speed, RAW support are available, inconsistencies in the Galaxy S6 Camera2 API output might be a cause.

It appears to have lead into error Android Headlinesand probably others, rejoicing too early about Samsung’s latest flagship compatibility.

An area of inconsistency is RAW support. It appears Samsung engineersstarted some work here, but could not finish for theMWC 2015 firmware. Allcolor profile for each illuminantarefilled with a 3×3 identity matrix instead of real color space transformationvalues; both illuminants being set to daylight. Both back and front camerasensors black levels values are1000, white level to 4000 which islikely arbitrary numbers.

One thing we can be certain is that in case RAW capture wasworking, the DNG files written via Android’s new DngCreatorwould be, in the current state, unusable without some serious calibration work and hacking. We worked on an additional RAW DNG analysis capture analysis toolduring the MWC to attempt evaluating the Galaxy S6 and S6 Edge, but it only succeeded to crash, leaving thesmartphone and its Camera driver in an unstable state for a few seconds.

An early conclusion on the most anticipated device announced in Barcelona is that more of Samsung’s camera application features could be made available in Camera2 API, which might or might not happen. RAW capture might become a possibility but is not functioningat the moment – before commercialization or even sample units aresent to reviewers.

Devices supporting LEGACY

HTC One M9

Sam Pullen demonstrates in video the HTC One M9 camera features and settings. Image adjustments are missing entirely in M9 Camera2 API.

Huge disappointment for the Taiwanese latest flagship that doesn’t export any of its advanced imaging capabilities either for the back or front camera shooters. Full resolution burst capture is not possible on the back camera as non-stalling output formats are limited to 1920×1088 resolution. At 20 Mpix (5376×3752) and in JPEG, the maximum framerate expected is only 0.61 fps.

The front camera is comparable and will output up to 2.04 fps at its full sensor resolution, 4MPix (2688×1520) in JPEG.

Both offer a typical choice of scene mode, effects, white balance presets or auto, up to 10 auto exposure regions, exposure compensation of +-2 EV in +-12 steps, auto exposure and auto white balance lock.

Legacy also means no RAW DNG capture. At least not via Camera2 API.

Additionalfeatures missing through LEGACY Camera2 as a result are 4K 30fps, 1080p60 or slow motion video capture.

ASUS Zenfone 2

Comparably to the One M9, the otherTaiwanese flagship running on Intel platform instead doesn’t offer any advanced capability via Camera2 API but only a subset of its real capabilities.

Maximum burst rate for the back camera is 0.91 fps at full 13 Mpix (4096×3072) resolution JPEG, and on the front: 1.82 fps at full 5 Mpix (2560×1920) resolution JPEG.

Available:a selection of standard modes, effects, white balance presets, +-2 EV exposure compensation in +-6 steps, 1auto exposure region, 9 auto focusregions with auto exposure and auto white balance lock.

Lenovo VIBE Shot

The Chinese maker original device attracted the attention of MWC’s audience thanks to its fully featured camera with optically stabilized zoom optics, as demonstrated by PhoneArena.

Unfortunately, despite the device runs Lollipop 5.0.2 and its photo-centric naturenone of the manual controls are made available in Camera2 API.

Maximum burst rate for the back camera is 0.75 fps at full 16 Mpix (5328×2997) resolution JPEG, and on the front: 1.30fps at full 8Mpix (3264×2448) resolution JPEG.

Available:a selection of standard modes, effects, white balance presets, +-2 EV exposure compensation in +-12 steps, up to 5 auto exposure regions with auto exposure and auto white balance lock.

Sony Xperia M4 Aqua

As Sony’s first smartphone running Lollipop out of the box, offers a preview of the Japanese maker implementation of Camera2 API. Let’s note that Sony representative heavily insisted on the fact that their Lollipop 5.0 build was not final and not representative of the final product.

Hopefully it means that Sony is still working on the imaging programming interface, because the one dumped does not offer more functionality than the legacyCamera API.

Maximum burst rate for the back camera is 0.90 fps at full 13 Mpix JPEG(4128×3096) resolution JPEG, and on the front: 1.79 fps at full 5 Mpix (2592×1944) resolution JPEG.

Available:a selection of standard modes, effects, white balance presets, +-2 EV exposure compensation in +-12 steps, up to 5 auto exposure regions with auto exposure and auto white balance lock.

GiONEE Elife S7

Thisimpressivelythin smartphone running on MediaTek’s Quad Cortex A53 64bit cores gives us some elementsto speculate onthe Taiwanese SoC giant ISP drivers.

Unfortunately this is also a Legacy Camera2 implementation that we can find here, devoid of advanced manual controls.

Maximum burst rate for the back camera is 0.87fps at full 13 Mpix (4224×3168) resolution JPEG, and on the front: 1.30 fps at full 5 Mpix (2592×1944) JPEG.

Available:a selection of standard modes, effects, white balance presets, +-3 EV exposure compensation in +-3 steps, up to 9auto exposure regions with auto exposure and auto white balance lock.


IfGoogle made an effort to upgrade the camera capabilities oftheir Nexus line smartphones, it seems that this interest couldn’treach yet other manufacturers, whichlatest and greatest mostly ignore Android revamped API key aspects.

Today, we can find some elements explaining the current state of things like this comment from Steve Kondik of Cyanogen found on Google+:

Time only will tell if Camera2 API will ever gain traction outside of Google’s reference devices. Hopefully, silicon solution providers will find advantages or be lobbied andoffer FULL Camera2 implementations to their partners.

Meanwhile, make sure to read thisfull article keeping in mind that we based our analysis shared here on data extracted exceptionally early in the release cycle of each device discussed.

Continue reading on