Camera NX V4 Bring ZSL Photo Shooting with HDR+ on Nexus, Same as Pixel Phone’s Way (Update for N6P)

Camera NX, aka the Google Camera 4.2 mod for Nexus 5X, which enabled the Burst mode, 240 fps slow motion and zsl (zero shooting lag) without HDR+ on the Nexus 5X, now I present the new Camera NX V4, with the awesome zsl HDR+ feature enabled for Nexus 5X / 6P.

What is ZSL? ZSL was short for Zero Shooting Lag, means you can take pictures without waiting for the camera freeze time after pressing the shoot button.

In the regular HDR+ photo shooting process with Google Camera, the camera will freeze for 1-2 seconds when process the HDR+ function, you can NOT continuously shooting HDR+ photos by tapping shoot button.

Even if you set the HDR+ off, the camera still lag for half a second on Nexus 5X using the Google Camera v4.2, you should know that in the previous version Nexus 5X can make ZSL photo without HDR+.

HDR+ changed a lot in the latest version 4.2 of Google Camera, as we know, the Google Pixel / Pixel XL phone can take ZSL HDR+ photos, no freeze anymore, Why?

As Google described, Google Pixel / Pixel XL equipped a powerful Snapdragon 820 / 821 Soc, which has a Dual image signal processors (ISPs) build inside, it has the ability of huge image data process, especially it has Hexagon 680 with HVX (Hexagon Vector eXtensions), which can make the HDR+ processing much faster.

If you read the document of Nexus 5X’s Soc, the Snapdragon 808 Soc, also have a Dual image signal processors (ISPs), in the QUALCOMM official document, this ISP can support 1.2GP/s throughput and image sensors up to 21MP/13MP.

On the Nexus 6P side, the Snapdragon 810 Soc, combined a similar ISPs, but it has 14-bit bandwidth, two times powerful than Nexus 5X one, I suppose the Snapdragon 808 have 7-bit bandwidth Snapdragon 808 has 12-bit bandwidth.

And this is how Qualcomm described the Snapdragon 652 Soc:
Dual ISP (image signal processor), offers support for up to 21MP zero
shutter lag (ZSL) photos
at 24 fps.

I suppose the ZSL photo feature only required Dual ISP, not the Hexagon 680 with HVX, but Google designed to disable this feature on Nexus 2015 phones.

So, In the Camera NX V4, I made the camera using Pixel’s configuration, tested on my Nexus 5X, the shooting lag disappeared in both “HDR off” and “HDR auto” mode! In the HDR+ auto mode, HDR+ program is 1.0.137460761z, and the “HDR+ on” mode’s program is 1.0.137460761n, and they have different effect, here is the comparison of HDR+ off, auto and on samples.

Exif parameters:
HDR+ On: f/2 1/42 s ISO-654 -0.33 HDR+ 1.0.137460761n, file size: 2.37MB

HDR+ Auto: f/2 1/25 s ISO-443 -0.5 HDR+ 1.0.137460761z, file size: 2.19MB

HDR+ off: f/2 1/25 s ISO-457 0, file size:2.09MB

Camera NX mod Pixel HDR+ Profile compare

Look closer:
Camera NX mod Pixel HDR+ Profile compare details

You can see the HDR+ auto have the best quality in three samples, the vivid color, less noise, brighter effect, the most important thing is, No freeze anymore, the HDR+ will process in the background immediately after press the button. I realize that the new feature Delete photos durning HDR+ process was for ZSL HDR+ photos.

Video showing how ZSL HDR+ works:

https://youtu.be/RG6NHFR1tIU

My phone is running Android 7.1.1 beta, in the video, Camera is stock Google Camera, Camera NX is the mod version. You can notice the lag on stock camera, when using the modified version, no lag while I continuously tap the shoot button, but due to the hardware limitations, the camera slow down a bit at the end.

Right now this is only for Nexus 5X. Nexus 6P users needs to wait for a while.

Update 11/08
For Nexus 5X: reduce some value to improve HDR+ / Burst speed and stable [testing].
Smartburst will fc if you keep hold on the cam button for more than 5 seconds (not enough ram I supposition ). Turn off the auto-creation will fix it.

Download link for Camera NX V4 Update1: Camera NX V4 Update1 for Nexus 5X | (Alt mirror AFH)

Update 11/08, for Nexus 6P users, please download this version: Camera NX v4 Update1 N6P. Update1 version didn’t change the video framerate so no more fc with camcorder.

PS. If you download the apk but can not install it, try using any file manager to do the job, stock download manager have a bug.

PS. Camera NX v4 require Android 7.1.1 beta.

Update 11/11, Method for fix issue for 7.1 roms (fix may work for 7.0, tell me if it works.)
How to fix the black viewer issue on some 7.1 custom roms. 5X / 6P . ( looks like stock 7.0 still lack something for activing the ZSL HDR+, sorry guys, If someone figure out how to fix it, please leave a comments. ) .
Flashable zip Packages in TWRP recovery:
For Nexus 6P: CamNX-Fix4Nitrogen
For Nexus 5X: CameraNX-N5X-fix

Or if you want to do it manually, do these steps one by one.
1. Download this zip file, extract the jar file, put the jar file to /system/framework/ directory by root explorer, and change its permission to rw-r-r.
For Nexus 6P: com.google.android.camera.experimental2016N6P.zip
For Nexus 5X: com.google.android.camera.experimental2016forN5X.zip

2. Download this zip file, extract the xml file, put it to /System/etc/permission/ directory by root explorer, change its permission to rw-r-r.
N6P & N5X shared the same file: Camera-NX-fix-xml.zip

3. Reboot, the problem should be fixed.

Right now I suggest Nexus 5X users who are using the 7.0 roms, stick with Camera NX V3.1, it can still give you the Smartburst & 240 fps slow-motion. Here is the link:

New version V5.3 is up! Now we have a updated version V5.3.1 (No ZSL) for Android 7.0 users too!

Link: Camera NX V5.3 Update For Nexus 5X / 6P, Add Hybrid-Burst Mode, Automatic Select HDR+ Auto, Better Video Bitrate

Taggs: , .
Posted in Android Share, Featured, Nexus 5X

SHARE THIS

RELATED POSTS



DISCUSSION

  • Dan

    When I try to run the Nexus 6P NX v4 update, I get “fail to parse package” error. Any thoughts? Running CM13 snapshot.

  • himenohogosha

    Hi, will there be any update necessary for this to work on 7.1.1 DP2?

  • Null Terra

    Running 7.1.1 on a Nexus 6p.
    Downloaded and installed the “Camera NX v4 Update1 N6P”. No problems have arisen.

    Thanks for the informative article, and your work on this mod.

  • Yiow Ae Ree

    Strangely whatsapp fails halfway for uploads of videos recorded with this version of the camera. I thought it’s a whatsapp issue, but videos recorded with stock camera uploads just fine. Nexus 5X, 7.1.1.

  • Алексей Алексеенко

    Hello,i also use nexus 5x with 7.1.1 beta,but when i do some birst photos the camera is closing(((( can you help me?

    • Try turn off auto-create animation option.

      • Алексей Алексеенко

        It doesn’t help((( and i asked some people with the same phone and android,so they have the problem too.

        • It should help as auto creation eat lots of memory, remember we just have 1.8G ram, burst mode already giving heavy pressure to system. If you burst a lot, you can try the V3.1.

          • Алексей Алексеенко

            Thank you! I didn’t think about ram😀 and another question is how i can rename app ? On my phone your camera is just camera,not camera nx.

  • anarekist

    killed my stock camera.. 🙁

    • Charles

      No, it can’t kill the stock camera.

    • You are on stock 7.0?

      • anarekist

        custom 7.0

        my bad really, should have read more carefully, i restored a backup and it’s working again. thanks for the effort tho

  • Osokthedevil

    Latest apk didn’t work. Open up the app and black screen for the camera

  • Christopher Robert

    Curious if this is possible to get working on the S7 edge running N preview.

    • Charles

      So far the built-in profile only can support Nexus and Pixel.

  • Enchante

    Camera doesn’t work for me. Black screen only. Nexus 6p, 7.0, November 5th security patch.

  • Davide Alferes

    Charles thanks for your hard work, is it possible to make it work on SD 650? The processor supports ISP and zero shutter lag

  • Woomera

    Thanks a lot for a great work, running the NX3 on my Nexus 6 and i love it. hope to see ver.4 soon on nexus 6’s. this is great work you are doing and i really appreciate it.

  • Sjoerd van Gestel

    Nexus 6p 7.0 Does not work, no camera image… I’ll try again when 7.1 finnaly arrives

  • Gopinath Ravi

    Tried on Pure Nexus latest version (7.0) on N6P. Screen is black. Even flashing the zip file is not helping

    Anyone who successfully flashed this on 7.0 ROMs?

    • If you don’t mind, install catlog on play store, record the log while you launch the Camera, and send it to my email chromloop@gmail.com.

      • Enchante

        I haven’t rooted my phone, can’t use cat log

  • What about the Nexus 6?

    • Got the resource, stock 7.0, will work on that.

  • calvinnbs

    Any chance you’ll end up putting this app out on the play store as opposed was side load only?

    • I don’t think so, this is a mod of google camera, all credit goes to google.

  • Chandra Shekhar Singh

    I flashed the zip on 7.0 and its still black viewer

    • Record and post logcat while starting the cam, you can use catlog on play store.

  • daniel375

    so does this new 6P version require 7.1.1 as well or will it work on 7.0?

    • If you install it on Android 7.0 and get a black viewer, try this package to see if it can fix it, need TWRP, it works for 7.1 ( vs 7.1.1 beta ), make a backup first.

      http://forum.xda-developers.com/showpost.php?p=69567737&postcount=86

      If you are new for modifying system, better wait for other people confirm the fix.

      • daniel375

        thanks ill check it out, i was getting a black viewer….

      • Arthur Yee

        I’ve tried this too. Still black viewer.

        • Still wait for some spark to solve that problem.
          7.1.1 is very stable, why not give it a try? 🙂

          • Arthur Yee

            7.1.1 is still beta? Will I be able to root it?

          • Use SuperSU-2.78.

        • If you don’t mind, install catlog from play store, record the log while launch Camera, better do it 2-3 times. then send the log to my email, chromloop@gmail.com

  • Michael Lavi

    Thanks for this. Installed 6P version on my 6P but see no difference in lag/shutter speed than with the stock camera. Do I need to change any settings?

    • Use it in HDR+ Auto mode, you will find the difference, especially when the stock camera active HDR+ ( not HDR+ on manually ).

  • Philip Chang

    S805 also has Dual ISP,is it possible to bring ZSL hdr+ to nexus 6??

    • Ygor Cortes

      I’m really hoping the answer is a big yes!

    • Nexus 6 can take zsl normal shooting, maybe we can give it a try. But we need someone to confirm V4 mod can run on 7.0.
      BTW we find the way that running V4 mod on 7.1 custome rom, see the XDA thread, I will update the post later.

      • Philip Chang

        i can test the v4 mod on 7.0 on the nexus 6. Is there a arm version of the the v4 mod??

      • Ygor Cortes

        I can test it too… I also hope there is an arm version!

      • Arthur Yee

        Hi. I’m currently running stock 7.0 rooted with Elemetalx Kernel. Able to install the apk but when run, the display is black except for the switch camera plus capture button. Tried the .jar + .xml workaround too.

  • Ygor Cortes

    Do you think it would be possible to enable this on the Nexus 6? It would be great!

  • Bruce55

    Thanks for the work!

    808’s ISP is 12bit btw. It represents the max bit depth per frame, but doesn’t show throughput. IMX 377 is capable of 12bit, but they decided to use 10bit, since 12bit doesn’t help much.

    ZSL HDR+ is changing the way of handling the exposure too.

    The previous HDR+ pipeline that captures after the shutter press has a unique way of evaluating the exposure. In most of the circumstances, it recovers highlight clipping pretty well.

    The ZSL HDR+ is bursting the Bayer image samples into a ring buffer while streaming the corresponding YUV previews to the viewfinder. The moment you press the shutter, the samples in the buffer are dumped to be processed by HDR+. Since there is no standalone “capturing” stage in this one, they can’t really capture the samples in the desired exposure because changing the exposure for HDR+ also means changing the exposure in viewfinder this time, since the two steps are integrated together. However, the desired exposure calculated is usually under-exposed in order to recover highlight. This is OK for HDR+, since it wipes out the noise in weaker signals by combining the samples. But for viewfinder, it will be very dark.

    This can be seen in comparisons between Nexus 6P and Pixel, as well as HDR+ On and Auto HDR+.

    Also, comparing the exposure settings recorded in HDR+ is usually not reliable. Exposure time is accurate, but ISO is not. The ISO itself is a calculated value corresponding to different gain settings on conventional camera. It is usually evaluated using the mid-tone brightness. However, in HDR+, brightness is not only affected by gain of the CMOS/ISP. It is also significantly affected by the tone mapping process, which compresses the image with a higher DR into standard range, and local tone mapping maintains the local contrast. The amount of DR compression and tonal curve difference caused by exposure evaluation and user input can be very tricky sometimes.

    Above all, this could explain why ZSL HDR+ auto appears to have less noise, but doesn’t handle highlight that well, since it uses a brighter exposure settings compare to HDR+ On. HDR+ On usually appears to be at the same level of brightness, 1-2EV better highlight range, and noisier, since it actually captures in a darker settings, and then tone map to make the images brighter.

    • Wow, very good article, thanks for sharing the professional details.

    • Busterman

      sorry, I did not understand.
      the Mod improves speed but reducing their quality?

      • Bruce55

        Well, not really. When ZSL is enabled, you will usually observe more highlight clipping and usually less noise in shadow. I don’t know if that could be counted as impact on quality. But if you do need shutter speed lower than 1/15s, use HDR+ on.

        • Busterman

          Thank you very much for your answer and many many thanks to the author for the mod!!!

    • WittyPixel

      “808’s ISP is 12bit btw” Does that mean Nexus 5X and Nexus 6P are capable of video recording in HDR mode? Maybe I took that info out of context but I am curious, thanks!

      • Bruce55

        Seems possible, I can see in Camera2 API that CaptureRequest has a few methods to control things like tone mapping curve and black level. It should be possible to get a flat, log-like video from the phone. Or it can be globally tone mapped video, “S” shaped curve gamma that compresses the two ends while maintaining midtone contrast.

        Or since it can do 30FPS Bayer output, maybe someone can try writing a cinemaDNG recorder with JPG compression. But since this is a relatively small and noisy sensor running under 10bit mode, there may not be that much improvements.

        I’m not an Android developer so I can be wrong

  • SE.Quence

    Thanks for your work and research. Tested and confirmed no lag.

    Just reporting if UHD video quality is set – force close happens when switching to 60 fps in video mode.

    • The update1 version fixed this issue. 🙂

      • Kenny Chiam

        HI Charles, thanks for this awesome mod app! by the way, i’m not sure if its just me, but i tried a few times with ur mod on HDR auto and the normal camera app HDR auto, i find that in some instances the mod will overexposed but the normal HDR auto camera app will not. Maybe if you dont mind, try it out and see if there’s any differences for you ? that’s what i found out, and just like to tell you about it. 🙂 thanks again! really appreciate it!

        • Yes, they ues two different HDR+ programs, I explained in the post, Normal HDR+ do a better job in some situation but spend more time.

          I think google might have been testing the new HDR+ method to make it faster, as the framework, which is ZSL HDR+ needed, was named as “experiment.2016”.

          • Kenny Chiam

            I see. 🙂 alright then. I understand~ But again thanks for this mod! Really appreciate it! 😀