Behaviour of -a switch for Canon makernotes

Started by BogdanH, December 29, 2011, 04:09:39 PM

Previous topic - Next topic

BogdanH

Hi Phil,
The following was observed on Canon 450D CR2 file. As you know, this file contains some duplicate tags in makernote section; in this case, I'll concentrate on FocalLength and CameraTemperature tag.

If I execute:
exiftool -a -s -G2 -makernotes:all photo.CR2
...I get two CameraTemperature and two FocalLength tags (among others).
But if I execute the same command without -a switch, I get one CameraTemperature tag (as expected), but none FocalLength tag!?

Then I tried (to narrow down the issue):
exiftool -a -s -G2 -makernotes:CameraTemperature photo.CR2
...and got:
[Camera]        CameraTemperature               : 25 C
[Camera]        CameraTemperature               : 25 C

...and for:
exiftool -a -s -G2 -makernotes:FocalLength photo.CR2
..I got:
[Image]         FocalLength                     : 37 mm
[Camera]        FocalLength                     : 37 mm

-as you can see, FocalLength tags reside in different "area" (Image and Camera). Is that the reason for such -a usage behaviour?
Anyway, I would expect FocalLength (in this case) would be shown at least once if -a is not used. And finally, I hope I didn't miss something in your documentation  :)

Bogdan
PS: Latest ExifTool v8.74 is used, of course.

Phil Harvey

Hi Bogdan,

You aren't the first to be confused by this.  This problem is mentioned in FAQ number 3.

I agree that the current behaviour may not be intuitive, but it is at least consistent.  For example, the following two commands:

exiftool -g -exif:all a.jpg
exiftool -g -makernotes:all a.jpg


give the same output as

exiftool -g -exif:all -makernotes:all a.jpg

If exiftool output the MakerNotes:FocalLength in the first case but not the second, it could lead to confusion.  There are other ways that an inconsistency like this would be confusing (and in my opinion, maybe even more confusing than the current behaviour).

- 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 ($).

BogdanH

Hi Phil,
FAQ is what I should start reading! :)
However, my observation was so "unbelievable", that I would probably wrote my question anyway. Because from users perspective... let's say I was told, that makernotes contain "focal length" . Now I check this with:
exiftool -g -makernotes:all  (is understood like "get it all from makernotes")
-and get no such value. Now, why would I check if such value is perhaps stored "twice", if I didn't got even one such tag? -at least, that's the average user's reasoning, I would say. And what's adding to confusion is, that some duplicated tags are shown, but some are not.
Well, I'm the one who didn't read FAQ...  :)

It's quite possible, that's why I decided to use -a in GUI automatically (hardcoded) all the time. But now, there has been a request to turn that option on/off -and while making this, I noticed all above.

Bogdan

Phil Harvey

I agree that this is confusing, partly because of my choice for the "All" tag name.  If I were to do it again, I would make -a the default as you have done with the GUI.

- 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 ($).