Ryan Haines / Android Authority
TL;DR
- The next version of the Jetpack CameraX library will include support for capturing RAW photos.
- RAW photos are uncompressed and don’t have any processing applied to them, making them better for editing later on.
- Currently, only camera apps that use the Android Camera2 API can capture RAW photos.
Smartphone photography has come a long way, and while most people are happy with the default output from their smartphone cameras, there will always be some who want to spruce up their photos before sharing. Unfortunately, there’s only so much that photo editor apps for Android can do when you give them photos saved in the JPEG format. If you want more freedom in what you can edit, then you’ll need to switch to RAW photography. Many Android apps with camera functionality don’t support RAW photography, though, but that’s set to change thanks to an upcoming update to the Jetpack CameraX library.
You’re reading an Authority Insights story. Discover Authority Insights for more exclusive reports, app teardowns, leaks, and in-depth tech coverage you won’t find anywhere else.
If you aren’t aware, RAW photography involves saving the raw image data that comes straight from the camera without any added compression or processing. The benefit of shooting in RAW is that aspects like white balance, exposure, sharpness, and more can be adjusted in photo editing software later on. On the other hand, RAW image files can be dramatically larger than JPEG images, eating up precious storage space that many cheap budget phones don’t have a lot of. While JPEG compression is lossy, the end result usually isn’t noticeable by most people, especially when the compression level is low.
The data lost with JPEG mainly consists of high frequency textures/details.
Editing your photos takes time, requires some knowledge, and isn’t usually necessary in the first place, which is why most camera apps for Android don’t capture RAW photos by default. Most of them do support RAW photography, though you’ll need to enable it in settings. However, there are some apps with camera functionality that don’t yet support RAW photos — not because they don’t want to, but because they can’t.
Apps that use the Jetpack CameraX library instead of the Android Camera2 API are currently only able to save photos in the JPEG image format. This makes sense since the Jetpack CameraX library is aimed at apps that only need access to the camera for adjacent functionality, such as social media apps that want to let you take a photo to share with your friends. The Camera2 API, on the other hand, has long supported RAW image capture, as it’s the API that’s intended to be used by full-fledged camera apps.
Because Camera2 is a more complicated API than CameraX, many developers who don’t need advanced camera controls in their apps use CameraX instead. CameraX currently doesn’t support many features of Camera2, though Google has been working to bring more and more functionality over to CameraX. For example, Google brought Ultra HDR capture support to CameraX with version 1.4.0. And in the next release of CameraX, Google plans to add RAW capture support.
Version 1.5.0-alpha03 of CameraX was released last week, previewing what features will be added in the stable release of CameraX 1.5.0. With version 1.5.0, CameraX’s ImageCapture class will add two new output formats: OUTPUT_FORMAT_RAW
and OUTPUT_FORMAT_RAW_JPEG
. The former captures a single RAW image while the latter captures both a RAW and a JPEG image. RAW images are saved in the Adobe DNG format, which is one of the most widely used file formats for RAW images.
It’s interesting to see CameraX get support for RAW photography, especially since the library isn’t intended for apps that need advanced camera functionality. As more apps use CameraX, though, there’s undoubtedly going to be more demand on Google to add new functionality. Perhaps some developers convinced Google of the need for RAW image support in CameraX, though we don’t know which apps plan to use this. Still, this change will hopefully bring RAW capture support to even more third-party apps with built-in camera functionality.