UltraCVM_v8.4.300

By UltraM8.

Download:

Changelog:

(From his Telegram channel. Based on GCam 8.4 from Arnova8G2.)

Special thanks to Arnova, who despite his own troubles in 2022 keeps working, providing ideal base.

Keep in mind this is probably solely for qualcomm devices, not even sure it'll work on snapdragon samsungs, and I'm definitely not interested in making it working anywhere but qualcomm (as well as not interested in samsungs).

Back to CVM v8.4 - I'm going to highlight some of its main features I've been mainly focusing on while working:

1️⃣ I finally pieced all compression and filtering together for all formats and effectively turned them off so no smushing happens through internal conversions. Additionally supported by higher discretization & upped buffers setup it provides more room throughout pipeline operations so less data is lost.

2️⃣ Original 8.4 with pixel6 tuning gave bizarre AWB results close to infamous iphone piss filter. In order to address that I used combination of p4 & p5 AWB, edited main controller and ported 7.2 matrices (would be fun to use 7.0, but that didn't work). On top of that I added Hasselblad gamma Savitar extracted from oneplus bin, that I reedited so that it fits gcam for deep & rich colour. Additional kudos to Cseus for his gmm tone & sect curves that nicely fit the combo.

3️⃣ Coming up with TM - I slightly lowered gains and upper range to fight clipping and despite less dehazing - get a bit more mature scene. I've also tried to reverse the way pixels deal with exposure, as well as reversing the rest of internal pixels api so qualcomm devices can benefit bit more. Probably, having pixel would help more, but at least I didn't break anything. I wish I had OIS so that I could probably make use of sensor shifting. There are couple more blindspots I could potentially fight, but that requires recent snapdragon on recent sdk.

4️⃣ Since 8.2 gcam passed the rubicon of new denoising pipeline - now it mostly depends on psnr readout from the base frame. I rebalanced offsets so less microdetail gets smushed. Depending on noise model used it might give noise splotches - so I left lighter version always on and added personal setup under rampatcher, so you can experiment with it. Also, since psnr now connected with sharpening, I had to deal with terrible sharpening outlining.

5️⃣ Another 8.2 novelty was the support for more bayer arrays for sabre merge. Since unreleased 7.xx I was experimenting a lot with sabre and for 8.4 prepared perfectly patched shader that supports 32bit floating point color & sharper texture filtering so no data gets lost during merge. Color space should now have enough range to cover p3/srgb without any sacrifices. These edits, combined with aforementioned decompression and higher discretization, along with use of raw16 with merge1 now effectively neutralize pretty much all quad bayer artifacts.

There is lot more than that, however I'm feeling lazy to collect all changes that been made during past year. There wasn't any schedule for release, but honestly, feeling more & more exhausted with code while having a release candidate - I made a decision to drop it now. Especially considering holidays timing. There are few things I wasn't yet able to work out, so maybe at some point I might return to this build.

Happy holidays everyone, see ya next year!

Links:

Screenshots:

UltraCVM_v8.4.300 UltraCVM_v8.4.300 UltraCVM_v8.4.300 UltraCVM_v8.4.300

🗣 Discussion: