[GCAM] [MOD] UltraCam v8 [12.02.2021 update]

UltraM8

Senior Member
Jan 27, 2015
1,152
4,852
153
Moscow


UltraCam v8

Gcam mod based on mod by @Arnova8G2


UltraCVM is an ongoing project of building a gcam that would fullfill the need of an extreme imaging tool aimed towards exceptional quality for most up-to-date sensors used in flagship devices. Based off respective and known devs, keeping and extending their features.


Features:
Based on Arnova's 8.1.101 - all Arnova goodies included ;)

ULIB:
- Removed pixel models noise tuning
- Uncompressed dng processing
- Decreased downscale during calculations
- Removed embedded pixel DCP for DNG (thx Savitar)
- Patched to support bigger bayers for normal & sabre upscale processing
- Redid sabre shader
- Attempt to null underexposure mechanism

Camera:
- Custom packagename
- Custom config based on pixel5 & 6
- supported by: k20,k20pro,pocox3,pocof2pro,pocox2,zenfone6&7,oneplus7/t/pro/8/8pro,oppofindx2pro,opporeno10xzoom
- Fully optimized for both average & sum binning
- Turned on some unreleased pixel6 features
- Forced high quality processing for denoise, awb & edge detection
- Forced high precision shaders
- Fully uncompressed processing for dng & jpeg
- Extended processing buffers (might be unnecessary, experimental)
- Attempted to reverse proprietary pixel keys to fallback to qualcomm ones (experimental)
- Increased number of frames per payload stack up to 50 (used in high quality number of frames)
- Added qc bracketing to support shasta algorithm
- Added several custom noise models (thx savitar, sixarmedpriest & mevlut)
- Added OEM Noise Model switch to RamPatcher for those who dont have custom noise models in "Noise Model Config" section

Activated devices:
Since gcam 8 UltraCVM (much like original Arnova mod ultra is based off) support certain devices, including following:
- 1 : OneplusNord, Oneplus8T, Oneplus8Pro, Oneplus7Pro, Oneplus7tPro, S20 Ultra, Poco x3, Redmi Note 7 Pro, Zenfone6
- 2 : Oneplus7, Mi9TPro, Mi 10 ultra, Mi Note 10 pro, Mi Note 10 lite, Mi 10, Redmi Note 9 Pro, Oppo Find x2 Pro, Realmex2pro
- 3 : OnePlus 8, Mi9, S10 Lite, S20 plus, ROG Phone 3, Zenfone 7 Pro, Poco M2 Pro/Redmi Note 9S, Mi9T/RedmiK20
- 4 : OnePlus7t,OnePlus 7Pro 5G, Oppo Reno 10x, Mi9T/RedmiK20, Realme 7 Pro, S10 plus, S20 FE, S8, A71, S9+


Known bugs:
- Focus & fps issues in 48mp mode (in case you have 48mp working of course)
- Some devices (zenfone6) need GID changed in Aux Config section
- Storage Saver is always on (might wanna turn it off)

! IMPORTANT !
! If you're comning from any gcam which packagename is snapcam - make sure to install UltraCVM from scratch !

Changelog:

Code:
v8 12.02.2021
- Based on Arnova 8.1.101 mod
- Custom config based on pixel5 & 6
  - supported by: k20,k20pro,pocox3,pocof2pro,pocox2,zenfone6&7,oneplus7/t/pro/8/8pro,oppofindx2pro,opporeno10xzoom
- Fully optimized for both average & sum binning
- Turned on some unreleased pixel6 features
- Forced high quality processing for denoise, awb & edge detection
- Forced high precision shaders
- Fully uncompressed processing for dng & jpeg
- Extended processing buffers (might be unnecessary, experimental)
- Attempted to reverse proprietary pixel keys to fallback to qualcomm ones (experimental)
- Increased number of frames per payload stack up to 50 (used in high quality number of frames)
- Added qc bracketing to support shasta algorithm
- Added several custom noise models (thx savitar, sixarmedpriest & mevlut)
- Added OEM Noise Model switch to RamPatcher for those who dont have custom noise models in "Noise Model Config" section
- Fully custom ULIB:
     - Removed pixel models noise tuning
     - Uncompressed dng processing
     - Decreased downscale during calculations
     - Removed embedded pixel DCP for DNG (thx Savitar)
     - Patched to support bigger bayers for normal & sabre upscale processing
     - Redid sabre shader
     - Attempt to null underexposure mechanism

v5.1 03.08
- recalc S5K3l6 black level
- added imx471 & imx689 noise models
- set imx363 noise model as default for non supported devices
- further DR experiments
- further detail experiments
- added full range of  variance denoisers radiuses & advanced alignment denoisers
- added awb red point setting to patcher: you can now try to compensate pink/purplish tint on samsung sensors by inversing the color a little (thx r0m10 for lib examination on this)
- added GMM600 gamma & tone (thx to Fertde & And_rjy)

v5 05.06
- Various edits & tunings
- Fixed S5K3l6 & S5K3T2 AWBs (thx Arnova)
- Added S5K3l6 & ov8856 noise models
- Tweaked detail
- Tweaked DRC
- Added noise variance radiuses to libpatcher
- Added Sky Darkening & Sky Darkening Denoise to libpatcher

v4.1 24.05
- Various edits, tunings & fixes
- 845 vf fix (thx Urnyx)
- Added several new AWBs
- Added temporal denoise radius (thx r0m10)
- Limited frames off to 6 frames (to use in NS)
- Removed hdr bracketing as I couldn't make it properly working, at least for now

UltraCVM v4 11.05.2020
ULIB:
    - Retuned to natural look (thx r0m10 for cooperation on this)
    - Got rid of compression
    - Got rid of downsampling
    - Bilateral filter retweaked
    - Sabre slightly retweaked
    - Exposure slightly retweaked
Camera:
- Tuned for best possible picture quality (tested on Imx586)
- Redid & fixed Libpatcher
    - Added spatial denoise
    - Added option to use OEM noise model from rom libs
- Added shutter control
- Added exposure compensation
- Added AWB per AUX (thx  Arnova for helping with that)
- Ported Xiaomi API2 camera & AI keys
- Added experimental Qualcomm HDR bracketing mode
- Added awesome Tone & Gamma graph UI (thx Overwhelmer for helping with them)
- Added video bitrate options (thx Urnyx for helping with this)
- Added all my v3 NoiseModels with auto detection per sensor (thx Overwhelmer for helping)
    -  IMX586 Per-channel noisemodeller (v4 retweaked and fixed thx to Savitar)
    - S5KHMX noisemodeller
    - IMX686 noisemodeller
    - IMX582 noisemodeller
    - S5KGM1 noisemodeller
    - S5KGW1 noisemodeller (credit goes to Wave_Generator)
    - IMX363 noisemodeller
    - Added new model for selfie cam
- Fully reskinned settings & UI (thx The_Dise for helping with this)
- And finally - added new awesome custom Logo/icon thx to me :)

ultra 3.2.3 19.02
- various small fixes & edits
- added ability to choose between google stock and prepatched r0m10/Tolyan libs
- added S5KHMX noisemodeller
- added imx686 noisemodeller
- added imx582 noisemodeller
- added S5KGM1 noisemodeller
- added imx363 noisemodeller
- added GM1, OV13855, OV13880 AWB

ultra 2.2.1 27.01
- upped base to Urnyx05 v2.1
- moved back to stock lib
- overhauled & fixed libpatcher (thx to JohnGalt, Fractal, Arnova, Xenius)
- added option to choose awb for aux lenses
- fully rearranged menu
- added new per channel noise modeler for imx586 with own generated model (thx Savitar)
- My old 586 modeler applied to front camera and non gw1/imx586 devices
- cleaned up code & added small edits/fixes
- fixed photosphere
- added full res (48mp) mode (check post#2 to learn more)

ultra 1.1.8 31.12
- initial release

Download:
Download on Celso gcam hub

Credits & Special thanks to:

Zoran, BSG, Urnyx05, Cstark, AbhiShake, Wyroczen, Wichaya, JohnGalt, Burial, Marco and especially - Arnova and Savitar.

I'm not letting anyone reuse of Ulib, or using UltraCVM as base for your gcam mod!
 
Last edited:

UltraM8

Senior Member
Jan 27, 2015
1,152
4,852
153
Moscow
FAQ

Q This mod (or some of it's features) doesn't work on XYZ device/rom
A I can't support all devices. My main goal is to support at least as many flagships & good midranges 2019+ as possible. I can't guarantee also that mod will work well on custom non OSS Vendor roms.

Q Whats with noise?
A The goal of the mod is to give best results in good lighting conditions for the main lens. You can't have both detail & denoise, so denoisers are always lowered on my versions. On the other hand with some patches I'm doing to the lib - you get plenty of room to experiment with denoisers in libpatcher. Just spend some time with it.

Q Whats with focus tracking?
A Focus tracking is disabled in favour of manual tracker that is much more precise.

Q Whats with selfie camera?
A Unfortunately everything you put in main lens patcher - also sets for front camera as well. There is no way as of now to change this logic, the only solutions is make yourself a front xml and load it each time for selfie.

Q Why pics are so heavy?
A As being said - ultracvm is all about experiments towards having incredible shots from main lens. In order to make all patches to work as I plan them - I had to fully decompress result as much as possible on every step gcam doing with it's algos.

Q Can you add XYZ feature?
A Can't help with that. I'm keeping pretty much every feature base mod has, the amounts of own features are kept in minimal yet efficient range.

Q Can mod be named something else either than SnapCamera?
A Snapcamera packagename helps to make AUX working for most devices, we can't sacrifice that.

Q Whats with XYZ mode?
A My main priority is main HDR/e+ modes & Night Sight, the rest, beyond this are least things (including portrait, aux, this or mode) I'm considering to care much of. I will debug as much as possible but if sacrifices have to be done - I'm sorry.

Q Whats with aggressive "not reuse" policy?
A I always contact and keep in touch with modders with gcams I use as base. Always post proper credits to all the people helped achieving particular build. I enocourage other devs do that as well and if original dev doesn't want you to hype over time he put into his work - it's the way it better has to be the way they want it to.
 
Last edited:

UltraM8

Senior Member
Jan 27, 2015
1,152
4,852
153
Moscow
XML configs

Since v4 xml can't be fully cross-used between devices due to HAL stream modes settings! If you experience black viewfinder - that is the reason!

V4 xmls you can find on Celso


48MP mode on xiaomi mi9, k20 pro & mi9t pro, mi9t & k20

If you don't see your device in the list above - sadly THERE IS NO 48MP FOR YOU!

To be able to shoot in 48mp res on the devices from the list - you need magisk modules with patched libs by @eszdman
Libraries highly depend on MIUI version, which might be an issue with miui beta roms

Make sure to pick proper module per device!

I'm not providing any technical support to these, as I'm not the original creator!

Zenfone6 & Rog2 doesn't require any patched libs for 48mp to work properly




Download modules on Celso
 
Last edited:

pietropizzi

Senior Member
Aug 3, 2008
283
62
0
Vienna
Hi, tried it on Mi9TPro. Thanks for your work.
Everything I tested works (replaced Urnyx 1.8).
Are there any recommended settings for your LIB Patcher, there are some more values to set ?
Or is it pre-tuned so no need to enbale LIB Patcher and tune it ? (I used recommended settings from TG groups on Urnyx 1.8)
 
  • Like
Reactions: bhargavpa

Zimonty

Senior Member
Aug 25, 2018
414
106
0
Florence


UltraCam - Gcam mod based on versions by @Urnyx05


Stepping aside my audio mods, wanna share my first steps in gcam modding. Being based off Urnyx05 Ultracam has pretty much same amounts of main tweaks, thus should support same number of devices as his gcam.

Features:
- Custom lib by @r0m10
- Forced jpeg quality
- Own noisemodeller denoiser for IMX586
- Noisemodeller denoiser for GW1 by @Wave_Generator
- Added spatial denoisers to libpatcher
- Miscellanous small tweaks

Notice
Libpatcher settings are set for IMX586, they probably won't work well with other sensors, so feel free to retune and share configs with others

Known bugs:
- Settings button in dropdown doesn't work in aux lenses
- Front cam uses Pixel 2xl conf, so might lead to issues on some devices
- Slowmotion might also not work

Changelog:
To know Urnyx05 gcam changelog follow his thread

Code:
ultra 1.1.8 31.12
- initial release

Download:
Direct Download Link on Gdrive
Download on Celso gcam hub

Credits:
- Urnyx05 for his fantastic gcam
- R0m10 for his incredibly great lib patches
- All my testers
- BSG, San1ty, Xtrme, Zoran, CStark, Tadi, Namok, Fahmi, Fu24, Eszdman, back.rider, Celso, Savitar, Arnova8G2, Abhi_Shake and all the great devs I can learn from
For Mi Note 10 users you're almost an hero.
Still not so stable as some other ports but so far no doubts your one is giving the very best results mainly in terms of colours.
Awesome, impressive, really thanks.

Problems here are:
- Tele not working (but still no ports for MN10 with Tele working as far as I know)
- portraits not working, the cam go crazy if you select portraits and you've to quit (being based on Urnyx maybe it could be useful to know that portraits was working on Urnyx 1.4)
- very slow post shooting processing mainly in night mode or when shooting under enhanced hdr+ mode
- some crashes (last one was when testing astro mode, but still to go deep into most of the other functions.

Said that, got to repeat that definition is fantastic but colours are really really awesome!

Incredible job man
 
Last edited:

Latoc

Senior Member
Feb 17, 2010
338
90
48
Hi to all. First I want to thank the dev for this mod, it works the best thus far for my Mi Note 10.

I have a question: if I activate libpatcher without even changing any settings inside it the picture quality is improved by an order of magnitude. Is this normal ? I mean, I'm perfectly happy with that result but I'm just trying to understand whats going on. Is there an totally different algo going on when libpatcher is not activated ?

Thanks, and happy new year to everyone !
 

Sectorian

Senior Member
Apr 27, 2013
1,240
335
103
@UltraM8 video focus have some issue.
Last time I write to the BGS and he fix the issue it video focus. You can easily extract the fix from sanity last version 7.0 for the MI 8. Except video focus and libs the camera is great.