Something has puzzled me for years now. If I look at the properties for a JPEG image from my camera, it keeps telling me that the Flash was settings were "Flash not fired; Compulsory flash mode" - even though the flash was off. I was sure Windows XP and Vista both gave this but when I looked at my fully patched versions the field was blank. [I'm also sure some extra properties have appeared on the details page as well - Maximum aperture and digital zoom ratio for example]
My recent poking round with EXIF data shows that on my pictures the field is set to 16. Great. What does 16 mean ? Only one thing for it. Off to http://www.exif.org/specifications.html and lets have a look.
Flash This tag indicates the status of flash when the image was shot. Bit 0 indicates the flash firing status, bits 1 and 2 indicate the flash return status, bits 3 and 4 indicate the flash mode, bit 5 indicates whether the flash function is present, and bit 6 indicates "red eye" mode Tag = 37385 (9209.H) Type = SHORT Count = 1 Values for bit 0 indicating whether the flash fired. 0b = Flash did not fire. 1b = Flash fired. Values for bits 1 and 2 indicating the status of returned light. 00b = No strobe return detection function 01b = reserved 10b = Strobe return light not detected. 11b = Strobe return light detected. Values for bits 3 and 4 indicating the camera's flash mode. 00b = unknown 01b = Compulsory flash firing 10b = Compulsory flash suppression 11b = Auto mode Values for bit 5 indicating the presence of a flash function. 0b = Flash function present 1b = No flash function Values for bit 6 indicating the camera's red-eye mode. 0b = No red-eye reduction mode or unknown 1b = Red-eye reduction supported
Flash This tag indicates the status of flash when the image was shot. Bit 0 indicates the flash firing status, bits 1 and 2 indicate the flash return status, bits 3 and 4 indicate the flash mode, bit 5 indicates whether the flash function is present, and bit 6 indicates "red eye" mode Tag = 37385 (9209.H) Type = SHORT Count = 1
Values for bit 0 indicating whether the flash fired. 0b = Flash did not fire. 1b = Flash fired.
Values for bits 1 and 2 indicating the status of returned light. 00b = No strobe return detection function 01b = reserved 10b = Strobe return light not detected. 11b = Strobe return light detected.
Values for bits 3 and 4 indicating the camera's flash mode. 00b = unknown 01b = Compulsory flash firing 10b = Compulsory flash suppression 11b = Auto mode
Values for bit 5 indicating the presence of a flash function. 0b = Flash function present 1b = No flash function
Values for bit 6 indicating the camera's red-eye mode. 0b = No red-eye reduction mode or unknown 1b = Red-eye reduction supported
So 16 would be all bits except bit 4 set to zero. Bit 4=1 and Bit 3=0 "Compulsory flash suppression" - switched off. The other bits mean the flash was present, it didn't fire and we didn't have red-eye, or return detection. So what's all this nonsense about Compulsory flash mode.
Lets read on the spec has a section on Resulting Flash tag values: here's an extract
0000.H = Flash did not fire. 0001.H = Flash fired. 0005.H = Strobe return light not detected. 0007.H = Strobe return light detected. 0009.H = Flash fired, compulsory flash mode 000D.H = Flash fired, compulsory flash mode, return light not detected 000F.H = Flash fired, compulsory flash mode, return light detected 0010.H = Flash did not fire, compulsory flash mode 0018.H = Flash did not fire, auto mode 0019.H = Flash fired, auto mode 001D.H = Flash fired, auto mode, return light not detected 001F.H = Flash fired, auto mode, return light detected
Most match the information we have above but 0x0010 (16 decimal) doesn't. That explanation belongs to 8 not 16. Oops. Or may it should say Flash did not fire, Compulsory flash Suppression mode. Interestingly those people who used this second table stay pretty true to the text in it.
Redhat provided every delegate to LUGRadioLive with either a track suit top or t-shirt hence many people
Like many people in the UK today James has had a nightmare attempting to travel - in his case to Seattle