I am experimenting with adding support for flat field correction using embedded DNG GainMaps to darktable. This can be quite important; for some phones the colors will be way off if the GainMap is not applied, for example see the image in this thread from a Xiaomi Poco X2.
I am not trying to make something that’s fully conforming to the Adobe DNG spec - the “opcode list processing” that includes the GainMap is flexible and complex and doesn’t really fit well into the darktable pipeline model. I am just trying to efficiently support the typical GainMaps that commonly appear in smartphone DNGs for lens shading correction. So I’m looking for some samples to figure out what needs to be supported. I have a Pixel 4a with the Google Camera app and I found a few other samples on RPU, but would like to see some more from different brands and apps. I have also found a couple (Samsung Galaxy s20 Ultra, and a Huawei) that contain a no-op GainMap that should be ignored.
The GainMap is embedded in the exif tag “Exif.Image.OpcodeList2” or “Exif.SubImage1.OpcodeList2”, depending on whether or not there is also an embedded jpeg preview.
I am looking for any dng containing the OpcodeList2 tag, for which the exiftool command shows:
$ exiftool image.dng | grep GainMap Opcode List 2 : GainMap, GainMap, GainMap, GainMap
These might appear in dngs from a smartphone, GoPro, drone, or any other camera that outputs dngs natively.