A friend of mine has the very same phone, same software. On both we have installed open camera, but we are unable to find out why my phone (sligthly newer) has an exposure limit of 0.7 seconds, shilst the slightly older one of 0.3 seconds.
And most important… the raw from the older one have really strange colors in raw (jpeg are quite similar).
In the past i’ve read that this phone had a rgbw color filter, but i’m unable to find that page again (maybe IMX278? ), and i’m quite sure mine has a bayer one.
We have tried both phone with the same scene, and here is the result. With the 0.3s limited one, iso is double.
Zip attached with both jpegs and raws.Honor6A.zip (20.0 MB)
If you use exiftool on both .dngs, and compare the results, you will find that they have different CFA Patterns: 1 0 2 1 vs. 2 1 1 0, as well as [Green,Red][Blue,Green] vs. [Blue,Green][Green,Red].
Sometimes for phones with odd setups the CFA pattern info might be wrong because there aren’t pattern categories for unusual patterns (that I know of). You can always check to see if it is indeed RGBW, LRGB, RGBY or something else.
Indeed that can be troublesome to investigate. It would mean splitting the patterned raw into separate images in first the most obvious RGGB configuration and then trying other patterns, starting with determining with pixels are W if the RGBW claim is true. Maybe W is G1 or G2…
Exiftool says the cameras are the same model, but they have different colour filter arrays (CFAs), different numbers of pixels, different black levels, and different matrices.
The subject is more or less gray, and we don’t know what the colours should be. Deliberately swapping channels will probably not be a definitive test. A better image would contain blue sky, green grass and a red rose or car or something.
I don’t have such an image (my phone is the “standard” one, and the weather here is terrible) but i have one with green grass and blue sky with white clouds, and one with a red sofa with a white puppet.OtherImages.zip (28.2 MB)
Using OtherImages.zip, messing around with the channels, they seem to be [green blue][red green]. This is neither the common [r g][g b] pattern nor the pattern claimed by exiftool: [b g][g r].
This is strange. When I make ordinary sRGB images with dcraw, they look okay, but I assume dcraw uses the pattern as declared by exiftool, so those sRGB images should look wrong.
EDIT: Ah, okay, the pattern is something weird. Looking at the individual [0 1][2 3] channels, they are all sometimes weird. Enlarging by 500%, one looks like this:
This suggests that this channel is sometimes used for green, but sometimes for something else (eg white). In other words, the CFA isn’t a simple 2x2 array.
The pattern for my Nikon D800 is a simple 2x2 array:
R G0
G1 B
Many cameras follow this pattern.
The pattern for @ggc’s Honor 6A (huawei dli-l22 ) phone seems to be a 16x16 array:
G0 B G0 B G0 B G0 B G0 B G0 B G0 B G0 B
R G1 R G1 R G1 R G1 R G1 R G1 R G1 R G1
G0 B G0 B G0 B G0 B G0 B G0 B G0 B G0 B
R G1 R G1 R G1 R G1 R G1 R G1 R G1 R G1
G0 B G0 B G0 B G0 B G0 B G0 B G0 B G0 B
R G1 R G1 R G1 R G1 R G1 R G1 R G1 R G1
G0 x0 G0 B G0 x1 G0 B G0 B G0 B G0 B G0 B
R G1 R G1 R G1 R G1 R G1 R G1 R G1 R G1
G0 B G0 B G0 B G0 B G0 B G0 B G0 B G0 B
R G1 R G1 R G1 R G1 R G1 R G1 R G1 R G1
G0 B G0 B G0 B G0 B G0 B G0 B G0 B G0 B
R G1 R G1 R G1 R G1 R G1 R G1 R G1 R G1
G0 B G0 B G0 B G0 B G0 B G0 B G0 B G0 B
R G1 R G1 R G1 R G1 R G1 R G1 R G1 R G1
G0 B G0 B G0 B G0 B G0 x2 G0 B G0 x3 G0 B
R G1 R G1 R G1 R G1 R G1 R G1 R G1 R G1
I have marked 4 pixels as “x0” to “x3”. These are instead of the Blue channel. Sometimes they are lighter than surrounding pixels, and sometimes darker. Perhaps these pixels are for auto-focus, in which case we can discard them for demosaicing, or perhaps use them for 3D.
But perhaps these pixels contain useful data. Let’s extract just the “x0” pixels:
These clearly are not 3D values. They seem to be “lightness”. I suspect they are “white” pixels (but I’m not certain).
Did some sleuthing. Huawei does make phones with RGBW sensors, though Honor 6A isn’t one of them. 6A’s sensor is PDAF. Could these pixels be reserved for PDAF? I don’t remember how it works.
Is dcraw intelligent enough to read frame crop info or ignore rows and columns until it finds the first rggb or bggr sequence?
Another point of information: when dcraw creates an ordinary sRGB output, noise is visible in the sky. Each noise area is centred on one of the x0, x1, x2 or x3 pixels. I suppose dcraw treats these pixels as Blue channel, and it shouldn’t.
I see nothing in exif metadata that says these pixels need special treatment.
My version of dcraw is quite old. It does no special processing for this make or model of camera.
I’ll hack my hack of dcraw, to spit out what it thinks the CFA is. But it’s too late tonight.
Oh, I read the first post again and it does say IMX278. I know no Italian whatsoever but the part name is there. However, the second link still doesn’t list the 6A, and yesterday when I checked Huawei and Honor’s websites, they don’t say that the 6A has a 4-color sensor. For phones that do, they advertise it in a strong way.