Google Camera with working portrait mode V8.2

Search This thread

miniuser123

Senior Member
Aug 17, 2012
201
1,641
Here is my version of Google Camera based on BSG's original port.
Although I aimed to get it working only on Galaxy S7 Exynos, there are reports that it is working on other devices like S7 Snapdragon, S8, Note 8 etc...

Working list on S7 Exynos:

-Portrait mode front/back cam
-HDR+ front/back cam
-photo sphere
-panorama

Bugs on S7 Exynos:
-after clean install or clear data when you launch the app for the first time, some settings might not be applied correctly. Please enter settings, then kill the app and start again and everything should be OK.
-if the app hangs during processing a HDR+ or portrait shot, memory leak (500-600 MB) could happen. If it is leaked by GCam, a force close in settings can eliminate it (a swipe away is not enough). However if it is leaked by cameraserver, cameraserver needs to be killed i.e. a reboot is needed for non-rooted users. Memory leak could be observed by looking at 'cat /d/ion/buffer' using adb or root shell. The Pixel 2017 config is more prone to memory leak.
-incorrect EXIF data if denoise is set higher than 100%.
-Pixel 2017 config: Shots with flash might cause a crash sometimes.
-Flash is out of sync without HDR+ turned on.

Working/not working for other galaxys:
Note 8: Rear camera touch to focus not working
S8,S8+ oreo: Pixel 2017 config not working, use Nexus 6 auto instead

Settings to be used:

V8: Clear Data, launch app, enter settings, force close app, relaunch app. You will have the settings I use currently.

Some comments to settings:

Main settings:
NonZSL HDR+ Auto exposure-mode: use "Slow shutter" if you are taking pics of static objects in low light environment. In good light it doesn't matter.
NonZSL HDR+ underexposuse multiplier: Gcam achives great dynamic range by taking underexposed pictures, then brightens them digitally in a very smart way to get a good looking results. However this method can cause the well known rainbow effect sometimes. You can mitigate this effect by lowering underexposure. Dynamic range will be worse of course.

Advanced
HDR+ front camera fix: on if you have a Galaxy S7 Exynos. If HDR+ works for you without this on front cam, don't turn this on, because it will degrade dynamic range in good light!!!!

Current version:

V8.2:
https://drive.google.com/file/d/1arSo81b5NE6U6Gow7GkEteJ2wdq4vjEc/view?usp=sharing

Changes vs. V7:
-made Pixel 2017 ZSL config work on our device. I had to disable reprocessing, and smart touch to focus. Also some experimental Pixel specific features like hybrid AE cannot work on our device, so don't expect Pixel like quality. Basically the only change versus Nexus 6 config is that if the HDR+ switch is set to the middle, you will have zero shutter lag HDR+ instead of auto HDR+. ZSL HDR+ is the same thing we already had before in portrait mode. So less dynamic range, and more noise in low light because slow shutter mode is not available. However it is much better in good/medium light if you make photos of unpredictable things like kids, because it processes images already taken in the background. In low light, or high contrast scenes please use Enhanced (nonZSL) HDR+! In "HDR+ parameters" setting I recommend using one of the Pixel 2017 options, because they should be more stable regarding memory leak. "High", "very high" and even "default" leak memory if pixel 2017 config is used.
-BSG mod settings moved to Advanced settings.
-you can now use portrait mode without zoom
-portrait mode pictures can be saved directly to DCIM/Camera. However: the built-in gallery can get confused by this, so I recommend using Google Photos instead (camera.use_photos must be enabled in dev settings). And even more importantly: before V8, the built-in gallery in GCam will delete all portrait pics from DCIM/Camera if you delete a single portrait pic from DCIM/Camera!!!! I patched this in V8, but if you were to go back to a previous version or any other port, you can get into trouble easily!!!!
-you can modify some internal denoise settings. Unfortunately I couldn't find a combination which improves quality in all situations, but feel free to play around with them. Turn on the switches to apply changes.
-fixed a rare background battery consumption issue.
-camcorder fixes: front cam is working now, enabled optical stabilization, Samsung HDR can be turned on for video.

Previous versions:

V7:
https://drive.google.com/file/d/1SyiyFFVlrqCpCPG7PCTaU48RfzXGp8Vz/view?usp=drivesdk

Changes vs. V6:
-HDR+ setting (off,auto or on) should be permanent now

V6: https://drive.google.com/file/d/1zycetD_48ZsD9qu2gkw81hG9Xs0qzc5P/view?usp=sharing

Changes vs. V5:
-fixed bug which caused hdr+ shot failure sometimes!
-attempted to fix HDR+ portrait mode (can be activated by disabling portrait ZSL mode).
-added some description to "HDR+ parameters". For example: 8/10 burst, 1500 MB means: HDR+ operates with 8 shot bursts. Portrait mode (ZSL) operates with 10 shot bursts at most. Estimated total memory usage: 1500 MB (including camera2 api buffers).

V5: https://drive.google.com/file/d/1TLi5mt9DDlraF5ncE4SbV7lcfHpeqv4X/view?usp=sharing

Changes vs. V4:
-added more shutter options. Selecting "Stock camera2 api" will get rid of rainbow effect, but dynamic range is poor, because camera can't underexpose fast enough if auto shutter control is on.
-added antibanding modes. Works up to 1/149 sec shutter speed. Only select 50hz or 60hz in case of banding problems, because it can cause suboptimal shutter speed otherwise!
-denoise strength for HDR+ and portrait. For front cam you need to select about 2-300% to really see the difference. Back cam is much more sensitive to this setting.
-HDR+ dynamic range control (called Underexposure multiplier). Reduce below 100% to decrease rainbow effect.
-added Samsung specific metering modes. To enable touch to expose, select "Controlled by GCam".
-added Samsung Live HDR mode. Adds some dynamic range to modes where HDR+ is not available like zero shutter Portrait mode. No Rainbow effect in HDR+ mode if this is selected, but noise is too much unfortunately!
-you can enable HDR+ for Portrait mode by disabling "Portrait ZSL mode". Better dynamic range, custom shutter control, but no zero shutter lag.
-custom white balance. I set greens to 96% to get rid of the greenish look where I sit right now, but it is a matter of taste probably.
-modified HDR+ quality settings. Choose "Very high" if you were using "Medium" before (unstable for me). The recommended "Default" setting is the same as before, it is somewhere between medium and high.


V4: https://drive.google.com/file/d/1Lg4uuoiWM4c_XS8KZp4NXOsFkIY4M50B/view?usp=drivesdk

Changes vs. V3:
-front cam HDR+ workaround for S7. Still to be tested in very bright conditions. Turn on "HDR+ front camera fix" if you have an S7.
-front cam: normal pics in auto HDR+ mode are saved now
-front cam: improved non-HDR+ quality
-added a custom auto-exposure mode for HDR+ (only HDR+, so not for portrait). It is called "Slow shutter" because it will decrease shutter speed as much as possible (1/10 secs on S7) in bad light. The result: much lower ISO and noise. Of course fast moving objects will probably get blurry more easily. Only tested this on S7, on other devices it might need some tuning.

V3: https://drive.google.com/file/d/1pPWR2MjeSeC-b_9B5TI1Oi_RfOti6IXo/view?usp=sharing

Changes vs. V2:
-purple colour on highly exposed areas in front camera fixed
-front cam HDR+
-made medium-very high HDR+ settings work again

V2: https://drive.google.com/file/d/1vRcLKVq8qbTL1KbMajPCEROMmnnod1va/view?usp=sharing
 
Last edited:

eruanii

Member
Dec 13, 2017
37
23
Here is my version of Google Camera based on BSG's original port.
Although I aimed to get it working only on Galaxy S7 Exynos, there are reports that it is working on other devices like S7 Snapdragon, S8, Note 8 etc...

Working list on S7 Exynos:
-Portrait mode front/back cam
-HDR+ back cam
-photo sphere
-panorama

Bugs on S7 Exynos:
-front camera HDR+ very buggy, not recommended for now
-front camera normal shots are low quality
-exposure adjustment not working on touch to focus
-after clean install or clear data when you enter then exit settings the first time, the app hangs. Kill the app and start again to fix it.
-if the app hangs during processing a HDR+ or portrait shot, memory leak (500-600 MB) could happen. If it is leaked by GCam, a force close in settings can eliminate it (a swipe away is not enough). However if it is leaked by cameraserver, cameraserver needs to be killed i.e. a reboot is needed for non-rooted users. Memory leak could be observed by looking at 'cat /d/ion/buffer' using adb or root shell.

Working/not working for other galaxys:
....

Settings to be used:

B-S-G mod settings:
HDR+ front camera: off
Model: Pixel XL Marlin+Taimen
Config camera HDR+: Nexus 6 hdr+ Auto
HDR+ parameters: Default
Fix black level front camera: 0.00
Portrait Mode on all models: enabled

Developer settings:
Camera.faceboxes: enabled
Camera.af.debug.show: disabled

Current version:
V3: https://drive.google.com/file/d/1pPWR2MjeSeC-b_9B5TI1Oi_RfOti6IXo/view?usp=sharing
Your port have been super amazing. Im using s8 Plus and Note 8 Exynos and Ive completely ditch the stock camera (except for videos). Medium hdr parameter+pixel 2xl works best for me (anything higher has no signjficant improvement from medium) as it reduces noise and artifacts on lowlight so I'm kinda curious, will there be any way to improve the shutter speed at these settings?

More powers to you and you should be considered an international treasure for Exynos users!
 
Last edited:

johnybr99

Senior Member
Sep 20, 2015
354
108
Here is my version of Google Camera based on BSG's original port.
Although I aimed to get it working only on Galaxy S7 Exynos, there are reports that it is working on other devices like S7 Snapdragon, S8, Note 8 etc...

Working list on S7 Exynos:
-Portrait mode front/back cam
-HDR+ back cam
-photo sphere
-panorama

Bugs on S7 Exynos:
-front camera HDR+ very buggy, not recommended for now
-front camera normal shots are low quality
-exposure adjustment not working on touch to focus
-after clean install or clear data when you enter then exit settings the first time, the app hangs. Kill the app and start again to fix it.
-if the app hangs during processing a HDR+ or portrait shot, memory leak (500-600 MB) could happen. If it is leaked by GCam, a force close in settings can eliminate it (a swipe away is not enough). However if it is leaked by cameraserver, cameraserver needs to be killed i.e. a reboot is needed for non-rooted users. Memory leak could be observed by looking at 'cat /d/ion/buffer' using adb or root shell.

Working/not working for other galaxys:
....

Settings to be used:

B-S-G mod settings:
HDR+ front camera: off
Model: Pixel XL Marlin+Taimen
Config camera HDR+: Nexus 6 hdr+ Auto
HDR+ parameters: Default
Fix black level front camera: 0.00
Portrait Mode on all models: enabled

Developer settings:
Camera.faceboxes: enabled
Camera.af.debug.show: disabled

Current version:
V3: https://drive.google.com/file/d/1pPWR2MjeSeC-b_9B5TI1Oi_RfOti6IXo/view?usp=sharing

Changes vs. V2:
-purple colour on highly exposed areas in front camera fixed
-front cam HDR+
-made medium-very high HDR+ settings work again

Previous versions:
V2: https://drive.google.com/file/d/1vRcLKVq8qbTL1KbMajPCEROMmnnod1va/view?usp=sharing
Is there a fix coming for noisy portrait shots from FFC? In v2 the shots turned out great when there were no purple artifacts, but now, even though artifacts are gone, sharpness is too high.
 
  • Like
Reactions: [email protected]

eruanii

Member
Dec 13, 2017
37
23
Your port have been super amazing. Im using s8 Plus and Note 8 Exynos and Ive completely ditch the stock camera (except for videos). Medium hdr parameter+pixel 2xl works best for me (anything higher has no signjficant improvement from medium) as it reduces noise and artifacts on lowlight so I'm kinda curious, will there be any way to improve the shutter speed at these settings?

More powers to you and you should be considered an international treasure for Exynos users!

Update: and is there anyway we can make face retouch working in front cam non portrait mode. Thanks!
 

gambit3rd

Senior Member
Jul 10, 2008
111
10
First of all, thanks.

A question, if you can: On S7 (Note 8 Exynos here) touch focus won't work? I don't talk about exposure, I mean the focus. If I have an object in sight and want to focus it (macro style), if I touch on it then the focus will go far away. On the panorama/scene behind the object. And the object on the front line will be blurred. Only way to focus is to move the phone then center it on the object.

Again, thank you. Selfies are great with your port. Shame on Samsung. :/
 

Theking haha

Senior Member
Apr 16, 2017
51
12
Your port have been super amazing. Im using s8 Plus and Note 8 Exynos and Ive completely ditch the stock camera (except for videos). Medium hdr parameter+pixel 2xl works best for me (anything higher has no signjficant improvement from medium) as it reduces noise and artifacts on lowlight so I'm kinda curious, will there be any way to improve the shutter speed at these settings?

More powers to you and you should be considered an international treasure for Exynos users!

Hello, what is the difference between model chosed? And also do hdr parameters really make a difference?
 

eruanii

Member
Dec 13, 2017
37
23
Hello, what is the difference between model chosed? And also do hdr parameters really make a difference?
What phone are you using? Model wouild make certain options appear such as face retouching etc. Quality, I dont really see any big difference. Paramaters for me has significantly improve lowlight performance though there are also cons such as darker images in stiuations that subject is against the light. Medium parameter has given me less noisy images.
 
  • Like
Reactions: Theking haha

paolomanalo21

New member
Oct 31, 2016
4
0
@miniuser123

Thanks for this amazing port! Always a good job version after version.

Just to ask, the portrait mode with flash on hangs after taking a photo. Is this a known bug?

My device is S7 edge exynos.

Thanks and keep up the good work!
 

masterminh219

New member
Jan 17, 2018
3
0
Any eligible check for installing?

Hi @miniuser123,

I had Samsung A7 2016 with Exynos 7xxx inside. But I can not install the app. Is there any validation before installing? Can you remove that validation?
 

Aveeux

Senior Member
Apr 12, 2015
111
182
The update seems to have solved the purple tint when you are in overexposed areas. Majority seems to be working well now. Good job on the update. ???
 

Theking haha

Senior Member
Apr 16, 2017
51
12
What phone are you using? Model wouild make certain options appear such as face retouching etc. Quality, I dont really see any big difference. Paramaters for me has significantly improve lowlight performance though there are also cons such as darker images in stiuations that subject is against the light. Medium parameter has given me less noisy images.

So i use s7 edge exynos and use pixel 2 xl as model, so the parameters basically is different in quality in low light and not much difference in bright light right?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 242
    Here is my version of Google Camera based on BSG's original port.
    Although I aimed to get it working only on Galaxy S7 Exynos, there are reports that it is working on other devices like S7 Snapdragon, S8, Note 8 etc...

    Working list on S7 Exynos:

    -Portrait mode front/back cam
    -HDR+ front/back cam
    -photo sphere
    -panorama

    Bugs on S7 Exynos:
    -after clean install or clear data when you launch the app for the first time, some settings might not be applied correctly. Please enter settings, then kill the app and start again and everything should be OK.
    -if the app hangs during processing a HDR+ or portrait shot, memory leak (500-600 MB) could happen. If it is leaked by GCam, a force close in settings can eliminate it (a swipe away is not enough). However if it is leaked by cameraserver, cameraserver needs to be killed i.e. a reboot is needed for non-rooted users. Memory leak could be observed by looking at 'cat /d/ion/buffer' using adb or root shell. The Pixel 2017 config is more prone to memory leak.
    -incorrect EXIF data if denoise is set higher than 100%.
    -Pixel 2017 config: Shots with flash might cause a crash sometimes.
    -Flash is out of sync without HDR+ turned on.

    Working/not working for other galaxys:
    Note 8: Rear camera touch to focus not working
    S8,S8+ oreo: Pixel 2017 config not working, use Nexus 6 auto instead

    Settings to be used:

    V8: Clear Data, launch app, enter settings, force close app, relaunch app. You will have the settings I use currently.

    Some comments to settings:

    Main settings:
    NonZSL HDR+ Auto exposure-mode: use "Slow shutter" if you are taking pics of static objects in low light environment. In good light it doesn't matter.
    NonZSL HDR+ underexposuse multiplier: Gcam achives great dynamic range by taking underexposed pictures, then brightens them digitally in a very smart way to get a good looking results. However this method can cause the well known rainbow effect sometimes. You can mitigate this effect by lowering underexposure. Dynamic range will be worse of course.

    Advanced
    HDR+ front camera fix: on if you have a Galaxy S7 Exynos. If HDR+ works for you without this on front cam, don't turn this on, because it will degrade dynamic range in good light!!!!

    Current version:

    V8.2:
    https://drive.google.com/file/d/1arSo81b5NE6U6Gow7GkEteJ2wdq4vjEc/view?usp=sharing

    Changes vs. V7:
    -made Pixel 2017 ZSL config work on our device. I had to disable reprocessing, and smart touch to focus. Also some experimental Pixel specific features like hybrid AE cannot work on our device, so don't expect Pixel like quality. Basically the only change versus Nexus 6 config is that if the HDR+ switch is set to the middle, you will have zero shutter lag HDR+ instead of auto HDR+. ZSL HDR+ is the same thing we already had before in portrait mode. So less dynamic range, and more noise in low light because slow shutter mode is not available. However it is much better in good/medium light if you make photos of unpredictable things like kids, because it processes images already taken in the background. In low light, or high contrast scenes please use Enhanced (nonZSL) HDR+! In "HDR+ parameters" setting I recommend using one of the Pixel 2017 options, because they should be more stable regarding memory leak. "High", "very high" and even "default" leak memory if pixel 2017 config is used.
    -BSG mod settings moved to Advanced settings.
    -you can now use portrait mode without zoom
    -portrait mode pictures can be saved directly to DCIM/Camera. However: the built-in gallery can get confused by this, so I recommend using Google Photos instead (camera.use_photos must be enabled in dev settings). And even more importantly: before V8, the built-in gallery in GCam will delete all portrait pics from DCIM/Camera if you delete a single portrait pic from DCIM/Camera!!!! I patched this in V8, but if you were to go back to a previous version or any other port, you can get into trouble easily!!!!
    -you can modify some internal denoise settings. Unfortunately I couldn't find a combination which improves quality in all situations, but feel free to play around with them. Turn on the switches to apply changes.
    -fixed a rare background battery consumption issue.
    -camcorder fixes: front cam is working now, enabled optical stabilization, Samsung HDR can be turned on for video.

    Previous versions:

    V7:
    https://drive.google.com/file/d/1SyiyFFVlrqCpCPG7PCTaU48RfzXGp8Vz/view?usp=drivesdk

    Changes vs. V6:
    -HDR+ setting (off,auto or on) should be permanent now

    V6: https://drive.google.com/file/d/1zycetD_48ZsD9qu2gkw81hG9Xs0qzc5P/view?usp=sharing

    Changes vs. V5:
    -fixed bug which caused hdr+ shot failure sometimes!
    -attempted to fix HDR+ portrait mode (can be activated by disabling portrait ZSL mode).
    -added some description to "HDR+ parameters". For example: 8/10 burst, 1500 MB means: HDR+ operates with 8 shot bursts. Portrait mode (ZSL) operates with 10 shot bursts at most. Estimated total memory usage: 1500 MB (including camera2 api buffers).

    V5: https://drive.google.com/file/d/1TLi5mt9DDlraF5ncE4SbV7lcfHpeqv4X/view?usp=sharing

    Changes vs. V4:
    -added more shutter options. Selecting "Stock camera2 api" will get rid of rainbow effect, but dynamic range is poor, because camera can't underexpose fast enough if auto shutter control is on.
    -added antibanding modes. Works up to 1/149 sec shutter speed. Only select 50hz or 60hz in case of banding problems, because it can cause suboptimal shutter speed otherwise!
    -denoise strength for HDR+ and portrait. For front cam you need to select about 2-300% to really see the difference. Back cam is much more sensitive to this setting.
    -HDR+ dynamic range control (called Underexposure multiplier). Reduce below 100% to decrease rainbow effect.
    -added Samsung specific metering modes. To enable touch to expose, select "Controlled by GCam".
    -added Samsung Live HDR mode. Adds some dynamic range to modes where HDR+ is not available like zero shutter Portrait mode. No Rainbow effect in HDR+ mode if this is selected, but noise is too much unfortunately!
    -you can enable HDR+ for Portrait mode by disabling "Portrait ZSL mode". Better dynamic range, custom shutter control, but no zero shutter lag.
    -custom white balance. I set greens to 96% to get rid of the greenish look where I sit right now, but it is a matter of taste probably.
    -modified HDR+ quality settings. Choose "Very high" if you were using "Medium" before (unstable for me). The recommended "Default" setting is the same as before, it is somewhere between medium and high.


    V4: https://drive.google.com/file/d/1Lg4uuoiWM4c_XS8KZp4NXOsFkIY4M50B/view?usp=drivesdk

    Changes vs. V3:
    -front cam HDR+ workaround for S7. Still to be tested in very bright conditions. Turn on "HDR+ front camera fix" if you have an S7.
    -front cam: normal pics in auto HDR+ mode are saved now
    -front cam: improved non-HDR+ quality
    -added a custom auto-exposure mode for HDR+ (only HDR+, so not for portrait). It is called "Slow shutter" because it will decrease shutter speed as much as possible (1/10 secs on S7) in bad light. The result: much lower ISO and noise. Of course fast moving objects will probably get blurry more easily. Only tested this on S7, on other devices it might need some tuning.

    V3: https://drive.google.com/file/d/1pPWR2MjeSeC-b_9B5TI1Oi_RfOti6IXo/view?usp=sharing

    Changes vs. V2:
    -purple colour on highly exposed areas in front camera fixed
    -front cam HDR+
    -made medium-very high HDR+ settings work again

    V2: https://drive.google.com/file/d/1vRcLKVq8qbTL1KbMajPCEROMmnnod1va/view?usp=sharing
    53
    You are right. Tank you!

    Yep, just started working on next version yesterday, so be patient please.
    50
    V5

    V5 is out.

    Changes vs. V4:
    -added more shutter options. Selecting "Stock camera2 api" will get rid of rainbow effect, but dynamic range is poor, because camera can't underexpose fast enough if auto shutter control is on.
    -added antibanding modes. Works up to 1/149 sec shutter speed. Only select 50hz or 60hz in case of banding problems, because it can cause suboptimal shutter speed otherwise!
    -denoise strength for HDR+ and portrait. For front cam you need to select about 2-300% to really see the difference. Back cam is much more sensitive to this setting.
    -HDR+ dynamic range control (called Underexposure multiplier). Reduce below 100% to decrease rainbow effect.
    -added Samsung specific metering modes. To enable touch to expose, select "Controlled by GCam".
    -added Samsung Live HDR mode. Adds some dynamic range to modes where HDR+ is not available like zero shutter Portrait mode. No Rainbow effect in HDR+ mode if this is selected, but noise is too much unfortunately!
    -you can enable HDR+ for Portrait mode. Better dynamic range, custom shutter control, but no ZSL.
    -custom white balance. I set greens to 96% to get rid of the greenish look where I sit right now, but it is a matter of taste probably.
    -modified HDR+ quality settings. Choose "Very high" if you were using "Medium" before (unstable for me). The recommended "Default" setting is the same as before, it is somewhere between medium and high.
    44
    It looks like I managed to get front cam hdr+ working on S7. Again terrible implementation of camera2 api by samsung, not reporting exposure time correctly, so I needed a hack to get it working. I only tested it indoors, unfortunately high noise level is a huge problem which I try to do something about in the coming days.
    37
    Here is some more shutter modes added. Slow shutter X2 goes to 1/5 secs. X4 and X8 go even slower but they are completely unstable, I get a camera error after a few shots.
    Slow motion is fixed for S7 (I might have broke the app for other devices completely by doing this), turn off live hdr if in 240 fps mode or the lights will go off after a few secs:)
    This is kind of a half finished release...

    https://drive.google.com/file/d/1Mw2HL_cHr-fCOSwaIOEgUNhHHrw4f6As/view?usp=sharing