Related
Hi,
I'm the developer of Open Camera, and looking at the OnePlus 3 as a potential new phone and test device, but I'm curious as to its support for Camera 2 API. I was wondering if people could share their experiences of using third party camera apps with Camera2 API enabled - either in Open Camera, or others like Snap Camera and A Better Camera (all these have options to enable Camera2 API)? In particular:
* It seems a lot of devices have problems with flash and Camera2 (either flash doesn't fire, or misfires so pictures come out under or overexposed). I finally managed to get Open Camera flash working on my Nexus 6, but no luck on a Samsung S7 (precapture doesn't seem to trigger). How does the OnePlus Three do with Camera2 and third party apps?
* I see some reports that manual exposure times don't work (e.g., http://forum.xda-developers.com/oneplus-3/help/camera2-api-broken-oxygenos-3-1-2-t3400886 ), though they mostly refer to the "more than one second" times (which most Android devices don't even offer). I'm less bothered about that, but does manual exposure time (and ISO) work at all (even for less than one second) in Camera2 API on the OnePlus Three?
* Around a year ago I see lots of reports that RAW didn't work on the One Plus devices (either not at all, or pictures were wrong). Supposedly this was fixed, but can anyone confirm that this is working properly on the OnePlus Three?
Thanks in advance!
mark
I use CM 13. So the following observation will most probably differ from Oxygen OS. I hope someone else using the stock ROM provides their input too.
1. Flash is unusable with Open Camera. I tried with Camera2 enabled and disabled. When its enabled, the overexposure is less but overall the picture is still horrible. CM's Snap camera that comes with the ROM works fine however.
2. I have not tested manual exposure yet. Will report back later if no one else does it.
3. There doesn't seem to be any problem while saving RAW files using Camera2 API. Opened it in Ubuntu's image viewer and the image is the same as it's JPEG counterpart (without the flash)
Manual exposure settings work fine. I increased the ISO and exposure time gradually using Open Camera. It let in more light and captured the image without any issues
mdwh said:
* It seems a lot of devices have problems with flash and Camera2 (either flash doesn't fire, or misfires so pictures come out under or overexposed). I finally managed to get Open Camera flash working on my Nexus 6, but no luck on a Samsung S7 (precapture doesn't seem to trigger). How does the OnePlus Three do with Camera2 and third party apps?
* I see some reports that manual exposure times don't work (e.g., http://forum.xda-developers.com/oneplus-3/help/camera2-api-broken-oxygenos-3-1-2-t3400886 ), though they mostly refer to the "more than one second" times (which most Android devices don't even offer). I'm less bothered about that, but does manual exposure time (and ISO) work at all (even for less than one second) in Camera2 API on the OnePlus Three?
* Around a year ago I see lots of reports that RAW didn't work on the One Plus devices (either not at all, or pictures were wrong). Supposedly this was fixed, but can anyone confirm that this is working properly on the OnePlus Three?
Click to expand...
Click to collapse
I've got a OP3 and a bunch of camera apps. The flash is overexposing with Open Camera, but in e.g. Footej (which I believe also uses Camera API v2) the image is exposed similarly to the built-in camera app.
Changing ISO manually seems to work as expected.
RAW files that I've tested from the stock app in Lightroom appear fine.
Let me know if you want me to test something else (PM or email works too).
The biggest challenges I have with Open Camera is that the manual focus (at least in video mode) is somewhat jumpy and not as smooth as e.g. Cinema 4K when you drag the slider, so it is only useable when you're not recording, and then it lacks focus assist (zooming in 2x or 4x automatically when you adjust focus). And then, of course touch focus is also broken (it always focuses at the center) when using APIv2.
Oh, and I'm on the mainly release (3.2.6 atm).
Thanks for both your replies!
Regarding flash and Camera2 API, the newly released Open Camera v1.34 has an option under Settings/Photo settings/"Use alternative flash method". Does that work any better? (Interesting that you mention Footej, that's also the only other 3rd party camera app that gets flash working with Camera2 API on my Nexus 6 - I think it's also using the "torch method" that my new option enables as a workaround.)
Another question I have please - does HDR in Open Camera work okay? (Note it won't be the same as the stock camera's HDR, as these will be different algorithms - but does it at least seem to work? In theory it should if manual exposure is working, but there may be additional issues with burst mode.)
A shame that touch to focus isn't working (this seems to be a known issue with Camera2 on the OnePlus 3?) I note from http://forum.xda-developers.com/oneplus-3/how-to/oos-3-5-2-comunity-build-t3461648/post68764646 , comment 329, someone says that touch to focus is fixed in the community build 3.5.2 (they tested Open Camera and Snap Camera HDR), so hopefully this fix will soon be rolled out.
I'll take a look at the jerky manual focus, and focus assist.
Wrt flash: Compared to the built-in camera app and to Footej and with/without the new flash setting enabled, then yes: It works with the work-around enabled. Before enabling it, it overexposes (and has an incorrect color balance), but after enabling it, the photo looks almost identical to the Footej one.
As for HDR, then yes, it also works As you say, it's not identical to the built-in camera app, but there is a difference between a single-capture shot and an HDR one: Shadows are lifted and highlights become somewhat subdued. Comparing an OpenCamera HDR shot to the same scene taken with the built-in camera, I'd say the shadows are similar, but the highlights are less compressed with the default app (i.e. OpenCamera makes the highlights darker, and maybe also darker than need to be).
As for touch focus, then we can hope it will be fixed -- I guess it's a problem with the Camera2 API implementation/driver in OP3.
Thanks for your efforts!
Just to say that I got the OnePlus 3T in the end. It's an excellent device - but I've made a new thread at https://forum.xda-developers.com/oneplus-3t/how-to/camera2-bugs-t3569283 which details the outstanding problems that I seem unable to fix (and seem to affect other camera2 apps too).
Interestingly, touch-to-focus works fine to me (even when I first got it when it was on Android 6), possibly this was something that'd already been fixed.
Is it possible to copy the algorithm of Google pixel camera and install it in Xiaomi mi 5s? Because both have exactly same sensors. As I have seen the reviews of Xiaomi mi 5s, there is a room for improvement in the software. Specially night shots need improvement. So is there any way to copy pixel's algorithm and software into mi 5s?
At this point? Probably not.
In the future? Who knows, I hope so too...
We might (or might not) need to copy some libraries from pixel's system image, and probably must use the included google camera (which requires android 7.0 for now...)
awaaas said:
At this point? Probably not.
In the future? Who knows, I hope so too...
We might (or might not) need to copy some libraries from pixel's system image, and probably must use the included google camera (which requires android 7.0 for now...)
Click to expand...
Click to collapse
Why not replace the crappy dual camera of 5s plus with dual imx378? Is it possible? I am really curious to do something with these phones.
Ahm_Shoaib said:
Why not replace the crappy dual camera of 5s plus with dual imx378? Is it possible? I am really curious to do something with these phones.
Click to expand...
Click to collapse
If you want to break your phone then go ahead
Ahm_Shoaib said:
Why not replace the crappy dual camera of 5s plus with dual imx378? Is it possible? I am really curious to do something with these phones.
Click to expand...
Click to collapse
Not possible because of so many things...
- There's likely no drivers for IMX378 included in the kernel/system by xiaomi for Mi5s Plus
- You must have to somehow find dual IMX378 module with the same pin configuration as the original one for it to even turn on (won't work if there's no driver for it though...)
Ahm_Shoaib said:
Why not replace the crappy dual camera of 5s plus with dual imx378? Is it possible? I am really curious to do something with these phones.
Click to expand...
Click to collapse
It would be redundant, the 5s plus uses a normal sensor with a monochrome sensor, similar to P9, and this allows (should) better lowlight, and higher dynamic range, however from samples I've seen, Xiaomi has not implemented it very well. They would have been better off with one 378 sensor, as that is currently one of the best mobile sensors
Man I think the original idea is ask about how we can get the eis and quality photos video from pixel to the mi5s small who carrier the same sensor.
How get software from pixel to mi5s (pixel too expensive), I want use the Xiaomi mi5s small with cm14 and Google pixel software/library features camera
Regards
roghax said:
Man I think the original idea is ask about how we can get the eis and quality photos video from pixel to the mi5s small who carrier the same sensor.
How get software from pixel to mi5s (pixel too expensive), I want use the Xiaomi mi5s small with cm14 and Google pixel software/library features camera
Regards
Click to expand...
Click to collapse
Yes, and I think I've already answered that. Pixel runs android 7.1, Mi5s runs 6.0, you can't get the camera app that comes with pixel to run on mi5s, and if you manage to backport that to android 6.0, what if it needs some library, can you make sure that it is can run on android 6.0, while it is built for android 7.1?
Moreover, I found out the hard way that Mi5s did not specify it's HFR modes, so the latest Google Camera that is compatible with android 6.0 won't run at all. Except if you turn the HFR functionality off, by adding this line to your build.prop:
Code:
persist.camera.hal3hfr.enable=0
I don't know if this bug comes from xiaomi, or xiaomi.eu (as I am running xiaomi.eu's ROM right now), and I don't know if it's gonna be fixed in the future.
You're welcome to pursue this idea, but keep that things in mind
Since Google's HDR+ is so good in low light, has anyone tried alternative 3rd party apps that use image stacking to improve low light IQ ( Better Camera and Snap HDR Cam low light modes come to mind)
I am interested in this phone because of the price and sensor and would like an HDR+ alternative.
Has anyone tried those apps? Thanks
Try cortex camera, it basically is the best app at stacking images.
awaaas said:
Yes, and I think I've already answered that. Pixel runs android 7.1, Mi5s runs 6.0, you can't get the camera app that comes with pixel to run on mi5s, and if you manage to backport that to android 6.0, what if it needs some library, can you make sure that it is can run on android 6.0, while it is built for android 7.1?
Moreover, I found out the hard way that Mi5s did not specify it's HFR modes, so the latest Google Camera that is compatible with android 6.0 won't run at all. Except if you turn the HFR functionality off, by adding this line to your build.prop:
Code:
persist.camera.hal3hfr.enable=0
I don't know if this bug comes from xiaomi, or xiaomi.eu (as I am running xiaomi.eu's ROM right now), and I don't know if it's gonna be fixed in the future.
You're welcome to pursue this idea, but keep that things in mind
Click to expand...
Click to collapse
Hi, thanks for the information about google camera. Any possibility that we can have settings like manual iso, or hdr (just normal hdr) ? Is it exclude to nexus devices, I mean after hacking still? How about the snapdragon camera, it seems that we need caf kernel, but maybe it's working after adding this line?
forgivemypoorEN said:
Hi, thanks for the information about google camera. Any possibility that we can have settings like manual iso, or hdr (just normal hdr) ? Is it exclude to nexus devices, I mean after hacking still? How about the snapdragon camera, it seems that we need caf kernel, but maybe it's working after adding this line?
Click to expand...
Click to collapse
We already have manual controls, just use snap cam and enable cam 2 api in it's settings, or use FreeDcam and you get full manual
shaneel1491 said:
We already have manual controls, just use snap cam and enable cam 2 api in it's settings, or use FreeDcam and you get full manual
Click to expand...
Click to collapse
That's true, I'm just curious if google has better post processing (now I think an app won't change much) If apps can't change, is it possible to copy the drivers from pixel, if the sensors are the same? Meanwhile, we don't have iso 50 (although maybe the native iso is 100, so 100 might be better than 50). Freedcam seems to be able to enable eis on camera api 1, but it crashed a lot, and it's api 1. Now I'm confused which is the best choice. I'm using snap camera, but there's no long exposure like the stock camera (up to 32s, I think it's a stack of photos). Sorry I asked a lot, but it seems that you are an expert . Last question, the stock camera in manual mode, the preview never changes while changing iso/shutter speed. In other apps, it got very slow when the shutter is long (1/3 s). I wonder if this is because imx 378 is very powerful and generating large data, or it's MIUI‘s bug?
forgivemypoorEN said:
That's true, I'm just curious if google has better post processing (now I think an app won't change much) If apps can't change, is it possible to copy the drivers from pixel, if the sensors are the same? Meanwhile, we don't have iso 50 (although maybe the native iso is 100, so 100 might be better than 50). Freedcam seems to be able to enable eis on camera api 1, but it crashed a lot, and it's api 1. Now I'm confused which is the best choice. I'm using snap camera, but there's no long exposure like the stock camera (up to 32s, I think it's a stack of photos). Sorry I asked a lot, but it seems that you are an expert . Last question, the stock camera in manual mode, the preview never changes while changing iso/shutter speed. In other apps, it got very slow when the shutter is long (1/3 s). I wonder if this is because imx 378 is very powerful and generating large data, or it's MIUI‘s bug?
Click to expand...
Click to collapse
I guess Google's HDR+ algorithm is the only great thing the Pixel has we don't besides that fact they don't have long exposure so they can't take as good night pics as us.
In camera 1 Api we can go all the way to 60 sec, although stock libs limited at 32 sec which is fine. Also we do have ISO 50 on FreeDcam API 2, I think I have a specially built FreeDcam by @defcomg who sorted it out. I'll ask him if I he or I can post it here.
Also Quallcomm seemed to mess up the camera libs recently and max exposure on cam 2 api is only around 5 sec.
But I suggest you to experiment with Snap and FreeDcam, I use FreeDcam for long exposures and low light shots. And I use snap camera in the day time. I have denoise and ZSL forced off for both of them.
The preview should get slow and laggy on cam 2 api but stay the same on Cam 1 api
shaneel1491 said:
I guess Google's HDR+ algorithm is the only great thing the Pixel has we don't besides that fact they don't have long exposure so they can't take as good night pics as us.
In camera 1 Api we can go all the way to 60 sec, although stock libs limited at 32 sec which is fine. Also we do have ISO 50 on FreeDcam API 2, I think I have a specially built FreeDcam by @defcomg who sorted it out. I'll ask him if I he or I can post it here.
Also Quallcomm seemed to mess up the camera libs recently and max exposure on cam 2 api is only around 5 sec.
But I suggest you to experiment with Snap and FreeDcam, I use FreeDcam for long exposures and low light shots. And I use snap camera in the day time. I have denoise and ZSL forced off for both of them.
The preview should get slow and laggy on cam 2 api but stay the same on Cam 1 api
Click to expand...
Click to collapse
I tried freedcam with 50 iso, but the photo actually got iso 100 still. You can also set iso 50 in snap camera, which still outputs 100.
Turn ZSL (0 lag?) is better for HDR? I heard a saying that ZSL is not as good as longer hdr, which is software implementation.
forgivemypoorEN said:
I tried freedcam with 50 iso, but the photo actually got iso 100 still. You can also set iso 50 in snap camera, which still outputs 100.
Turn ZSL (0 lag?) is better for HDR? I heard a saying that ZSL is not as good as longer hdr, which is software implementation.
Click to expand...
Click to collapse
When zsl is enabled you can't have manual controls, so that's why I disable it. But also try in FreeDcam (cam 1) to set shutter speed and leave ISO on auto and see, it's possible to get up to 0 ISO.
shaneel1491 said:
When zsl is enabled you can't have manual controls, so that's why I disable it. But also try in FreeDcam (cam 1) to set shutter speed and leave ISO on auto and see, it's possible to get up to 0 ISO.
Click to expand...
Click to collapse
cam 1 you mean Camera api 1? It crash a lot (every time I touch to focus, or use exposure longer than 1/3s ). I couldn't got iso lower than 100. Do I need to use hdr mode to get this or any mode as long as I set iso to auto and a long shutter?
hdr+ is out for mi5s
It's funny since people thought it was impossible 1+ year ago but now thanks to awesome devs more devices can taste the magic of Google Camera HDR+
How to Copy Google Pixel Camera algorithm into Xiaomi Redmi 6A?
Hello everybody Is it possible to copy the algorithm of Google pixel camera and install it in Xiaomi mi Redmi 6A? Because both have exactly same sensors. So is there any way to copy pixel's algorithm and software into my Redmi 6A ?Thanks to all
Hi all -- When I purchased a Moto Z late last month, I was excited about the device's performance but blind to the fact that I was going to lose the HDR+ camera mode that I had become so accustomed to with my Nexus 6.
This got me working on some potential solutions -- and after decompiling the Camera NX app posted on chromloop.com, I was able to change some settings that enable full HDR+ photography on the Moto Z. So if any of you are craving being able to take photos with Google's HDR+ mode, here is a modified APK that will allow you to do so: http://www.mediafire.com/file/l8num4lyw05vybt/Camera4-hdrplus.apk
I have been using it for several weeks on my Moto Z, and I can confirm that the HDR+ images come out looking much better than those taken with the stock camera app or even the same modified Camera NX app with HDR+ disabled. It's slightly buggy (low-light images are only occasionally not saved) but a great solution for any Moto Z users afflicted with the Nexus blues. This should also work on other devices with equivalent Camera2 API support; if you are wondering whether it will work, just try it -- if HDR+ images are successfully captured, your device supports the needed API calls.
Can you enable RAW capture and manual control?
Hello, I installed the camera application, but when I go to slow motion mode, App crashes. Any solution?
Will this be continually developed?
Because this is a wonderful addition. Just needs some bug fixes and it'll be seriously golden.
D13H4RD2L1V3 said:
Will this be continually developed?
Because this is a wonderful addition. Just needs some bug fixes and it'll be seriously golden.
Click to expand...
Click to collapse
I'm afraid that ongoing development of this app might be challenging, as I'm no expert in modifying decompiled apps, which this is (as the official Nexus/Pixel camera app is closed source). The extent of my modifications, believe it or not, was to return a constant boolean value of "true" for a function that checks whether a device is a Nexus 6P -- so the app enables HDR+ as the app is hard-coded to enable all functions available on Nexus 6P devices. It just happened to be very lucky that HDR+ is supported! -- I'm not so optimistic about being able to enable slow motion video, RAW capture, or manual control, but I will keep those in mind next time I have more time to work on this.
need root? or standard apk install
taphius said:
need root? or standard apk install
Click to expand...
Click to collapse
Just a standard APK install.
elosito said:
Hi all -- When I purchased a Moto Z late last month, I was excited about the device's performance but blind to the fact that I was going to lose the HDR+ camera mode that I had become so accustomed to with my Nexus 6.
This got me working on some potential solutions -- and after decompiling the Camera NX app posted on chromloop.com, I was able to change some settings that enable full HDR+ photography on the Moto Z. So if any of you are craving being able to take photos with Google's HDR+ mode, here is a modified APK that will allow you to do so: http://www.mediafire.com/file/l8num4lyw05vybt/Camera4-hdrplus.apk
I have been using it for several weeks on my Moto Z, and I can confirm that the HDR+ images come out looking much better than those taken with the stock camera app or even the same modified Camera NX app with HDR+ disabled. It's slightly buggy (low-light images are only occasionally not saved) but a great solution for any Moto Z users afflicted with the Nexus blues. This should also work on other devices with equivalent Camera2 API support; if you are wondering whether it will work, just try it -- if HDR+ images are successfully captured, your device supports the needed API calls.
Click to expand...
Click to collapse
Thank you so much for this. I see a big difference with HDR+. I've had the Nexus 6P and Pixel, I know how great HDR+ is. It's sad that Google closed source their app.
Let us know if you can enable RAW, because HDR+ takes 3 RAW photos for the composition, so theoretically RAW is supported by the app.
This is awesome! So far with just a little experimenting today with a Force, I can see the difference. I look forward to testing it further.
elosito said:
Hi all -- When I purchased a Moto Z late last month, I was excited about the device's performance but blind to the fact that I was going to lose the HDR+ camera mode that I had become so accustomed to with my Nexus 6.
This got me working on some potential solutions -- and after decompiling the Camera NX app posted on chromloop.com, I was able to change some settings that enable full HDR+ photography on the Moto Z. So if any of you are craving being able to take photos with Google's HDR+ mode, here is a modified APK that will allow you to do so: http://www.mediafire.com/file/l8num4lyw05vybt/Camera4-hdrplus.apk
I have been using it for several weeks on my Moto Z, and I can confirm that the HDR+ images come out looking much better than those taken with the stock camera app or even the same modified Camera NX app with HDR+ disabled. It's slightly buggy (low-light images are only occasionally not saved) but a great solution for any Moto Z users afflicted with the Nexus blues. This should also work on other devices with equivalent Camera2 API support; if you are wondering whether it will work, just try it -- if HDR+ images are successfully captured, your device supports the needed API calls.
Click to expand...
Click to collapse
This is incredible! How did you figure out how to bypass the checks and actually enabled the hdr+? Google never open sourced this so how were you able to get it to work? Many have tried to get hdr+ but failed.
Today's testing was outside and yielded mixed results. I'll continue to experiment.
Sent from my XT1575 using XDA-Developers Legacy app
Wen trying to install the apk it says there was a problem parsing the apk
I created a little album on Google Photos demonstrating the difference between regular shots, the stock app's HDR mode and HDR+. They are shot in that order but I have put them in the description in order to aid identification. Differences can be subtle but often, they are very dramatic.
If you need to know, my variant is an unlocked standard Moto Z running Android 7.0 that's also rooted. It also has a 1/3" 13MP Sony IMX214 with 1.12-micron pixels and an f/1.8 aperture. Pretty sure the Force will do better since it has a larger sensor at 1/2.4". Regardless, HDR+ makes a significant enough difference that it has become my main camera app. If I still had my Note 7, I'd be drooling right now.
https://goo.gl/photos/bQ1NQzCCMmviGtCs6
Thanks for sharing this. I've done something similar with the Force camera.. It's a mixed bag to me. Often HDR+ did a better job with the sky, but often its shots were too dark to me. I've seen a bigger difference with indoor shots.
Thanks for the sharing. Hope moto can implement HDR+ to its own camera app.
benjamminh said:
Thanks for sharing this. I've done something similar with the Force camera.. It's a mixed bag to me. Often HDR+ did a better job with the sky, but often its shots were too dark to me. I've seen a bigger difference with indoor shots.
Click to expand...
Click to collapse
Yeah, the 6p and pixel both exhibit the same thing, most of the the time their shots are going to look darker (if you compare them side by side to other phones)
D13H4RD2L1V3 said:
I created a little album on Google Photos demonstrating the difference between regular shots, the stock app's HDR mode and HDR+. They are shot in that order but I have put them in the description in order to aid identification. Differences can be subtle but often, they are very dramatic.
If you need to know, my variant is an unlocked standard Moto Z running Android 7.0 that's also rooted. It also has a 1/3" 13MP Sony IMX214 with 1.12-micron pixels and an f/1.8 aperture. Pretty sure the Force will do better since it has a larger sensor at 1/2.4". Regardless, HDR+ makes a significant enough difference that it has become my main camera app. If I still had my Note 7, I'd be drooling right now.
https://goo.gl/photos/bQ1NQzCCMmviGtCs6
Click to expand...
Click to collapse
I like five of the shots with HDR+ more (two are very significant) 7 with the Moto HDR, and three with the normal mode fwiw.
skullman_247 said:
Wen trying to install the apk it says there was a problem parsing the apk
Click to expand...
Click to collapse
Has to be on Nougat
You know, I wonder if this works with the Hasselblad mod.
I've always thought that the issues with the Hasselblad camera are software-related since the sensor is likely the same one from the 6P. If HDR+ and better processing can save it, color me impressed.
I unlocked and changed ROM in a Moto G5, but then the Manual controls on the camera is gone. The app of the Motorola does not work as expected. It has a couple of nice features, like the before mentioned manual controls and slow motion shoot mode. Anyone used any APK and can contribute?
Been researching about it, and found the build.prop line to turn on the camera2 api from google, but no camera work after line is added for me.
Anyone has fixed the fine controls with some hack? Any tip or information about this matter?
UPDATE: Used hide tags to organize this post better and make information easier to find.
Alright, so you've got a shiny new Moto G5 plus, which supposedly has a similar Sony imx sensor as the one found on flagships like the Galaxy S7 and Pixel2. Yet, you are somehow disappointed by the camera's quality.
YOU ARE NOT ALONE!
Turns out the camera sensor on this thing is actually pretty darned good, and the f/1.7 lens is no slouch, however it is being held back by poorly designed software from Moto/Lenovo.
Before I got into the solutions, let me specifically point out the problems I found with the camera so we're on the same page (click to reveal content, or just skip the fixes below):
1) Overzealous Sharpening and aggressive Noise Reduction are the biggest culprits. It almost looks like a bad filter is being applied to your images, turning fine details into mush and contrasty lines like text into something bizarre and artificial looking. The camera is doing this as part of the internal capture process, so this happens no matter what application it is taken in.
2) Highlights clipping earlier than it should. I'd say this might be a function of the camera's sensor more than the hardware, but analyzing RAW data from the sensor (more on that later) in my admittedly unscientific half-hazard naked eye, I'd go out on a limb and say it seems like we're not being shown all the DR the camera is able to see. To the layman: this means brights turn completely white effectively overexposing parts of the image that should otherwise still look OK.
3) The preview/viewfinder mode is even worse at #1 than the captured image is. That is, the preview mode (the video feed you see before you capture the full resolution image) is still applying the sharpening and NR at the same level as the captured image, however since the resolution is lower for the preview, it looks more exaggerated and ugly. This means two things: A) Its hard to tell what the image you take will look like, as the preview is ugly (and you have to hope the final will look better), and B) some apps use the preview feed as their capture method. For example, snapchat and augmented reality apps like Pokemon Go. It just looks terrible.
The good news is that there is a lot that can be done to improve and fix the camera.
The bad news is that almost all of it requires modifying system files. That means those with locked bootloaders (Amazon ad users or those who are afraid of voiding their warranties) might be out of luck.
You don't necessarily need root access, although some of this can be more easily performed with root. I needed to unlock my bootloader and performed most of this within TWRP, but chose to keep my phone otherwise unrooted. I'm going to split this into sections, fixing and improving.
A) FIXING THE IMAGE PROCESSING ISSUES
If you want to remove/circumvent the aggressive sharpening and NR issues (so that apps like snapchat or other camera applications don't look over-processed, including the stock Moto cam), try the following:
1) Chromatix mod. Shout out to @defcomg for finding and adjusting the values that control sharpening and NR in the system libs. See thread here:
https://forum.xda-developers.com/g5-plus/themes/modcamera-aggressive-sharpening-noise-t3604458
There are two sets of files to replace in your system. Chromatix and LIBMM. NOTE: I don't recommend the LIBMM / binning part. Binning is combining pixels together into an averaged single pixel value, effectively reducing resolution to combat noise on the sensor. In other words, instead of having a large possibly noisy image, you get a smaller less noisy picture. But you can always choose to resize the image in post after you take it with the same resulting effect, so I don't see why this would be desirable to do. I recommend just applying the chromatix mod to remove the sharpening and NR. If you're comfortable using TWRP, there's actually a flashable zip in post #9, which is what I personally did (again, remember I'm not rooted, so I needed to flash/overwrite/etc within TWRP).
After applying this mod, even the stock camera app looks better, and apps that use the live preview (Snapchat, Pokemons AR view, etc) don't have the shadow ghosting from excessive sharpening anymore either. You might want to apply some sharpening and NR in post yourself if the image requires it, but thats always something you can choose but at least you have control over it and even without doing that it looks far better and more natural than stock to me.
2) Enable camera2 API. This doesn't have a direct effect on quality, but will allow other apps to have more direct access to the camera. If you want to improve beyond the results of #1 above, you'll need this.
The stock rom, surprisingly, has Camera2 API included, however it is disabled by the build.prop file. Again, no idea why Moto/Lenovo chose to do this, but the good news is you can enable it again easily. To do this, you need to add the following line to the build.prop
persist.camera.HAL3.enabled=1
Or if rooted, via terminal / shell:
su persist.camera.HAL3.enabled 1
Once this is enabled, you can use apps such as the modified freedcam to shoot RAW, as found here: https://forum.xda-developers.com/g5-plus/how-to/how-to-enable-camera2-shoot-raw-root-t3582392
I found RAW from this app particularly difficult to work with, so I'm keeping it for experimentation purposes but for practical real-world usage, I'd recommend the next item below.
B) IMPROVING YOUR PHOTOS (or, how to install Google Camera!)
Section A was all about how to avoid the crummy filters that get automatically applied to the camera. But your device is capable of even BETTER photos by using Google's magic HDR+ algorithm (the special sauce that makes the Pixel phones so awesome). Here's how to do that:
1) If you haven't already enabled the Camera2 API, you need to do that first (info in section A above).
2) Get a working version of Google Camera with HDR+ for your phone. The last available 32-bit version with HDR+ is Gcam 4.2, so if you're on the stock ROM like I am, you're stuck with only the 32-bit versions (all the new versions with the bells and whistles are 64-bit only). The image quality is remarkably better, both in sharpness and dynamic range in almost any light. I have to admit, I'm in love with the images from this, and have even printed some for my wall.
You can get the APK ported from the Nexus 5x version here:
https://forum.xda-developers.com/showpost.php?p=74081041&postcount=3
UPDATE: New version from Savitar on post #44!
https://forum.xda-developers.com/showpost.php?p=75483974&postcount=44
Problem is, our cameras use a different focus system than phones like the Nexus and Pixel. So, in photo mode, it doesn't really work correctly. Switching over to video mode, however, DOES work (likely using contrast detection focus, which is slower but more universal, especially for video focus). So the workaround is to swipe over to video mode, focus, swipe back to photos and press-and-hold to lock focus. It's annoying, but HDR+ is that good that I still try to work with it much of the time.
For times that it would be frustrating or not necessary, I'll just resort to the stock camera app or Footej camera, since the chromatix mod makes them mostly usable now. Just not ZOMG AMAZING like the Google HDR+ does.
OPTIONAL #3) Install a 64-bit custom Rom and use the latest Google Camera HDR+ app floating around (v4.4). The recent versions B-S-G released based on the Pixel camera has options to change camera modes in settings, some combination of which supposedly focus properly. You will likely get a more stable camera app experience with this as it requires less modification to work, but you'll have to be committed enough to go off stock.
Check out the app and suggested settings to try here:
https://forum.xda-developers.com/showpost.php?p=74999182&postcount=19
Thanks @shanks125 for the info!
Update 1/3/18: I just heard there is a port of the new portrait mode feature from the Pixel2 that is sort of working on 64-bit roms, but I think some modifications will need to be made to avoid focus drift like previous modded gcam versions.
There is also a 32-bit version of the new v4.4 that @Aby lad came up with in this thread:
https://forum.xda-developers.com/android/apps-games/google-camera-4-4-arm-device-t3666090
In order to make it more compatible with other devices, it looks like he has disabled the Hexagon DSP, which I think is what makes HDR+ work, so while we can now change settings and focus, HDR+ isn't working. The app still has some Google goodies like Sphere and Blur mode, but without HDR+ the real benefit of Google camera is lost anyway. Might as well use stock with chromatix mod at that point.
Hope some of you find this helpful/useful!
UPDATE 12/28/17: New GCam with 6P features on post #14.
There actually may be some alternate versions of the gcam apk with benefits the one originally linked above doesn't have. I will try to update when if/when I find them.
Dishe said:
There actually may be some alternate versions of the gcam apk with benefits the one originally linked above doesn't have. I will try to update when if/when I find them.
Click to expand...
Click to collapse
That would be useful!
So if I apply the chromatic mode, do I still have to enable the Camera2 API?
It's my bad. I would like to know if there is a way to disable Camera2 api. I am on Linage 14.1 and I edited my prop.build (yeah, I know). I switched back to the original line of code, but camera app still crashing. How to revert without reflashing the rom? Thanks.
edit. reflashed.
iBART said:
It's my bad. I would like to know if there is a way to disable Camera2 api. I am on Linage 14.1 and I edited my prop.build (yeah, I know). I switched back to the original line of code, but camera app still crashing. How to revert without reflashing the rom? Thanks.
edit. reflashed.
Click to expand...
Click to collapse
Did you try clearing data+cache for the camera app?
iamsonal said:
So if I apply the chromatic mode, do I still have to enable the Camera2 API?
Click to expand...
Click to collapse
Nope, but it doesn't hurt to so why not? Some apps will have more options in camera2 if enabled.
iBART said:
It's my bad. I would like to know if there is a way to disable Camera2 api. I am on Linage 14.1 and I edited my prop.build (yeah, I know). I switched back to the original line of code, but camera app still crashing. How to revert without reflashing the rom? Thanks.
edit. reflashed.
Click to expand...
Click to collapse
There is another way to enable camera2 api if you're using a custom ROM. You need to flash a magisk module.
https://forum.xda-developers.com/showpost.php?p=74081041&postcount=3
Which Google camera works in a complete stock g5? I keep getting a praising error with every one I try.
eemgee said:
Which Google camera works in a complete stock g5? I keep getting a praising error with every one I try.
Click to expand...
Click to collapse
Parsing error means you are probably trying to use a 64-bit or one made for a different version of Android (7.1 instead of 7.0). The one linked above will work.
However, all recent versions of Google's Camera require the camera2 api to work. That's one of the primary reasons to enable the Camera2 api in my opinion. It comes in the stock rom, but it is disabled for some inexplicable reason (G5S model has it enabled, so some people are hoping that we'll get it enabled with an update or at least when Oreo rolls around). The good news is that it only takes one line of text in the build.prop file to enable it on the G5+. However, the bad news is that build.prop is part of the protected system partition, so editing it requires root-level file access. Doesn't seem to be any way to do that without unlocking the bootloader, so either way you won't be able to do it on a 100% stock g5+ as things are right now.
Thanks i managed to get 2.7 working.
I will unlock the bootloader at some point in the next few weeks....
There is also a Magisk module in post #54 on that Chromatix thread. Really helpful!
Hi, so in search for better images from my g5+ camera I stumbled upon this place and rooted my phone to add the chromatix mods and edit the build.prop file .
I downloaded the google camera port v4.2 for the hdr+ but have been unable to install it as I get the error that package may be corrupted.
So could someone please link me to one which is good or upload it.
And BIG thanks to this community.
New gcam from savitar
UPDATE: Better gcam version from Savitar/Defcomg
http://s000.tinyupload.com/?file_id=00826724446841525700
Features:
Burst Mode (hold shutter button)
Focus doesn't drift when switching from video mode (this is a huge fix IMO- old app would drift after setting focus in video mode).
Selfie cam now has HDR as well (with caveats)
RAW image capture with each photo!
Instructions for use are largely the same as the old app, but it works better / more reliably now:
WHEN USING APP FOR THE FIRST TIME, GO INTO SETTINGS AND CHANGE VIDEO TO 4K. This will prevent FCs.
To take a picture:
1) Swipe left to switch to video mode, tap to focus
2) Once focus is achieved, swipe right to return to photo mode. (Focus should not drift in this version)
3) Tap the area again in photo mode, and hit the shutter button.
NOTES:
It appears that you no longer need to press-and-hold to lock focus in photo mode before shooting. I believe this is because the focus system doesn't adjust anymore in photo mode (I'm guessing Savitar/Defcomg removed it to combat that focus drifting problem). It is already locked at wherever you put it in video mode. You DO however need to still tap the screen as if you are focusing. I think this is because the camera needs to think it is focusing, but it is anyway helpful to tap somewhere for metering / exposure reading purposes. Skipping the press-and-hold to lock focus makes it a lot more manageable.
This version of the app is setup to shoot RAW+Jpeg, so you will find your camera roll will have both a jpeg and DNG file of the shot. Be aware that the RAW DNG files are multiple times larger than the jpeg, so you may want to keep an eye on storage if you shoot a lot of them. They're really useful if you want to adjust WB and exposure afterwards, quality is astoundingly good.
Selfie Mode was broken in HDR+ on earlier builds because for some reason the front camera on our phone doesn't return an ISO value to the app (says iso is zero). The HDR+ algorithm would fail. Savitar/defcomg fixed it by setting it always return a value (he picked 100, otherwise it would overexpose in daylight). The catch is that in lower lighting, the selfie HDR+ comes out darker than expected. Thankfully you can take the RAW file and adjust the exposure in post if needed (snapseed, Lightroom mobile, etc). But there might be times it is just too dark to be useful. The difference when it works is big enough that I recommend it trying it at least once to compare.
ENJOY!
Big shout out to @defcomg for this and all his awesome mods!
Landscape gcam 6p
A modified version of the APK above is available which starts the camera off focused at infinity.
http://s000.tinyupload.com/?file_id=31694573387513766779
This was made for people who want to shoot landscapes and/or things far enough away that they don't want to deal with focusing (swipe to video mode, etc). See a beautiful sunset for example, open this app, tap the sky and hit the shutter. Its already focused in the right position.
Otherwise identical to previous post's apk. Can be installed side-by-side, as each app has its own ID.
can't use gcam because it crashes at first run
marcol87 said:
can't use gcam because it crashes at first run
Click to expand...
Click to collapse
Do u have camera2 API enabled?
Dishe said:
UPDATE: Better gcam version from Savitar/Defcomg
Click to expand...
Click to collapse
Thank you for sharing this.
Add this, BSG GCam MOD with working HDR+ and Touch to Focus for 64bit roms. Settings as per attachment! https://androidfilehost.com/?fid=889964283620770378
Dishe said:
Do u have camera2 API enabled?
Click to expand...
Click to collapse
yes, I added persist.camera.HAL3.enabled=1 to build.prop and rebooted
Dishe said:
persist.camera.HAL3.enabled=1or
Click to expand...
Click to collapse
ps: the string persist.camera.HAL3.enabled=1 is wrong in the OP