Android P Developer Preview 4 is out, or Beta 3 as Google refers to it. With it comes the usual slurry of small app updates, some of which have little or no change while others come bearing some interesting fruit. The latest Google Camera update doesn't seem to include any live changes, but it does have hints of many new features to come, including the much-anticipated RAW support, a way to fix faces that were distorted by the wide-angle lens of your camera, an automatic framerate setting, and even a "shiny new feature" that might enable surround sound audio recordings.

Teardown

Disclaimer: Teardowns are based on evidence found inside of apks (Android's application package) and are necessarily speculative and usually based on incomplete information. It's possible that the guesses made here are wrong or inaccurate. Even when predictions are correct, there is always a chance that products could change or may be canceled. Much like rumors, nothing is certain until it's officially announced and released.

The features discussed below are probably not live yet, or may only be live for a small percentage of users. Unless stated otherwise, don't expect to see these features if you install the apk. All screenshots and images are real unless otherwise stated, and images are only altered to remove personal information.

Shooting in RAW+JPEG

Let's get it out of the way right now, we've heard this story before. Two full years ago, a teardown of Google Camera v3.2 discussed the likely addition of RAW support, but it never materialized. Actually, on a technicality, that's not entirely true; an unofficial modified version by developer B-S-G was released with RAW support, last year. Well, we're back again with the same story, but this time things are looking slightly more concrete.

When we looked at this the last time, RAW support was labeled 'experimental' and only had text for a single title and description. This time, there's still a setting, but no sign that it's experimental or intended just for developers. There is even "tutorial" text that explains RAW saves as a DNG file, suggests using a suitable photo editor that understands the format, and that shooting in RAW will consume more storage space.

Quote
<string name="pref_raw_output_control_title">RAW+JPEG control</string>
<string name="pref_raw_output_control_summary">Show manual control for RAW+JPEG vs. JPEG. When this setting is off, only JPEG is saved.</string>

<string name="raw_output_desc">RAW mode options</string>
<string name="raw_output_tutorial_title">RAW+JPEG</string>
<string name="raw_output_tutorial_body">RAW+JPEG saves a DNG and JPEG version of each image. Use a photo editor that supports DNG files to have more control over color and lighting. Enabling RAW+JPEG uses additional storage.</string>
<string name="raw_output_off_desc">JPEG only</string>
<string name="raw_output_on_desc">RAW+JPEG</string>

excerpt from /xml/camera_preferences.xml
<com.google.android.apps.camera.legacy.app.settings.ManagedSwitchPreference android:layout="@layout/preference_with_margin" android:title="@string/pref_raw_output_control_title" android:key="pref_camera_raw_output_option_available_key" android:summary="@string/pref_raw_output_control_summary" android:defaultValue="false"/>

It's possible the developers concluded it wasn't worth supporting RAW in the Google Camera app two years ago, or perhaps there were usability concerns associated with adding it–we've heard similar explanations like that regarding SD cards in the past. There's no denying that some users would turn on RAW, forget about it, and then get confused when they run out of space during the firework show at Disneyland.

Fixing wide-angle distortion on faces

Virtually all smartphone cameras are designed with a fairly wide-angle lens. If you're shooting pictures of people and they're even reasonably close to the center, they'll look pretty normal. However, if you start framing your shot with people near the edges, the lens will distort them so it looks like they've had an encounter with a funhouse mirror. Google is adding a feature that can fix this effect.

<string name="pref_acat_title">Correct wide-angle distortion on face</string>
<string name="pref_acat_summary">Adjust faces to look more natural when angle of view distorts them</string>

While photo editing software like Adobe Lightroom can correct for barrel distortion, the text in Google's Camera app is very specific about fixing distortion on faces. This leaves me wondering if the fixes are achieved through some seemingly magical algorithm like we've seen in Google Photos, or if it's sticking to the more conventional pixel-stretching approach we're used to.

Automatic framerate for video?

This is an interesting one, it looks like Google is adding an "auto" setting to its framerate selector for video. Right now, there are only two new lines with names that make it clear this is an automatic setting, but they contain "placeholder" text, so it seems this feature still isn't really named yet.

Quote
<string name="fps_desc_auto">placeholder</string>
<string name="fps_auto_desc">placeholder</string>

<string name="fps_desc">frames/sec</string>
<string name="fps_30_desc">30 frames per second</string>
<string name="fps_60_desc">60 frames per second</string>

Generally speaking, video framerates should be determined by the type of look you want from your video, or perhaps based on what you plan to do with the video after it is recorded. High framerates are useful if you plan to slow the footage down for greater impact, while slower framerates look more natural due to motion blur. Allowing the phone to make that decision could produce questionable results, but it might make sense for those without much photography knowledge. An automatic framerate might just allow the phone to pick a speed that will get the best exposure, especially in exceedingly bright or dark settings.

Shiny new features... Surround sound "IMAX" audio?

Who doesn't want some shiny new features? This is the question asked by a new set of strings. There's really no solid context from the text alone, it's just obvious that these are the lines shown to developers and testers when they have the option to turn on new shinies or stick with the boring defaults.

Quote
<string name="ext_mic_options_desc">Options</string>
<string name="ext_mic_on_desc">Use shiny new features</string>
<string name="ext_mic_off_desc">Use default</string>
<string name="ext_mic_on_acc_desc">Use shiny feature</string>
<string name="ext_mic_off_acc_desc">Use default</string>

The names of these lines give a little more context, inferring that they have something to do with the microphone. However, it's the decompiled code that confirms this and adds more information. It appears that turning on the shiny features is actually code for controlling two modes: IMAX_AUDIO and MICROPHONE.

In combination with some other clues, I get the sense that this feature will enable multi-channel audio recording when there is more than one microphone available. For those that don't know, many phones now include a second microphone, often for the purposes of noise cancelling while they're in speakerphone mode. It might not be very useful for many situations, but occasionally it can be helpful to have some sense of direction in videos, especially for sounds coming from off camera. 

Download

The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.

The app was not found in the store. :-(