Canon 450D (XSi) -FocusDistance tags

Started by Archive, May 12, 2010, 08:54:24 AM

Previous topic - Next topic

Archive

[Originally posted by bogdan on 2008-08-18 17:43:21-07]

Hi Phil,

Inside Canon Makernotes, I can see (using Exiftool), that for camera 400D, tags 0x0014=FocusDistanceLower and 0x0013=FocusDistanceUpper are populated -at least if Canon lens is used.

Now, for 450D, those two tags allways contain value 0 (zero)... and I somehow can't believe Canon forgot writting those two values.

Looking after "FocusDistance..." tags for 40D camera (for example), I can see, those two tags have again value zero, whereas actual value is written into tags 0x0045 and 0x0043.

Now, the question:

Is it possible, 450D writes FocusDistance values into the same tags as 40D does, but Exiftool doesn't show (decode) them (yet)?

Greetings,

Bogdan

Archive

[Originally posted by exiftool on 2008-08-18 17:52:30-07]

Hi Bogdan,

Yes, it is likely this information is stored in the CameraInfo
record.  However, this record has not yet been decoded
for the 450D.  This record is different for different models,
but it is possible there are similarities with the 40D, 1Ds
or 5D CameraInfo records.

- Phil

Archive

[Originally posted by bogdan on 2008-08-19 20:25:15-07]

I see... I somehow hate not being able to see data that "must be there" :-) Here I have at least two problems:

1. Have no idea how to find out where this tag/value might be (as I can't force exiftool to show tag by it's tag number),

2. Perl is something like chinese for me.

So, I've cheated a bit (hoping Canon doesn't make big changes). Inside "Canon.pm" file, I've found a part responsible for decoding (among other things) those two tags for 40D (as far I understood this stuff). So, I've duplicated and added following:

Code:
{
  Name => 'CanonCameraInfo450D',
  Condition => '$$self{Model} =~ /EOS 450D$/',
  SubDirectory => {
     TagTable => 'Image::ExifTool::Canon::CameraInfo40D',
    },
},

-to force exiftool decoding 450D as being 40D (you know better than I am).

And yes, the same two tags (as for 40D) have expected values. I tried several shots, and values seems to be right (as nobody can't know for sure, what EXACT values are to be expected) -I believe, those values show Deepth of Field (which doesn't have exact predictable value).

I've also downloaded some other files of XSi/450D, XTi/400D and XS/1000D and changed above lines according to those cameras. My findings are:

XTi/400D: doesn't contain 0x0043 and 0x0045 tag values -exiftool decodes ok.

XSi/450D: does contain and populate 0x0043 and 0x0045 tags -same as 40D,

XS/1000D: does contain and populate 0x0043 and 0x0045 tags -same as 40D.

Somehow I have feeling, that tags 0x0013 and 0x0014 are becoming obsolete, last time used in: 400D/XTi, 30D and older 1D's (and, as far I could findout, in 5D) -all their successor don't populate those tags.

Of course, I can give no "proof"... but I am quite sure of above. It that enough for exiftool update? :-)

Greetings,

Bogdan

Archive

[Originally posted by exiftool on 2008-08-20 10:39:25-07]

Hi Bogdan,

Thanks for this information.  I will add it to the next release.

To "force" exiftool to show the unknown tags in the CameraInfo record,
you can just use the -U option.  (You didn't need to edit Canon.pm.)
And -H can be used
to show the numerical Tag ID (in hex) for known tags.

- Phil

Archive

[Originally posted by bogdan on 2008-08-20 15:44:48-07]

Hi Phil,

I know about -U (and -H) option, but in this case it didn't helped me much, as I only got array of tag values, i.e:

0x0043 Canon_CameraInfoUnknown_0x0043 : 1

0x0044 Canon_CameraInfoUnknown_0x0044 : 25

0x0045 Canon_CameraInfoUnknown_0x0045 : 0

-as (from above) I assume 43 and 44 belong together, I still can't interpret actual value (which comes from both). So to speak, looking at those values, it's hard to tell if that is "that".

So, I've decided for the hard way, which was easier for me in this case :-)

One question:

In Exiftool docs, for -a option, I can read: "Allow duplicate tag names in the output. Without this option, duplicates are suppressed."

-should I understand last statement like: "Without this option, duplicates (if they contain value 0) are suppressed."?

I mean... without -a, is tag value 0 criteria to not show it's presence?

Thank you for listening,
Bogdan

Archive

[Originally posted by exiftool on 2008-08-20 17:07:32-07]

Hi Bogdan,

I understand.  Yes, the unknown tags are presented without any
translation (in raw numerical form).

The -a only supresses tags which would be extracted
with the same tag name.  Internally, exiftool ignores some tags
which have a zero value, but this can't be changed by a user
setting.  I assume you are talking about the FocusDistanceUpper
tag, where the 0 value conveniently is replaced by the CameraInfo
for the 450D.  This would be replaced without -a
regardless of the value of the first tag.  By default, the last
value is the one you see without -a, but I play
with the priorities for many tags to cause the most reliable
and/or expected value to be displayed by default.

- Phil

Archive

[Originally posted by bogdan on 2008-08-20 17:44:54-07]

Hi Phil,

So, one must be at least a magician to decode some stuff for the first time ever :-)

You have completely answered my question. Thank you very much.

Bogdan