EXIF namespace - off spec

Started by blue-j, July 24, 2022, 07:26:14 PM

Previous topic - Next topic

blue-j

As many of you know, the EXIF namespace is used by many folks for tags that are not formally specified.  For our software, I dont want to lump them in with the specified... How are others attending to this?  Grouping them all as "Custom"?  Or do I have something terribly wrong here?

An example would be GPRs - GoPro puts like 30 EXIF fields in there that would normally be Maker Notes.

- J

Phil Harvey

You didn't specify but for the sake of others who may be as confused as I...

I'm assuming you are talking about XMP tags?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

blue-j

I'm talking about tags displayed as being in the EXIF space proper, not XMP.  Examples are good!

exif ifd0 cfarepeatpatterndim 2 2
exif ifd0 cfapattern2 0 1 1 2
exif ifd0 dngversion 1.3.0.0
exif ifd0 dngbackwardversion 1.1.0.0
exif ifd0 uniquecameramodel GoPro HERO9 Black
exif ifd0 localizedcameramodel GoPro HERO9 Black
exif ifd0 cfaplanecolor Red,Green,Blue
exif ifd0 cfalayout Rectangular
exif ifd0 blacklevelrepeatdim 2 2
exif ifd0 blacklevel 0 0 0 0
exif ifd0 whitelevel 16383
exif ifd0 defaultscale 1 1
exif ifd0 defaultcroporigin 0 0
exif ifd0 defaultcropsize 5568 4176
exif ifd0 colormatrix1 1.8331 -0.8166 -0.2478 0.1391 0.8961 -0.0367 0.0822 0.0662 0.2597
exif ifd0 colormatrix2 1.0344 -0.421 -0.062 -0.2315 1.0625 0.1948 0.0093 0.1058 0.5541
exif ifd0 analogbalance 1 1 1
exif ifd0 asshotneutral 0.463768 1 0.565121
exif ifd0 baselineexposure 0
exif ifd0 baselinenoise 1
exif ifd0 baselinesharpness 1
exif ifd0 bayergreensplit 0
exif ifd0 linearresponselimit 1
exif ifd0 cameraserialnumber C3441324500947
exif ifd0 antialiasstrength 1
exif ifd0 shadowscale 1
exif ifd0 calibrationilluminant1 Tungsten (Incandescent)
exif ifd0 calibrationilluminant2 D50
exif ifd0 bestqualityscale 1
exif ifd0 originalrawfilename RAW FILE
exif ifd0 activearea 0 0 4176 5568
exif ifd0 profilename GoPro HERO9 Black
exif ifd0 profileembedpolicy Allow Copying
exif ifd0 opcodelist2 GainMap, GainMap, GainMap, GainMap
exif ifd0 noiseprofile 0.000156201000208966 4.88001994369824e-08
exif ifd0 newrawimagedigest 00000000000000000000000000000000
exif ifd0 defaultusercrop 0 0 1 1



Phil Harvey

These tags are part of the DNG specification.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

blue-j

Another example, in the spec under "Interoperability IFD Attribute Information," there is only one field that CIPA specifies - tag name "Interoperability Identification," field name, "InteroperabilityIndex."  You correctly underline it in https://exiftool.org/TagNames/EXIF.html and are clear.

Yet there are 4 other tags inside the InteropIFD section of many files.  Where do they come from?  How to classify them?

- J

Phil Harvey

The other InteropIFD tags are from the DCF specification.  See the notes in the ExifTool source code.
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

blue-j

Thank you!  Is there any way to document these facts on the EXIF page?

I'm still a bit confused - are they formally in a different namespace, but you put it under EXIF, or are they extensions of EXIF not sanctioned by CIPA?

- J

Phil Harvey

In truth, ExifTool is imprecise in its usage of the term "EXIF".  It really should be "TIFF", which is the storage format for EXIF metadata.  Some other specifications (DNG, DCF, etc) plus many proprietary tags use this same format, and ExifTool lumps them all into the EXIF group.  Specifying all of the applicable standards in the ExifTool EXIF Tag documentation would require a new column in the documentation, and this isn't something I really want to do.  People don't ready the documentation anyway.  Did you miss this in the EXIF Tag documentation?:

The table below lists all EXIF tags. Also listed are TIFF, DNG, HDP and other tags which are not part of the EXIF specification, but may co-exist with EXIF tags in some images.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

blue-j

I read the documentation; I'm just trying to be sure of my understanding of things.  Trust me, I'm not complaining!  It's become clear that I do have a handle on what's going on, which is reassuring.  I got a hold of the DCF spec and that is very enlightening, too.

And I just read through the EXIF source code... you write the most impeccable code I think I have ever seen.  5000+ lines in that document alone.  Wowsa.

- J

Phil Harvey

Quote from: blue-j on July 25, 2022, 09:43:15 PM
you write the most impeccable code I think I have ever seen.  5000+ lines in that document alone.  Wowsa.

Thanks.

In total there are about 270k lines of code and 37k lines of comments.  :)

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).