This article is targeted at advanced iPhone 5, 5c and 5s users using iOS7, video shooters, programmers coding video apps and Apple's engineers in charge of bugfixing.
Executive Summary:
Apple has done it! iOS7 indeed offers lossless zooming while shooting video on the iPhone 5, 5c and 5s. Some points to keep in mind:
- the stock Camera client does use lossless zooming, delivering the best possible image quality over the lossless limit. Under the lossless limit, however, its image quality is somewhat worse than the maximum achievable. Hope this bug is soon fixed by Apple. Before that, however, prefer it to anything AppStore-based, unless you're a developer and can, after developing further for your needs, deploy my proof-of-concept video recorder. The latter delivers definitely better IQ in the lossless zone.
- the current, non-iOS7-updated versions of the tested AppStore apps (FiLMiC Pro, KitCam) do NOT support lossless zooming. Should you have a lossless zooming-capable iPhone, for the time being, in no way use any third party app if you extensively zoom! Use the stock Camera app instead. Or, if you know how to program, feel free to modify / further develop my sources, which give you the best possible image quality.
Full article:
You may have heard the built-in, stock Camera app of the iPhone is also capable of zooming. All you need to do is doing a “pinch” before / while recording. A zoom slider will be, then, displayed, which you can slide to set any zoom level between 1x and 3x. The following screenshot shows it being at 3x:
(annotated by a red rectangle)
(Note: as with all my articles, you can access the full, quality-wise non-compromised version of the in-article thumbnails by clicking it and checking out the original at Flickr. As my articles are full of in-line images but, as I write on image quality-specific questions, I do need to provide you with full-quality and -size images as well – ones with sizes far exceeding the page width here –, this is the best approach.)
You may also have heard (article 1, 2) of contradicting information on iOS7 adding not only zoom, but also doing it in a(n almost) lossless way because of oversampling. This has, so far, been a territory of Nokia's high-end “PureView” handsets only (the 808, the 1020 etc.) With iOS7, iPhone 5's (and newer models) can at least in this respect play catch-up with Nokia's (otherwise, camera-wise, on the whole significantly better) cameraphone models. (The iPhone 4 and 4S, while they can be updated to iOS7 (the pre-requisite of lossless zooming), are not capable of lossless zooming. That is, this article doesn't apply to them.)
Well, I have some good news for you. It DOES work when properly(!) programmed. And for the bad news: the built-in, stock Camera app still doesn't properly support this feature (assuming you only zoom moderately and not over the lossless limit), not even as late as iOS 7.0.2, that is, more than two weeks after the first official, final iOS7 release. In addition, the most famous third-party AppStore apps with support for shooting video (FiLMiC Pro and KitCam) capable of zooming and I've tested (with FiLMiC Pro, hopefully only still), as they aren't (and, with KitCam, won't be) updated with the new iOS7 features, don't deliver quality image when zoomed in, either. The latter apps, as of 07/Oct, are not recommended at all for zoomed-in shooting.
With this article, I hope I can make both Apple fix this bug in their stock Camera app and application programmers implement proper zoom functionality too in their AppStore apps. To help the latter, I provide the full sources of a proof-of-concept, simple-but-working video recorder recording proper, lossless footage. After all, I also work as an iOS / Android lecturer loving sharing his programming knowledge with others. (Incidentally, HERE are two shots of my teaching Android programming to relatives' children even during my Summer holiday. The slides' language are, as you may have guessed, Finnish.)
Why do you need to know all this?
iPhones, apart from the lack of stereo audio recording, optical image stabilization (OIS) and wide field-of-view lens (all three supported by other flagships like the LG G2 running Android or the Nokia 92x/1020 running Windows Phone 8), produce really decent video footage under ideal circumstances. Actually, if you shoot on a tripod (where the lack of OIS doesn't have any detrimental effect on the image quality), you can easily have significantly(!) better image quality than the above-mentioned, high-end LG G2. Similarly, all iPhones starting with the iPhone 4 produce generally much better-detailed footage than most dedicated point-and-shoot cameras. They can, in video quality, easily beat even large-sensor DSLR's or ILC cameras because there's no aliasing or, unless you zoom in, moire in the image (unlike in the image of most large-sensor cameras). Of course, a large-sensor cameras will always have better dynamic range and less noise; that is, you'll only want to prefer the iPhone in absolutely ideal circumstances (no vast differences in lighting requiring a sensor with significantly better dynamic range; no low-light shooting etc.)
Also, there can be cases when you won't have any other camera with you. Recently, I have travelled to a conference – with my iOS7 (beta) iPhone 5 (and, just to be on the safe side, a tripod) only. It was there that I decided to record the entire conference on video. With knowing the limitations and range of the lossless zoom, I had much more liberty in placing my iPhone. As I could use a zoom up to 1.45x, I could place the phone a bit more far away from the speaker, knowing there will be almost no image quality degradation. Without lossless zoom, I would have had to place the camera significantly closer to the speaker.
This is what 1.45x zoom is capable of, framing liberty-wise, assuming the same camera & subject locations. When not zoomed in at all, the subject only fills part of the screen (and the output frame):
and this is after zooming in to the maximum possible lossless zoom level:
(Both screenshots show the stock Camera app, with its zoom slider visible so that you can also see the current zoom factor.)
As you can see, with all iPhone models starting with the 5, even in the default 1080p there is some way for zooming without sacrificing any quality (or having an optical zoom, of course). In no way as large as with Nokia's 41 Mpixel cameraphones, but still more than nothing, nonetheless. In addition, the lossless zoom helps a LOT with zoom factors over the 1.4545x limit - as we'll see when comparing the image quality acquirable with 3x zoom using both the partly lossless (new) and the fully lossy (old) approach.
How should it work?
If you read the above-linked articles on iOS7's lossless zoom and/or have read for example the excellent comparison of the effective resolution at different zoom levels of the Nokia 808 (the first cameraphone to have true lossless zoom) HERE, at the bottom of the page, you'll know lossless isn't really lossless. Oversampling will always(!) result in better pixel-level detail and less moire / aliasing. The quality deterioration, however, will still be much-much lower than with traditional, digital zooming - as we'll promptly see.
Let's see how this all works! Let me present you with three ISO 12233 resolution chart (reschart for short) shots. (The inline images are crops. You'll want to check out the original, full-resolution ones instead. Please consult my earlier articles - for example, THIS - on how these reschart shots should be evaluated.)
Let's start with 720p video framegrabs as they offer a whopping 2.18x (almost-)lossless zoom. Now, we'll see the vast quality improvement lossless zoom provides us! (Note that, for an introduction, I've chosen 720p over 1080p as it much more readily presents the vast quality difference between lossless and lossy zoom as it can zoom in up to 2.18x, while the default 1080p mode can only zoom up to 1.4545x losslessly. Later on, I'll also present lossless 1080p zoomed framegrabs.)
Here's a 720p framegrab crop (again, click the thumbnail for the full ISO 12233 chart shot!) showing the effective resolution of the recorded footage without zooming in at all:
Note: in these crops, as with my previous, camera-related articles, I used a red line to denote the point after which, towards higher resolutions, the horizontal lines can't reliably be counted any more. (There are nine such lines on the right. If, at a given position, you can still easily count them, then, that resolution is still truly rendered by the camera.) For example, in the above crop, it's exactly at 7.2 because 7.2 (720 lines) is the Nyquist threshold or 720p video modes and all iPhones are capable of recording that much of true detail when not zoomed in.
Now, let's take a look at a framegrab from a video shot at the (for 720p) maximum 2.18x lossless zoom:
There is significantly more color moire in the image (which is pretty common with such dynamic oversampling-based zoom methods) but, otherwise, the nine lines on the right can still be easily counted at even 700 lines or resolution. With traditional, lossy digital zoom, the value would be less(!) than half (after all, the zoom factor is more than two) of this.
Now, let's see how the effective resolution drops and the image quality becomes worse when entering the already-lossy zoom range, which, with 720p, is over 2.18x. Take a look at the same resolution chart with 3x zoom:
Ouch! While the zoom factor (0.82) between the previous 2.18 and the current 3 is significantly lower than between the first two (1.18), the difference in image quality is staggering. The resolution dropped a lot; now, the nine lines are absolutely uncountable on the right and can only be reliably counted on the left up to around 480 lines of resolution. (See the red annotation, which is at around the 4.8 mark.) That's a HUGE drop in resolution – much-much more than between the first two images!
We'll soon see the same setup with 1080p (the native recording format of all iPhones starting with the 4S). First, however, let me introduce the test setup – and my zooming app I've written specifically for this article.
Test setup
I've used a (with a specialized video LED reflector) well-lit ISO 12233 resolution chart printed in A4. (Being very well-lit is very important so that the camera can record at base ISO and won't introduce detail smearing because of noise reduction.) I've continuously moved the iPhone, fastened to a pro, expensive (Manfrotto) tripod, to a more far position when zooming in:
When testing third-party apps where it's not possible to zoom right to the end of the lossless zoom range, I started my camera client (see below), set it to either the maximum lossless zoom factor with a single touch on the “1.4x” button, carefully positioned the tripod and, then, switched to the to-be-tested app and zoomed with its controls until I got the entire reschart properly framed. This way, I could be absolutely sure I used exactly the same zoom ratios in all the tested apps.
Note that I also checked for the electronic image stabilization (EIS for short) of each app. With FiLMiC Pro, it's disabled by default (and can be enabled); with the other apps (including the stock Camera client), it's always-on. With the latter, before I positioned the tripod by moving it closer to the reschart / more far away from it, I enabled the “EIS” switch in my video recorder app so that I can account for the different field-of-view when EIS is enabled.
My application
As has already been stated, I've written an app specifically for the purposes of this article: to reliably test whether the iOS7 zoom is indeed lossless, and to switch between zoom levels and en/disabled EIS state as easily as possible.
It's a really simple app (I didn't bother implementing for example touch-to-focus, GUI rotation or even exporting to the Camera Roll to keep the code as simple as possible) but can be used for even true video shooting if you need lossless zoom now. It's available as an Xcode project HERE. If you don't know how it should be compiled and deployed on your own iPhone, ask a friend. There are iOS a lot of programmers – you may also know one that you can quickly give your iPhone to for a quick installation. Needless to say, it's a source(-only) distribution – feel free to examine the code.
Here's the main interface:
Let's start with the upper left corner and introduce the controls clockwise.
The “Start” button in the upper left corner (annotated by a green rectangle) starts video recording. While it's recording, the title changes to “Stop”. Tap the latter to stop recording.
The “1x 1.4x 3x Max” control (annotated by a red rectangle) sets the zoom level. It can be done any time, even during recording. 1x doesn't use any zoom; 1.4x uses the maximum available lossless zoom (1.4545454545x for 1080p, 2.18x for 720p etc.); 3x zooms in three-fold and, finally, “Max” zooms in as much as possible. With 1080p, you can zoom up to 108 times (programmers: the value of activeFormat.videoMaxZoomFactor). (Of course, there isn't much point in zooming in THAT much. No wonder the stock Camera client tops up at 3x zoom and third-party AppStore apps don't go over 5-6x zoom either.)
At the bottom of the screen, the pink rectangle encloses shows the zoom currently used. In the screenshot above, it shows "1.454545" because I've, beforehand, tapped the 1.4x button (see above) to zoom in to the maximal lossless zoom level.
The back rectangle has an “IS:” label and a switch. With the latter, you can quickly en/disable EIS, even (as with the zoom level) during recording. Finally, the slider at the bottom (annotated by a blue rectangle) dynamically zooms between 1x and 3x, should you need continuous, arbitrary zooming.
Below, I use section numbering to denote a section being a subsection of another one. Otherwise, the article would be a mess. This also means you'll be able to easily skip entire sections. For example, if you aren't interested in the question of “should I always disable Image Stabilization”, just skip the entire section 1 straight to Section 2, where I explain what you can expect of currently available camera apps, starting with the stock Camera app.
(contd. below)
Executive Summary:
Apple has done it! iOS7 indeed offers lossless zooming while shooting video on the iPhone 5, 5c and 5s. Some points to keep in mind:
- the stock Camera client does use lossless zooming, delivering the best possible image quality over the lossless limit. Under the lossless limit, however, its image quality is somewhat worse than the maximum achievable. Hope this bug is soon fixed by Apple. Before that, however, prefer it to anything AppStore-based, unless you're a developer and can, after developing further for your needs, deploy my proof-of-concept video recorder. The latter delivers definitely better IQ in the lossless zone.
- the current, non-iOS7-updated versions of the tested AppStore apps (FiLMiC Pro, KitCam) do NOT support lossless zooming. Should you have a lossless zooming-capable iPhone, for the time being, in no way use any third party app if you extensively zoom! Use the stock Camera app instead. Or, if you know how to program, feel free to modify / further develop my sources, which give you the best possible image quality.
Full article:
You may have heard the built-in, stock Camera app of the iPhone is also capable of zooming. All you need to do is doing a “pinch” before / while recording. A zoom slider will be, then, displayed, which you can slide to set any zoom level between 1x and 3x. The following screenshot shows it being at 3x:

(annotated by a red rectangle)
(Note: as with all my articles, you can access the full, quality-wise non-compromised version of the in-article thumbnails by clicking it and checking out the original at Flickr. As my articles are full of in-line images but, as I write on image quality-specific questions, I do need to provide you with full-quality and -size images as well – ones with sizes far exceeding the page width here –, this is the best approach.)
You may also have heard (article 1, 2) of contradicting information on iOS7 adding not only zoom, but also doing it in a(n almost) lossless way because of oversampling. This has, so far, been a territory of Nokia's high-end “PureView” handsets only (the 808, the 1020 etc.) With iOS7, iPhone 5's (and newer models) can at least in this respect play catch-up with Nokia's (otherwise, camera-wise, on the whole significantly better) cameraphone models. (The iPhone 4 and 4S, while they can be updated to iOS7 (the pre-requisite of lossless zooming), are not capable of lossless zooming. That is, this article doesn't apply to them.)
Well, I have some good news for you. It DOES work when properly(!) programmed. And for the bad news: the built-in, stock Camera app still doesn't properly support this feature (assuming you only zoom moderately and not over the lossless limit), not even as late as iOS 7.0.2, that is, more than two weeks after the first official, final iOS7 release. In addition, the most famous third-party AppStore apps with support for shooting video (FiLMiC Pro and KitCam) capable of zooming and I've tested (with FiLMiC Pro, hopefully only still), as they aren't (and, with KitCam, won't be) updated with the new iOS7 features, don't deliver quality image when zoomed in, either. The latter apps, as of 07/Oct, are not recommended at all for zoomed-in shooting.
With this article, I hope I can make both Apple fix this bug in their stock Camera app and application programmers implement proper zoom functionality too in their AppStore apps. To help the latter, I provide the full sources of a proof-of-concept, simple-but-working video recorder recording proper, lossless footage. After all, I also work as an iOS / Android lecturer loving sharing his programming knowledge with others. (Incidentally, HERE are two shots of my teaching Android programming to relatives' children even during my Summer holiday. The slides' language are, as you may have guessed, Finnish.)
Why do you need to know all this?
iPhones, apart from the lack of stereo audio recording, optical image stabilization (OIS) and wide field-of-view lens (all three supported by other flagships like the LG G2 running Android or the Nokia 92x/1020 running Windows Phone 8), produce really decent video footage under ideal circumstances. Actually, if you shoot on a tripod (where the lack of OIS doesn't have any detrimental effect on the image quality), you can easily have significantly(!) better image quality than the above-mentioned, high-end LG G2. Similarly, all iPhones starting with the iPhone 4 produce generally much better-detailed footage than most dedicated point-and-shoot cameras. They can, in video quality, easily beat even large-sensor DSLR's or ILC cameras because there's no aliasing or, unless you zoom in, moire in the image (unlike in the image of most large-sensor cameras). Of course, a large-sensor cameras will always have better dynamic range and less noise; that is, you'll only want to prefer the iPhone in absolutely ideal circumstances (no vast differences in lighting requiring a sensor with significantly better dynamic range; no low-light shooting etc.)
Also, there can be cases when you won't have any other camera with you. Recently, I have travelled to a conference – with my iOS7 (beta) iPhone 5 (and, just to be on the safe side, a tripod) only. It was there that I decided to record the entire conference on video. With knowing the limitations and range of the lossless zoom, I had much more liberty in placing my iPhone. As I could use a zoom up to 1.45x, I could place the phone a bit more far away from the speaker, knowing there will be almost no image quality degradation. Without lossless zoom, I would have had to place the camera significantly closer to the speaker.
This is what 1.45x zoom is capable of, framing liberty-wise, assuming the same camera & subject locations. When not zoomed in at all, the subject only fills part of the screen (and the output frame):

and this is after zooming in to the maximum possible lossless zoom level:

(Both screenshots show the stock Camera app, with its zoom slider visible so that you can also see the current zoom factor.)
As you can see, with all iPhone models starting with the 5, even in the default 1080p there is some way for zooming without sacrificing any quality (or having an optical zoom, of course). In no way as large as with Nokia's 41 Mpixel cameraphones, but still more than nothing, nonetheless. In addition, the lossless zoom helps a LOT with zoom factors over the 1.4545x limit - as we'll see when comparing the image quality acquirable with 3x zoom using both the partly lossless (new) and the fully lossy (old) approach.
How should it work?
If you read the above-linked articles on iOS7's lossless zoom and/or have read for example the excellent comparison of the effective resolution at different zoom levels of the Nokia 808 (the first cameraphone to have true lossless zoom) HERE, at the bottom of the page, you'll know lossless isn't really lossless. Oversampling will always(!) result in better pixel-level detail and less moire / aliasing. The quality deterioration, however, will still be much-much lower than with traditional, digital zooming - as we'll promptly see.
Let's see how this all works! Let me present you with three ISO 12233 resolution chart (reschart for short) shots. (The inline images are crops. You'll want to check out the original, full-resolution ones instead. Please consult my earlier articles - for example, THIS - on how these reschart shots should be evaluated.)
Let's start with 720p video framegrabs as they offer a whopping 2.18x (almost-)lossless zoom. Now, we'll see the vast quality improvement lossless zoom provides us! (Note that, for an introduction, I've chosen 720p over 1080p as it much more readily presents the vast quality difference between lossless and lossy zoom as it can zoom in up to 2.18x, while the default 1080p mode can only zoom up to 1.4545x losslessly. Later on, I'll also present lossless 1080p zoomed framegrabs.)
Here's a 720p framegrab crop (again, click the thumbnail for the full ISO 12233 chart shot!) showing the effective resolution of the recorded footage without zooming in at all:

Note: in these crops, as with my previous, camera-related articles, I used a red line to denote the point after which, towards higher resolutions, the horizontal lines can't reliably be counted any more. (There are nine such lines on the right. If, at a given position, you can still easily count them, then, that resolution is still truly rendered by the camera.) For example, in the above crop, it's exactly at 7.2 because 7.2 (720 lines) is the Nyquist threshold or 720p video modes and all iPhones are capable of recording that much of true detail when not zoomed in.
Now, let's take a look at a framegrab from a video shot at the (for 720p) maximum 2.18x lossless zoom:

There is significantly more color moire in the image (which is pretty common with such dynamic oversampling-based zoom methods) but, otherwise, the nine lines on the right can still be easily counted at even 700 lines or resolution. With traditional, lossy digital zoom, the value would be less(!) than half (after all, the zoom factor is more than two) of this.
Now, let's see how the effective resolution drops and the image quality becomes worse when entering the already-lossy zoom range, which, with 720p, is over 2.18x. Take a look at the same resolution chart with 3x zoom:

Ouch! While the zoom factor (0.82) between the previous 2.18 and the current 3 is significantly lower than between the first two (1.18), the difference in image quality is staggering. The resolution dropped a lot; now, the nine lines are absolutely uncountable on the right and can only be reliably counted on the left up to around 480 lines of resolution. (See the red annotation, which is at around the 4.8 mark.) That's a HUGE drop in resolution – much-much more than between the first two images!
We'll soon see the same setup with 1080p (the native recording format of all iPhones starting with the 4S). First, however, let me introduce the test setup – and my zooming app I've written specifically for this article.
Test setup
I've used a (with a specialized video LED reflector) well-lit ISO 12233 resolution chart printed in A4. (Being very well-lit is very important so that the camera can record at base ISO and won't introduce detail smearing because of noise reduction.) I've continuously moved the iPhone, fastened to a pro, expensive (Manfrotto) tripod, to a more far position when zooming in:

When testing third-party apps where it's not possible to zoom right to the end of the lossless zoom range, I started my camera client (see below), set it to either the maximum lossless zoom factor with a single touch on the “1.4x” button, carefully positioned the tripod and, then, switched to the to-be-tested app and zoomed with its controls until I got the entire reschart properly framed. This way, I could be absolutely sure I used exactly the same zoom ratios in all the tested apps.
Note that I also checked for the electronic image stabilization (EIS for short) of each app. With FiLMiC Pro, it's disabled by default (and can be enabled); with the other apps (including the stock Camera client), it's always-on. With the latter, before I positioned the tripod by moving it closer to the reschart / more far away from it, I enabled the “EIS” switch in my video recorder app so that I can account for the different field-of-view when EIS is enabled.
My application
As has already been stated, I've written an app specifically for the purposes of this article: to reliably test whether the iOS7 zoom is indeed lossless, and to switch between zoom levels and en/disabled EIS state as easily as possible.
It's a really simple app (I didn't bother implementing for example touch-to-focus, GUI rotation or even exporting to the Camera Roll to keep the code as simple as possible) but can be used for even true video shooting if you need lossless zoom now. It's available as an Xcode project HERE. If you don't know how it should be compiled and deployed on your own iPhone, ask a friend. There are iOS a lot of programmers – you may also know one that you can quickly give your iPhone to for a quick installation. Needless to say, it's a source(-only) distribution – feel free to examine the code.
Here's the main interface:

Let's start with the upper left corner and introduce the controls clockwise.
The “Start” button in the upper left corner (annotated by a green rectangle) starts video recording. While it's recording, the title changes to “Stop”. Tap the latter to stop recording.
The “1x 1.4x 3x Max” control (annotated by a red rectangle) sets the zoom level. It can be done any time, even during recording. 1x doesn't use any zoom; 1.4x uses the maximum available lossless zoom (1.4545454545x for 1080p, 2.18x for 720p etc.); 3x zooms in three-fold and, finally, “Max” zooms in as much as possible. With 1080p, you can zoom up to 108 times (programmers: the value of activeFormat.videoMaxZoomFactor). (Of course, there isn't much point in zooming in THAT much. No wonder the stock Camera client tops up at 3x zoom and third-party AppStore apps don't go over 5-6x zoom either.)
At the bottom of the screen, the pink rectangle encloses shows the zoom currently used. In the screenshot above, it shows "1.454545" because I've, beforehand, tapped the 1.4x button (see above) to zoom in to the maximal lossless zoom level.
The back rectangle has an “IS:” label and a switch. With the latter, you can quickly en/disable EIS, even (as with the zoom level) during recording. Finally, the slider at the bottom (annotated by a blue rectangle) dynamically zooms between 1x and 3x, should you need continuous, arbitrary zooming.
Below, I use section numbering to denote a section being a subsection of another one. Otherwise, the article would be a mess. This also means you'll be able to easily skip entire sections. For example, if you aren't interested in the question of “should I always disable Image Stabilization”, just skip the entire section 1 straight to Section 2, where I explain what you can expect of currently available camera apps, starting with the stock Camera app.
(contd. below)
Last edited: