[OnePlus 3 Guides, News, & Discussion] rdNNNN:
Hey folks

I've made a comparison in low light. Night sight vs stock vs HQ stock vs HDR+ ZSL

At this point, I'm suspecting that there is still something not working properly with our device.

If we ignore the night sight thing, from my experience I can say that HQ has the best results for our device, followed by stock which is as equal or slight better than gcam with ZSL HDR+. In theory that shouldn't happen.

Let me try to explain my tought process.

Stock camera uses ZSL mode. What you see on the screen is roughly what the picture will be. If the screen preview is 1/17 3200 ISO, for instance, when you snap, the output will be a full res 1/17 ISO 3200. That's the basic premise of ZSL. Since the stock camera uses this mode, I've decided to compare to gcam running in this mode. Therefore I can assume equal ISO and shutter speeds scenarios (HDR+ enhanced is not ZSL).

When comparing stock picture with gcam ZSL HDR+, we can see that both of them picked 1/17s for shutter speed. AFAIK, that's the minimum for our device for normal photo modes. Nothing out of extraordinary yet. Then, There's a discrepancy on ISO: 6400 stock vs 9600 gcam. Two questions.

-Why does the gcam picks an higher iso to achieve more and less the same exposure

-Why does the gcam result is worse than the stock one, considering that gcam ZSL HDR+ aligns and merge a buffer of frames.

The HQ mode will get better results than both stock and gcam. A bit more noisier, but with much more detail

At this point, I'm suspecting that may be something related to camera2 api (again ffs)

After some digging, I found that the reported max analog ISO of our device is 800 (by camera2 api). The front camera has a max of 1600, for instance. It lead me thinking that, MAYBE, the camera2 api is limiting the max analog gain, forcing apps to use digital gain (which is like shooting a picture at iso 800 and pull the exposure slider on lightroom) to achieve comparable exposures.

I don't really know if it's a bad implementation, of it's really the sensor limitation of 800. I have no way to check what the max analog is by the legacy camera HAL. I've used hexeditor to edit libmmcamera_imx298 and try to force the analog iso into higher values and got the camera2probe to report it as 1600. But I'm afraid that the I've only managed to edit an info "field". Zero diference on usage and results.

My point is. We can assume that gcam processing is superior than the oneplus one. If so, why can stock app achieve better photos in low light / High ISO scenarios?

I don't know if it's clear for you all, but when is ZSL mode, for the same scenario (same ISO and shutter speed) the camera apps should be fed with the same raw data. It's physical. But somehow, gcam (and to an extent other 3rd party apps but I don't want to derrail) seems to be fed with "worse" data. They struggle to get details from darker parts of the frame.

How can 1 processed frame from the stock app be better than align and merge of several by gcam, when taken in same conditions?

[MENTION=4860033]Arnova8G2[/MENTION] [MENTION=377973]defcomg[/MENTION] [MENTION=5081847]Tolyan009[/MENTION]

Sorry to bother you, but since you are the references on this project, I thiink that it may be interesting for you. English is not my native language and and I'm definitely not demaning neither requesting anything from you. I'm just a curious guy and I tend to spend time with details like these

Comparison

COMPARISON

Edit:

More comparison pics: stock vs stock hq vs gcam zsl hdr+

https://imgur.com/a/MrleJ9q

Also, there's still the issue with the purple cast. It's somehow related with blacklevels. Do you think somehow that it can be related to the loss of detail i've talked above?