… i’ve finally squashed a very long-missing feature of
reading the proper Black and White levels from CR2 raws.
While this works well, that requires guessing where
in an Canon-specific MakerNotes binary blob it is,
and of course that happens to be different places
for different camera generations, and sometimes
different cameras within that generation.
What’s missing is handling of 1DmkIII / 1DmkIIN/5D/30D/400D / and older.
But in this particular case, i’d like to ask for the help of 40D owner[s].
exiftool does not know what the right offset is,
and while i think i got it right, Phil (are you here? :)) is not so sure:
Indeed, it could totally be wrong. i’d like to be sure,
but that’s impossible to do without wider testing.
So what would help, is if you can build darktable yourself,
manually set the rawspeed submodule to the develop branch: cd src/external/rawspeed && git fetch --all && git checkout develop
then build dt as usual, !!! make backups of the .xmp sidecars !!!,
and look through some of your images from 40D.
NOTE: You most likely would need to reset their history stack,
to be sure that the rawprepare module actually uses
the new Black and White levels, and not the previous ones.
What you want to look for specifically, is if the images look
very obviously wrong, either just too dark and with magenta highlights,
or too bright, with too much clipping.
first quick check with well exposed 100iso file: for some it seems to be ok, for some there’s clipping that needs a higher raw whitepoint (about 9750 instead of 7334)
@MStraeten thank you!
Looking at those few more samples, the “read” white level looks wrong indeed,
and for some of those none of the values found in MakerNotes seem fitting either. Maybe it was added in some version of firmware, but i digress at the moment.
To really put a nail into this coffin, i’d need to have a full ISO set
(landscape-ish imagery, really overexposed with clipped highlights,
that become magenta if you manually set the white level in rawprepare module to 16383)
from basically each firmware version ever released for that camera.
I have a suspicion that it was added in 1.1.x or so,
so at the very least i’d need a set from 1.1.0 or at least 1.1.1,
and the version before that, i.e. 1.0.9 or 1.0.8
Or maybe it was added later on in 1.1.x series of firmware updates…
I’m not quite sure that’s very realistic to ask for, i’m afraid.
But sure, if someone can produce those sets, i will take another look.
Sadly I don’t have complete sets. Some samples only (5 downloads) Send large files | Transfer big files free online | Sprend
On the other side I do have some 40D firmware updates including the original published file size from Canon if someone still has a 40D and wants to downgrad/upgrade to take the sets.
It seems Canon had some problem with the raw files before 1.0.5, see: 7. Corrects a phenomenon that RAW images cannot open by competitors’ applications.
I’ve just picked up an EOS 1100D, and been testing it before passing on to a friend.
In not-quite-current master (actually weekly windows build 4.5.0+1401) it has a definite case of wonky white levels.
Would any files be useful to you, @LebedevRI ?