Blog

How RAW works on iOS

UPDATE 11/16/2018: Support for RAW has improved in iOS 12. The major difference is that the Photos App on iOS can now edit RAW images natively. That said, Photos will still show the embedded JPEG until you enter Edit, so you still don’t see the RAW most of the time on iOS. Also, on iOS 12, it is not possible to develop a RAW Photos extension for iOS, because extensions are always passed a JPEG. I have filed a bug against Apple (with a solution). Hopefully, they will fix that some time soon.


RAW has been (minimally) supported on iOS for a long time. You could import them directly onto an iPad for example. However, when you looked at the RAW on iPad, you could only see the embedded JPEG. Apple added support for RAW decoding in iOS 10, but despite that, most of the time, you are still looking at the embedded JPEG. In this post, I will describe what is really going on and how to make the most of your RAW files on iOS.

Embedded JPEGs:

The embedded JPEG is a camera-generated JPEG stored inside the RAW file. This JPEG uses the camera manufacturer’s algorithms and will look different from the actual RAW. Sometimes the difference is relatively subtle (color, noise reduction, or sharpness), but other times, the difference can be quite striking. For example, embedded JPEGs receive any “picture styles” set on the camera, so if you set your camera to “monochrome”, the embedded JPEG will be black and white, while the RAW will remain full color. In addition, many cameras do not produce full-size embedded JPEGs. Common sizes for small embedded JPEGs are: 640 x 480, 1920 x 1080 (2 megapixels), and quarter-resolution (e.g., for a 20 megapixel camera, the JPEG is 5 megapixels). It’s hard to judge an image when you are only looking at 10-25% of the pixel data!

Here is a link to a RAW file that demonstrates the problems with embedded JPEGs. Import it and view it in Photos.app. This is a 20 megapixel RAW from a new Panasonic G85. It makes a 1920×1440 embedded JPEG. The embedded is black and white, because I set the picture style to Monochrome. RAW Image

Apple RAW Camera added in iOS 10:

Apple added support for viewing and editing (and capturing) RAW images in iOS 10. However, applications must opt-in to RAW (for backward compatibility reasons). The built-in Photos app does not opt-in. Nor does the built-in Camera app. So by default, you cannot capture, view, or edit RAWs on iOS, even though Apple’s RAW Camera software is capable of decoding hundreds of RAW camera formats. On the plus side, RAW images get synched over iCloud, and sent properly via AirDrop.

Another confusing aspect of RAW on iOS:

As mentioned earlier, most of the time you are looking at the embedded JPEG. To preserve the illusion for apps that don’t support RAWs, Apple APIs do not return correct information about the RAW. For example, if an app requests the pixel dimensions of a RAW image through the standard ImageIO framework, Apple’s code will lie and return the size of the embedded JPEG. To get the correct size, one needs to use Apple’s RAW Camera code. This is not true on the Mac. The same ImageIO call on the Mac returns the RAW’s image size, as expected.

Working with RAW:

If you are going to import on iOS, then you will definitely want a RAW editor (like RAW Power) that natively understands RAWs. If you edit an image in the Photos library (using any app), then you will end up with two images: the original RAW and a JPEG that is the result of the editing process. iOS will also store the adjustment data so that you can edit non-destructively. Though there are two images, you can only see one at a time.

If you want to back up your data using something like Dropbox, then you will probably want to back up the RAW first. Then edit and back up the JPEG. If you are using iCloud Photo Library, then both images will be synched to the cloud for you.

If you have questions about RAW, post them here. I will update the post or respond to your comments below.

UPDATE (2/14/18):

RAW + JPEG:

When shooting RAW + JPEG, both iOS and macOS will combine the pair of images into a single “asset.” On iOS, the JPEG is always the image shown and edited. On macOS, the JPEG is the image shown by default, but you can switch the display to show the RAW instead. Whichever image you are displaying on macOS is the one you will edit. RAW Power for iOS shows the JPEG by default also, but if you enter Edit, it will show and edit the RAW.


RAW Power Plugin for Lightroom Now Available

I have added a much requested feature to RAW Power — Lightroom support. There is now a plugin you can download from the website ( RAW Power Plugin for Lightroom), which you use with the just-released RAW Power 1.4.

There is a short video that shows how it works as well: ( https://youtu.be/4suoyktLxqw )

The plugin support non-destructive editing (including roundtrip editing between LR and RAW Power).

It works with Lightroom Classic and earlier (not the [feature-limited] Lightroom CC 2017).

Try it out and let me know what you think!


On Plug-ins

I spent some time the last few days playing around with an Aperture Plug-in. My idea was to create a plug-in that could address a big problem for those of us still using Aperture — lack of camera support. The macOS blocks new camera support from Aperture, so the two new cameras I bought recently get the dreaded black “unsupported image” square when I import their images.

I figured that if I could write a plug-in that could decode images (using the RAW Power engine), I could output TIFFs back to Aperture, and all would be well. Once that worked, I could make something more sophisticated that could allow editing of images by invoking the RAW Power app. Sounds good.

After some rummaging, I was able to find a download link to the Aperture SDK, and was actually able to build and install a sample plug-in. Kind of amazing, really. I started getting excited about the prospects and then a bucket of cold water got dumped on my head: if an image is unsupported, Aperture refuses to send it to a plugin. A bunch of work down the drain.

Then I tried the other kind of Aperture plug-in: the export plugin. A bucket of iced tea this time. Aperture sends the unsupported file (yay!), but shortly after that, Aperture throws an exception and crashes (no!). The crash only happens with unsupported images and I can’t catch or block the exception. Close, but another dead end.

This brings up a question: is there any reason to write a RAW Power plug-in for Aperture that works for supported images? I can’t think of one, though I have gotten requests for it many times. Maybe those requests are for camera support, which won’t work.

If not Aperture, would plug-ins be truly useful for Lightroom, or maybe Luminar / Photoshop / Affinity? If you have an opinion, please comment below.

Happy New Year!


RAW Power for iOS 1.0.1 Release Notes

 

  • Information about dragging the Inspector to the other side of the screen

  • Larger tap targets for Adjustment titles (to collapse them)

  • Handle some cases of images that cannot be decoded

  • Fix bug with audio playback when the application is first launched

  • Default for sorting images in albums is “newest first”

  • Showing a downloading indicator when downloading the full-size image in 1-up.

  • Fix bug with display of Aperture value

  • Bigger adjustment slider controls

  • Histogram in portrait is now translucent.

  • Cleaned up artwork in various parts of the app

  • Swapped order of Sort arrow and Undo in the Grid


RAW Power for Mac – Trial Version Now Available

I have just posted a trial version of RAW Power for Mac. There is no time limit.

Like the App Store version, it requires macOS Sierra or later.

 

It is fully-featured version, with a few exceptions:

  • No Photos Extension (having multiple extensions for the same app can confuse macOS)

  • Cannot save changes

  • Exports are watermarked

 

The trial version is here