I have been doing some comparison of the size data (i.e., libraw_image_sizes_t struct) that LibRaw reads vs how Adobe interprets raw images (by using the DNG converter and reading the tags - same data as in Lightroom/Photoshop). Reason is that I'm working on a DNG-converter using LibRaw and would like the results to be as close to Adobe's version as possible (rightly or wrongly).
LibRaw effectively supplies
- the full sensor size (raw_height/width)
- the active area (top/left_margin, height/width)
[ plus the final size (iheight/iwidth) - in my sample always identical to height/width even with pixel_aspect != 1]
DNG effectively supplies
- the full sensor size (TIFF-tags imageHeight/Width)
- the active area (DNG-tag ActiveArea)
- the default crop (DefaultCropOrigin/Size) - [further crop within the active area to allow for interpolation at the edges]
[further data like DefaultScale (=pixel_aspect), DefaultUserCrop, ...]
I have compared these data sets over the ca. 260 different raw-samples from rawsamples.ch (further ~40 can only be read by LibRaw but not Adobe). I have attached the results (as formated if slightly dense PDF) and posted the raw data here (green/red signifies match/difference between LibRaw/Adobe).
While there are lots of matches, there is also quite a number of differences both in raw-size (surprisingly) and in the ActiveArea. And then LibRaw doesn't supply data for the DefaultCrop.
--> Is there a reason for the differences in ActiveArea? Is one of them right/wrong or is it interpretation? Is there additional data in LibRaw that would allow me to reconcile the differences?
--> Where does Adobe take the crop-data from? Can I get that data out of LibRaw? Or are they using an external data-set? If so, any idea where Adobe gets it from (i.e., where it is saved in the default installation if not in the binary) - it's not in the DCP-files, which only seem to contain the color-data...
Any insights appreciated, many thanks!