by XDepthAdmin on Fri Oct 03, 2008 11:08 pm
Our engineers thought someone would benefit from the following information, so here it is:
When converting CFA (Bayer pattern) data from a Raw file to DNG we found many people wondering how the Adobe's DNG Converter generates values for the "AsShot Neutral" tag. Infact, people using dcraw for instance (and thus not using the high-level classes of the DNG SDK) were observing different values in the cam_mul[] array (as-shot multipliers) from those found in the converted DNG and couldn't find any reference for this conversion in the official Adobe's DNG documentation.
As an example:
dcraw multipliers:
- Code: Select all
r: 261
g: 256
b: 540
would translate in DNG AsShot Neutral values:
- Code: Select all
R: 0.980843
G: 1.0
B: 0.474044
This is a simple green-based normalization (floating point):
- Code: Select all
R = g/r
G = g/g
B = g/b
With r,g,b being dcraw values and R,G,B the resulting floating point multipliers for the DNG tag.
Sincerely, we haven't dealt with the DNG format for too long, but we haven't found a single line or comment about this simple normalization in the DNG documentation. Maybe we just missed it.
Although we believe that it would have been much, much easier for developers if Adobe would release the source code from its DNG Converter software. Since Raw files are all about interpretation and "giving hints" to the final rendering engine it would make much more sense to show developers how Adobe actually converts Raw files to its format, rather than giving out source code for a validation tool which barely gives you a hint of how the format
really works.
Carl Spencer
XDepth Forums Administrator