Camera app with HDR+ enabled

mmm273

Senior Member
Jan 16, 2011
614
82
0
Hi I tried for OP3 and got force close, app dont even start.
I know this is for moto, but you said you only modified N6P settings to be forced, cant you do that on newer version of APK file ?

Tried that from chromloop.com but that dont show HDR+ option.
 

benjamminh

Senior Member
Sep 5, 2015
299
56
0
https://goo.gl/photos/i6z57krjsdsTS99L6

This link is to a comparison of Moto X Pure with HDR, and Moto Z Force native app using HDR auto, HDR on, and the Camera NX app with HDR auto and HDR+. It's a torture test of sorts with the dog's head the focus point and then dealing with the three sources of light without blowing them out. Camera NX app and HDR+ did a good job all things considered.
 

Attachments

  • Like
Reactions: AcmE85

Benoe

Senior Member
Dec 15, 2006
114
38
0
Going forward, I recommend following the progress at chromloop.com -- I originally found Camera NX there and simply modified it to enable HDR+ on all devices whose hardware supports it. However, it looks like the developer (who is far more skilled with modifying compiled apps than I am) has done the same thing to enable HDR+ -- however, only 7.1+ is supported now. When and if our Moto Z receives the 7.1 upgrade, the most updated version of Camera NX from chromloop will be the way to go.
I have updated my Z to 7.1.1 and downloaded both the ZSL and the NoZSL version of Camera NX, however I couldn't see HDR+ sign on screen. Is this normal?
 
  • Like
Reactions: Andrellrios

forgivemypoorEN

Senior Member
Jan 6, 2014
112
27
0
Hi I tried google camera, camera nx (chromeloop)and your port, and had similar error below. I tried to change my model name (and something else) in build.prop. When use your port, I don't need to change model name. The errors are like below. Could you share the method of changing (like did you change something else other than the model detection isNexus?) I'm using Mi 5s, and I hope to pretend to be a Pixel. I know the libs are different, and the laser autofocus is missing in Mi 5s.
Code:
07-25 01:46:59.310  2699  2733 D LimitPushControlPolicy: check if com.google.android.GoogleCameraNX:crash_report is a push
07-25 01:46:59.310  2699  2733 D LimitPushControlPolicy: com.google.android.GoogleCameraNX:crash_report is not a push
07-25 01:46:59.316   808  7352 E mm-camera: <SENSOR><ERROR> sony_imx378_autofocus_calibration: 387: Enter
07-25 01:46:59.316   808  7352 E mm-camera: <SENSOR><ERROR> sony_imx378_autofocus_calibration: 428: adjusted code_per_step: 138, qvalue: 128
07-25 01:46:59.322  1487  2391 I ActivityManager: Start proc 7383:com.google.android.GoogleCameraNX:crash_report/u0a20 for service com.google.android.GoogleCameraNX/com.android.camera.silentfeedback.SilentFeedbackService
07-25 01:46:59.323  2699  2883 D WtProcessController: onAMProcStart callback
07-25 01:46:59.323  7320  7320 E AndroidRuntime: FATAL EXCEPTION: main
07-25 01:46:59.323  7320  7320 E AndroidRuntime: Process: com.google.android.GoogleCameraNX, PID: 7320
07-25 01:46:59.323  7320  7320 E AndroidRuntime: java.lang.NullPointerException: Attempt to get length of null array
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at com.android.camera.hdrplus.HdrPlusMetadataConverter.convertToGcamStaticMetadata(HdrPlusMetadataConverter.java:299)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at com.android.camera.hdrplus.HdrPlusImageReaderModules$RawHdrPlusImageReaderModule.providesGcam$51666RRD5TGMSP3IDTKM8BR3C5MMASJ15TNMSP9F9TN6AGR1DLIN4OADC5N62PR5E8TKOORFDKNM2RJ4E9NMIP1FCDGMQPBIC4NMURJ55TR34BQFDPIK6OBDCLP62HJ5C5Q7ASJ58DNMSPJ9CSTKOORFDKNM2RJ4E9NMIP1FCDGMQPBIC4NM6RRECPKMEBQ7EDIN4TJ9CDIN6I35DHO6ASHR9HHMUR9FC5N68SJFD5I2UOR1DLIN4O9FD1I74S3CELPIUI34E986OTBJADQ62T357D666RRD5TGMSP3IDTKM8BR3C5MMASJ15TI6AOJLCSNN8SJ1CDIIUL3IC5HMAEP99HHMUR9FCTNMUPRCCKNMERRFCTM6AU1FCTHM2R9F8THM2R9R(HdrPlusImageReaderModules.java:1084)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at com.android.camera.hdrplus.HdrPlusModule_ProvidesGcamFactory.get(HdrPlusModule_ProvidesGcamFactory.java:1046)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at dagger.internal.DoubleCheck.get(DoubleCheck.java:46)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at com.android.camera.hdrplus.HdrPlusPrewarmBehavior.run(HdrPlusPrewarmBehavior.java:44)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at com.android.camera.behavior.Behaviors$1.run(Behaviors.java:48)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at com.google.android.apps.camera.async.MainThreadThrowingExecutor$MainThreadThrowingRunnable.run(MainThreadThrowingExecutor.java:21)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at java.lang.Thread.run(Thread.java:761)
07-25 01:46:59.323  7320  7320 E AndroidRuntime:        at com.google.android.apps.camera.async.AndroidPriorityThread.run(AndroidPriorityThread.java:32)
07-25 01:46:59.326  2699  2883 I WtProcessController: Receive am_crash event for pid: 7320 pkg = com.google.android.GoogleCameraNX
07-25 01:46:59.326  2699  2883 W KloServer: Aborted broadcast does not supprt for: com.google.android.GoogleCameraNX
07-25 01:46:59.326  3270  3346 I octvm_klo: klo lock
07-25 01:46:59.327  1487  1507 W ActivityManager:   Force finishing activity com.google.android.GoogleCameraNX/com.android.camera.CameraLauncher
07-25 01:46:59.330  1487  1507 D ActivityTrigger: ActivityTrigger activityPauseTrigger
07-25 01:46:59.332  2699  2883 D WtProcessController: onAMPauseActivity callback
07-25 01:46:59.332  2699  2883 W WtProcessStrategy: process com.google.android.GoogleCameraNX uid 10020 pid 7320 start duration is too short!  Start:1500943619046 Current:1500943619332
07-25 01:46:59.332  2699  2883 W WtProcessStrategy: process com.google.android.GoogleCameraNX:crash_report uid 10020 pid 7383 start duration is too short!  Start:1500943619323 Current:1500943619332
07-25 01:46:59.337  7320  7320 I Process : Sending signal. PID: 7320 SIG: 9
07-25 01:46:59.340  3270  3346 I octvm_klo: get wanted event[mask:128, name:[email protected]] from the watchset
07-25 01:46:59.340  3270  3346 I octvm_klo: start gathering logcat log...
07-25 01:46:59.341   585   585 E lowmemorykiller: Error writing /proc/7320/oom_score_adj; errno=22
07-25 01:46:59.341  1487  1544 D ui-boost: reset uithread for app=com.google.android.GoogleCameraNX
07-25 01:46:59.341  7383  7383 V BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[])
07-25 01:46:59.341  1487  1544 W ActivityManager: Failed setting process group of 7320 to 9
07-25 01:46:59.341  1487  1544 W System.err: java.lang.IllegalArgumentException: Given thread does not exist
07-25 01:46:59.341  7383  7383 V BoostFramework: mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease()
07-25 01:46:59.341  1487  1544 W System.err:    at android.os.Process.setThreadPriority(Native Method)
07-25 01:46:59.341  1487  1544 W System.err:    at com.android.server.am.ActivityManagerService.applyOomAdjLocked(ActivityManagerService.java)
07-25 01:46:59.341  1487  1544 W System.err:    at com.android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java)
07-25 01:46:59.341  1487  1544 W System.err:    at com.android.server.am.BroadcastQueue.processCurBroadcastLocked(BroadcastQueue.java)
07-25 01:46:59.341  1487  1544 W System.err:    at com.android.server.am.BroadcastQueue.processNextBroadcast(BroadcastQueue.java)
07-25 01:46:59.341  1487  1544 W System.err:    at com.android.server.am.BroadcastQueue.processNextBroadcast(BroadcastQueue.java)
07-25 01:46:59.341  7383  7383 V BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[])
07-25 01:46:59.341  1487  1544 W System.err:    at com.android.server.am.BroadcastQueue$BroadcastHandler.handleMessage(BroadcastQueue.java)
07-25 01:46:59.342  1487  1544 W System.err:    at android.os.Handler.dispatchMessage(Handler.java)
07-25 01:46:59.342  1487  1544 W System.err:    at android.os.Looper.loop(Looper.java)
07-25 01:46:59.342  1487  1544 W System.err:    at android.os.HandlerThread.run(HandlerThread.java)
07-25 01:46:59.342  1487  1544 W System.err:    at com.android.server.ServiceThread.run(ServiceThread.java)
07-25 01:46:59.342  7383  7383 V BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String)
07-25 01:46:59.342  7383  7383 V BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop()
07-25 01:46:59.343  1487  1544 D ui-boost: boost uithread for app=com.miui.home
07-25 01:46:59.343  1487  1544 D ui-boost: boost renderthread for app=com.miui.home, tid=3157
07-25 01:46:59.348  7383  7383 V BoostFramework: BoostFramework() : mPerf = [email protected]
07-25 01:46:59.356  2699  3061 D LimitPushControlPolicy: check if com.google.android.gms is a push
07-25 01:46:59.356  2699  3061 D LimitPushControlPolicy: com.google.android.gms is not a push
07-25 01:46:59.357  3270  3346 I octvm_klo: gathering logcat log done
07-25 01:46:59.357  3270  3346 I octvm_klo: klo unlock
07-25 01:46:59.357  1487  1544 I ActiveServicesInjector: Low priority start of: ServiceRecord{cb737c8 u0 com.google.android.gms/.stats.service.DropBoxEntryAddedService}
07-25 01:46:59.363  1487  1568 I Timeline: Timeline: App_transition_stopped time:504085
07-25 01:46:59.373  1487  2497 I WindowManager: Failed to capture screenshot of Token{9f096b2 ActivityRecord{55a80bd u0 com.google.android.GoogleCameraNX/com.android.camera.CameraLauncher t4263 f}} appWin=Window{5c9d8f1 u0 Starting com.google.android.GoogleCameraNX} drawState=4
07-25 01:46:59.376  1487  2495 D GraphicsStats: Buffer count: 7
07-25 01:46:59.376  1487  5970 I WindowManager: WIN DEATH: Window{e40e4f u0 com.google.android.GoogleCameraNX/com.android.camera.CameraLauncher}
07-25 01:46:59.379  1487  5969 I ActivityManager: Process com.google.android.GoogleCameraNX (pid 7320) has died
 
Last edited:

Andrellrios

New member
Mar 25, 2014
4
0
0
I have updated my Z to 7.1.1 and downloaded both the ZSL and the NoZSL version of Camera NX, however I couldn't see HDR+ sign on screen. Is this normal?
Exactly the same here. Just received an OTA update with 7.1.1 and tried both and only de apk given by the OP has HDR+ working
 

semil

Senior Member
Sep 26, 2015
59
9
0
Hi, awesome job.
Does this apk work on 6.0.1? It says "pharsing error" on j5
Could you make arm MM version?
 
Last edited:

kornelkahh

Senior Member
Jul 8, 2015
353
62
48
Hi I tried for OP3 and got force close, app dont even start.
I know this is for moto, but you said you only modified N6P settings to be forced, cant you do that on newer version of APK file ?

Tried that from chromloop.com but that dont show HDR+ option.
same here on Galaxy S7 RR. :(
 

Wingdom

Senior Member
Dec 27, 2010
90
8
0
Orlando
I think the true zoom mod with better processing would make a difference, but I imagine it would be hard to implement unless Moto does it.
I don't think Moto would have to do it. Other camera apps work with the True Zoom no problem. I usually use the built in Lightroom camera app. The Instagram camera works, and other random apps downloaded from the play store work too. So it is specific to something in this app not recognizing the hardware. If I switch to video, the True Zoom works, but when I switch back to still pictures, the app freezes, but no error message or crash. Maybe I'll get bored and dig through the logs.
 
  • Like
Reactions: benjamminh

benjamminh

Senior Member
Sep 5, 2015
299
56
0
I've been playing with the Google camera app recently released for many devices versus the NX camera app in this thread. I can't really speak to quality differences as you can't have them installed at the same time. But the NX app processes much faster fwiw.
 

donvito12

Senior Member
Jun 27, 2011
164
62
58
www.youtube.com
2016 Z, picture quality is better, the processing speed is the same, from the start the NX app was buggy for me and this one works fine only slow mo doesn't work

Sent from my XT1650 using Tapatalk
 

benjamminh

Senior Member
Sep 5, 2015
299
56
0
2016 Z, picture quality is better, the processing speed is the same, from the start the NX app was buggy for me and this one works fine only slow mo doesn't work
Thanks for the info. I should have mentioned I have the 2016 Z Force. I may give it another try sometime. I'm glad it's working great for you.
 
  • Like
Reactions: donvito12