ExifIFD: Size of ISO tag

Started by BogdanH, April 25, 2012, 01:09:43 PM

Previous topic - Next topic

BogdanH

Hi Phil,

According to Exif specs, ISOspeed tag is of type LONG (32 bytes), but your documentations says it's int16u[n]. And of course, if I try to set ISO value to 102400, ExifTool refuses to save such value. Mind to comment?
I believe to know what int16u means, but what is [n] for?

Added:
I have just noticed, that in Exif v2.20 there's only one tag:
$8827: ISO Speed Rating -16bit
But in Exif v2.30, there are two:
$8827: Photographic sensitivity -16bit
$8833: ISO Speed -32bit
Now, I am even more confused...

Bogdan

Phil Harvey

Hi Bogdan,

Yes, they added a bunch of new 32-bit ISO speed tags.  I can't say that I understand them all.  The EXIF:ISO tag is 16 bit (called ISOSpeedRatings by the spec).

I think if you want an ISO speed of more than 64k, you should write 65535 to EXIF:ISO, "ISO Speed" to EXIF:SensitivityType, and the actual value to EXIF:ISOSpeed.  This is detailed in Annex G of the Exif 2.3 spec.

- 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,

Yes, I've just started reading Anex G in Exif v2.30 specs, where an attempt is made to explain this stuff... now I only need an image taken at ISO 102400, so I can see how the value is saved  :)
Next time I should read specs more carefully, before I jump in with questions...

Bogdan

Phil Harvey

Just for fun I took a look myself.  Here is what a Canon 5DmkIII shows for ISO 102400:

[ExifIFD]       0x8827 ISO                             : 65535
[ExifIFD]       0x8830 Sensitivity Type                : Recommended Exposure Index
[ExifIFD]       0x8832 Recommended Exposure Index      : 102400
[Canon]         0x0001 Auto ISO                        : 100
[Canon]         0x0002 Base ISO                        : 102400
[Composite]          - ISO                             : 102400


- 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

That from Canon at least makes sense.. I would read it as:
ISO=65535 -max reached, look into Recommended Exposure Index (what a tag name)

I've found one ISO102400 from Nikon D4. Here, ExifIFD:ISO tag isn't defined at all. The only indication, that "something happened to ISO" is, ExifIFD:SensitivityType has value "Recommended Exposure Index"
..and the only way to find actual ISO value, is to look into Makernote.

What a mess. Wouldn't it be easier to simply define two int16u values directly inside ExifIFD:ISO -that is, set Count to 1 (as it is now) or to 2? Or even better, option to expand existing ISO to int32u if needed -that is, ISO tag could be defined as type 3 (as it is now) or as type 4 (for int32u).
Hey Phil, got it! They just want you keep bussy  ;D

Bogdan

Phil Harvey

Hi Bogdan,

Quote from: BogdanH on April 25, 2012, 02:25:33 PM
I've found one ISO102400 from Nikon D4. Here, ExifIFD:ISO tag isn't defined at all. The only indication, that "something happened to ISO" is, ExifIFD:SensitivityType has value "Recommended Exposure Index"
..and the only way to find actual ISO value, is to look into Makernote.

It looks like JIETA/CIPA has managed to confuse Nikon too. :P

QuoteWhat a mess. Wouldn't it be easier to simply define two int16u values directly inside ExifIFD:ISO -that is, set Count to 1 (as it is now) or to 2? Or even better, option to expand existing ISO to int32u if needed -that is, ISO tag could be defined as type 3 (as it is now) or as type 4 (for int32u).

I agree totally.  It would have been much better to allow an int32u to be written.  It is stupid to re-create another version of the tag just because the definition changed slightly.  Readers shouldn't care at all what the format is anyway (ExifTool doesn't).

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

oldgear

using the best exiftool of the world, called exiftool, without problems for years,
unfortunately I do run also into the "iso trap"

Are there any chances that exiftool can handle the above 64k barrier?

Can I help with providing images containing iso values?

kind regards

oldgear


Phil Harvey

Quote from: oldgear on May 24, 2012, 12:23:05 AM
Are there any chances that exiftool can handle the above 64k barrier?

Yes.  ExifTool handles this according to the EXIF standard.

As mentioned in this thread, you should look at the RecommendedExposureIndex for the 5DmkIII.

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