Update Nikon flash tags (#2274)

main
Peter 3 years ago committed by GitHub
parent e4adf388aa
commit ccebe7936e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -87,6 +87,7 @@ TABLES = Exif \
NikonFl1 \ NikonFl1 \
NikonFl2 \ NikonFl2 \
NikonFl3 \ NikonFl3 \
NikonFl6 \
NikonFl7 \ NikonFl7 \
NikonSiD80 \ NikonSiD80 \
NikonSiD40 \ NikonSiD40 \

@ -96,7 +96,12 @@ __NikonFl2__
__NikonFl3__ __NikonFl3__
<br> <br>
<h3>Nikon Flash Info 7 Tags (for version 0107 and 0108)</h3> <h3>Nikon Flash Info 6 Tags</h3>
<p>Click on a column header to sort the table.</p>
__NikonFl6__
<br>
<h3>Nikon Flash Info 7 Tags</h3>
<p>Click on a column header to sort the table.</p> <p>Click on a column header to sort the table.</p>
__NikonFl7__ __NikonFl7__
<br> <br>

@ -778,33 +778,6 @@ available from: https://www.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/XMPSDK
### 7.2 Exiv2 tags ### 7.2 Exiv2 tags
For an explanation of Exiv2 keys, see [Exiv2 key syntax](#exiv2_key_syntax). For an explanation of Exiv2 keys, see [Exiv2 key syntax](#exiv2_key_syntax).
The following groups are defined for the Exif family:
```
GPSInfo Canon Nikon1 NikonMe OlympusFe8 SonyMisc2b
Image CanonCf Nikon2 NikonPc OlympusFe9 SonyMisc3c
Image2 CanonCs Nikon3 NikonPreview OlympusFi SonyMinolta
Image3 CanonFi NikonAFT NikonSi01xx OlympusIp SonySInfo1
Iop CanonPa NikonAf NikonSi02xx OlympusRd
MakerNote CanonPi NikonAf2 NikonSiD300a OlympusRd2 Samsung2
MpfInfo CanonPr NikonAf22 NikonSiD300b OlympusRi SamsungPictureWizard
Photo CanonSi NikonCb1 NikonSiD40 SamsungPreview
SubImage1 CanonTi NikonCb2 NikonSiD80 Sigma
SubImage2 NikonCb2a NikonVr
SubImage3 Casio NikonCb2b NikonWt Sony1
SubImage4 Casio2 NikonCb3 Sony1Cs
SubImage5 NikonCb4 Olympus Sony1Cs2
SubImage6 Minolta NikonFi Olympus2 Sony1MltCs7D
SubImage7 MinoltaCs5D NikonFl1 OlympusCs Sony1MltCsA100
SubImage8 MinoltaCs7D NikonFl2 OlympusEq Sony1MltCsNew
SubImage9 MinoltaCsNew NikonFl3 OlympusFe1 Sony1MltCsOld
SubThumb1 MinoltaCsOld NikonFl7 OlympusFe2 Sony2
Thumbnail NikonIi OlympusFe3 Sony2Cs
Panasonic NikonLd1 OlympusFe4 Sony2Cs2
Pentax PanasonicRaw NikonLd2 OlympusFe5 Sony2010e
PentaxDng NikonLd3 OlympusFe6 Sony2Fp
Fujifilm NikonLd4 OlympusFe7 SonyMisc1
```
A full list of built-in Exif, IPTC and XMP tags is available online at A full list of built-in Exif, IPTC and XMP tags is available online at
https://www.exiv2.org/metadata.html. To query Exiv2 Groups and Tagnames, https://www.exiv2.org/metadata.html. To query Exiv2 Groups and Tagnames,

@ -111,6 +111,7 @@ enum class IfdId : uint32_t {
nikonFl1Id, nikonFl1Id,
nikonFl2Id, nikonFl2Id,
nikonFl3Id, nikonFl3Id,
nikonFl6Id,
nikonFl7Id, nikonFl7Id,
nikonSi1Id, nikonSi1Id,
nikonSi2Id, nikonSi2Id,

@ -877,7 +877,8 @@ constexpr auto nikonArrayIdx = std::array{
NikonArrayIdx{0x00a8, "0100", 0, 0, NA}, NikonArrayIdx{0x00a8, "0101", 0, 0, NA}, NikonArrayIdx{0x00a8, "0100", 0, 0, NA}, NikonArrayIdx{0x00a8, "0101", 0, 0, NA},
NikonArrayIdx{0x00a8, "0102", 0, 1, NA}, NikonArrayIdx{0x00a8, "0103", 0, 2, NA}, NikonArrayIdx{0x00a8, "0102", 0, 1, NA}, NikonArrayIdx{0x00a8, "0103", 0, 2, NA},
NikonArrayIdx{0x00a8, "0104", 0, 2, NA}, NikonArrayIdx{0x00a8, "0105", 0, 2, NA}, NikonArrayIdx{0x00a8, "0104", 0, 2, NA}, NikonArrayIdx{0x00a8, "0105", 0, 2, NA},
NikonArrayIdx{0x00a8, "0107", 0, 3, NA}, NikonArrayIdx{0x00a8, "0108", 0, 3, NA}, NikonArrayIdx{0x00a8, "0106", 0, 3, NA}, NikonArrayIdx{0x00a8, "0107", 0, 4, NA},
NikonArrayIdx{0x00a8, "0108", 0, 4, NA},
// NikonAf // NikonAf
NikonArrayIdx{0x00b7, "0100", 30, 0, NA}, // These sizes have been found in tiff headers of MN NikonArrayIdx{0x00b7, "0100", 30, 0, NA}, // These sizes have been found in tiff headers of MN
NikonArrayIdx{0x00b7, "0101", 84, 1, NA}, // tag 0xb7 in sample image metadata for each version NikonArrayIdx{0x00b7, "0101", 84, 1, NA}, // tag 0xb7 in sample image metadata for each version

@ -66,11 +66,9 @@ constexpr TagDetails nikonFlashComp[] = {
constexpr TagDetails nikonColorSpace[] = {{1, N_("sRGB")}, {2, N_("Adobe RGB")}}; constexpr TagDetails nikonColorSpace[] = {{1, N_("sRGB")}, {2, N_("Adobe RGB")}};
//! FlashMode, tag 0x0087 //! FlashMode, tag 0x0087
constexpr TagDetails nikonFlashMode[] = {{0, N_("Did not fire")}, constexpr TagDetails nikonFlashMode[] = {
{1, N_("Fire, manual")}, {0, N_("Did not fire")}, {1, N_("Fire, manual")}, {3, N_("Not ready")}, {6, N_("Off")},
{7, N_("Fire, external")}, {7, N_("Fire, external")}, {8, N_("Fire, commander mode")}, {9, N_("Fire, TTL mode")}, {18, N_("LED Light")}};
{8, N_("Fire, commander mode")},
{9, N_("Fire, TTL mode")}};
//! ShootingMode, tag 0x0089 //! ShootingMode, tag 0x0089
constexpr TagDetailsBitmask nikonShootingMode[] = {{0x0001, N_("Continuous")}, constexpr TagDetailsBitmask nikonShootingMode[] = {{0x0001, N_("Continuous")},
@ -855,32 +853,159 @@ constexpr TagDetails nikonFlashFirmware[] = {{0x0000, N_("n/a")},
{0x0501, "5.01 (SB-900)"}, {0x0501, "5.01 (SB-900)"},
{0x0502, "5.02 (SB-900)"}, {0x0502, "5.02 (SB-900)"},
{0x0601, "6.01 (SB-700)"}, {0x0601, "6.01 (SB-700)"},
{0x0701, "7.01 (SB-910)"}}; {0x0701, "7.01 (SB-910)"},
{0x0800, "8.01 (SB-N5)"},
{0x0a00, "10.00 (SB-N7)"},
{0x0b00, "11.00 (SB-300)"},
{0x0d00, "13.00 (SB-500)"},
{0x0e00, "14.00 (SB-5000)"}};
//! FlashGNDistance //! FlashGNDistance
constexpr TagDetails nikonFlashGNDistance[] = { constexpr TagDetails nikonFlashGNDistance[] = {
{0, N_("None")}, {1, "0.1 m"}, {2, "0.2 m"}, {3, "0.3 m"}, {4, "0.4 m"}, {5, "0.5 m"}, {6, "0.6 m"}, {0, N_("n/a")}, {1, "0.1 m"}, {2, "0.2 m"}, {3, "0.3 m"}, {4, "0.4 m"}, {5, "0.5 m"},
{7, "0.7 m"}, {8, "0.8 m"}, {9, "0.9 m"}, {10, "1.0 m"}, {11, "1.1 m"}, {12, "1.3 m"}, {13, "1.4 m"}, {6, "0.6 m"}, {7, "0.7 m"}, {8, "0.8 m"}, {9, "0.9 m"}, {10, "1.0 m"}, {11, "1.1 m"},
{14, "1.6 m"}, {15, "1.8 m"}, {16, "2.0 m"}, {17, "2.2 m"}, {18, "2.5 m"}, {19, "2.8 m"}, {20, "3.2 m"}, {12, "1.3 m"}, {13, "1.4 m"}, {14, "1.6 m"}, {15, "1.8 m"}, {16, "2.0 m"}, {17, "2.2 m"},
{21, "3.6 m"}, {22, "4.0 m"}, {23, "4.5 m"}, {24, "5.0 m"}, {25, "5.6 m"}, {26, "6.3 m"}, {27, "7.1 m"}, {18, "2.5 m"}, {19, "2.8 m"}, {20, "3.2 m"}, {21, "3.6 m"}, {22, "4.0 m"}, {23, "4.5 m"},
{28, "8.0 m"}, {29, "9.0 m"}, {30, "10.0 m"}, {31, "11.0 m"}, {32, "13.0 m"}, {33, "14.0 m"}, {34, "16.0 m"}, {24, "5.0 m"}, {25, "5.6 m"}, {26, "6.3 m"}, {27, "7.1 m"}, {28, "8.0 m"}, {29, "9.0 m"},
{35, "18.0 m"}, {36, "20.0 m"}, {255, N_("n/a")}}; {30, "10.0 m"}, {31, "11.0 m"}, {32, "13.0 m"}, {33, "14.0 m"}, {34, "16.0 m"}, {35, "18.0 m"},
{36, "20.0 m"}, {37, "23.0 m"}, {38, "25.0 m"}, {39, "29.0 m"}, {128, N_("n/a")}, {129, "0.3 ft"},
{130, "0.7 ft"}, {131, "1.0 ft"}, {132, "1.3 ft"}, {133, "1.7 ft"}, {134, "2.0 ft"}, {135, "2.3 ft"},
{136, "2.6 ft"}, {137, "2.9 ft"}, {138, "3.3 ft"}, {139, "3.7 ft"}, {140, "4.1 ft"}, {141, "4.6 ft"},
{142, "5.2 ft"}, {143, "5.8 ft"}, {144, "6.6 ft"}, {145, "7.4 ft"}, {146, "8.3 ft"}, {147, "9.3 ft"},
{148, "10.0 ft"}, {149, "12.0 ft"}, {150, "13.0 ft"}, {151, "15.0 ft"}, {152, "17.0 ft"}, {153, "19.0 ft"},
{154, "21.0 ft"}, {155, "23.0 ft"}, {156, "26.0 ft"}, {157, "29.0 ft"}, {158, "33.0 ft"}, {159, "37.0 ft"},
{160, "42.0 ft"}, {161, "47.0 ft"}, {162, "52.0 ft"}, {163, "59.0 ft"}, {164, "66.0 ft"}, {165, "74.0 ft"},
{166, "83.0 ft"}, {167, "94.0 ft"}, {255, N_("n/a")}};
//! FlashControlMode //! FlashControlMode
constexpr TagDetails nikonFlashControlMode[] = { constexpr TagDetails nikonFlashControlMode[] = {
{0, N_("Off")}, {1, N_("iTTL-BL")}, {2, N_("iTTL")}, {0, N_("Off")}, {1, N_("TTL")},
{3, N_("Auto Aperture")}, {4, N_("Automatic")}, {5, N_("GN (distance priority)")}, {2, N_("iTTL")}, {3, N_("Auto Aperture")},
{4, N_("Automatic")}, {5, N_("GN (distance priority)")},
{6, N_("Manual")}, {7, N_("Repeating Flash")}, {6, N_("Manual")}, {7, N_("Repeating Flash")},
// 8: When used with Group A (and possibly Group B), may have an additional "Quick Wireless Flash Control [A:B]"
// mode that applies to Groups A and B. May only be available with Radio AWL modes?
// ?: Possibly includes "iTTL-BL", "i-AA" and "i-A" modes.
}; };
static constexpr bool flashModeUsesManualScale(const int64_t mode) {
return (mode == 6 || mode == 7);
}
//! ExternalFlashFlags //! ExternalFlashFlags
constexpr TagDetails nikonExternalFlashFlags[] = { constexpr TagDetails nikonExternalFlashFlags[] = {
{0, N_("Fired")}, {2, N_("Bounce Flash")}, {4, N_("Wide Flash Adapter")}}; {0, N_("Fired")}, {2, N_("Bounce Flash")}, {4, N_("Wide Flash Adapter")}};
//! FlashColorFilter //! FlashColorFilter
constexpr TagDetails nikonFlashColorFilter[] = {{0, N_("None")}, {1, N_("FL-GL1")}, {2, N_("FL-GL2")}, constexpr TagDetails nikonFlashColorFilter[] = {{0, N_("None")},
{9, N_("TN-A1")}, {10, N_("TN-A2")}, {65, N_("Red")}, {1, N_("FL-GL1 (for fluorescent light)")},
{66, N_("Blue")}, {67, N_("Yellow")}, {68, N_("Amber")}}; {2, N_("FL-GL2 (for fluorescent light)")},
{9, N_("TN-A1 (for incandescent light)")},
{10, N_("TN-A2 (for incandescent light)")},
{65, N_("Red")},
{66, N_("Blue")},
{67, N_("Yellow")},
{68, N_("Amber")},
{79, N_("Other")}};
//! FlashWirelessOptions
constexpr TagDetails nikonFlashAWLMode[] = {
{0, N_("AWL Off")}, {1, N_("Optical AWL")}, {2, N_("Optical/Radio AWL")}, {3, N_("Radio AWL")}};
//! FlashExposureComp
constexpr TagDetails nikonFlashExposureComp[] = {{0, N_("Exposure Comp.: Entire frame")},
{4, N_("Exposure Comp.: Background Only")}};
//! FlashIlluminationPattern
constexpr TagDetails nikonFlashIlluminationPat[] = {{0, N_("Illumination Pat.: Standard")},
{1, N_("Illumination Pat.: Center-weighted")},
{2, N_("Illumination Pat.: Even")}};
//! FlashAdaptors
constexpr TagDetailsBitmask nikonFlashAdaptors[] = {
{0x04, N_("Bounce Flash adaptor")}, {0x10, N_("Wide Flash adaptor")}, {0x20, N_("Nikon Diffusion Dome")}};
static void printFlashCompensationValue(std::ostream& os, const unsigned char value, const bool manualScale) {
std::ios::fmtflags f(os.flags());
std::ostringstream oss;
oss.copyfmt(os);
if (manualScale) {
/*
// Format:
0 = "1/1"
1 = "1/1 (-1/6EV)"
2 = "1/1 (-1/3EV)"
3 = "1/1 (-1/2EV)"
4 = "1/1 (-2/3EV)"
5 = "1/1 (-5/6EV)"
6 = "1/2"
7 = "1/2 (-1/6EV)"
...
48 = "1/256"
*/
if (value > 48) {
os << "(" << value << ")";
os.flags(f);
return;
}
const auto mod = value % 6;
auto temp = (value < 6) ? 0 : (value - mod) / 6;
os << "1/" << std::pow(2, temp);
if (mod != 0) {
os << " (-";
switch (mod) {
case 1:
os << "1/6 EV)";
break;
case 2:
os << "1/3 EV)";
break;
case 3:
os << "1/2 EV)";
break;
case 4:
os << "2/3 EV)";
break;
case 5:
os << "5/6 EV)";
break;
}
}
} else {
/*
// Format uses 127 as boundary between +/- then values descend:
0 = "0.0EV"
1 = "-0.2EV"
2 = "-0.3EV"
3 = "-0.5EV"
4 = "-0.7EV"
5 = "-0.8EV"
6 = "-1.0EV"
7 = "-1.2EV"
...
127 = "-21.2EV"
128 = "+21.3EV"
129 = "+21.2EV"
130 = "+21.0EV"
...
255 = "+0.2"
*/
float output = 0.0;
if (value < 128) {
if (value != 0)
output = float(value) * float(-1.0);
} else {
output = float(256.0) - float(value);
}
os.precision(1);
if (value != 0)
os << std::showpos;
os << std::fixed << (output / 6) << " EV";
}
os.copyfmt(os);
os.flags(f);
}
// Nikon3 Flash Info 1 Tag Info // Nikon3 Flash Info 1 Tag Info
constexpr TagInfo Nikon3MakerNote::tagInfoFl1_[] = { constexpr TagInfo Nikon3MakerNote::tagInfoFl1_[] = {
@ -971,44 +1096,168 @@ const TagInfo* Nikon3MakerNote::tagListFl3() {
return tagInfoFl3_; return tagInfoFl3_;
} }
// Nikon3 Flash Info 6 (0106) Tag Info
constexpr TagInfo Nikon3MakerNote::tagInfoFl6_[] = {
{0, "Version", N_("Version"), N_("Identifies the NikonFl version"), IfdId::nikonFl6Id, SectionId::makerTags,
undefined, 4, printExifVersion},
{4, "FlashSource", N_("Flash source"), N_("The type of flash used"), IfdId::nikonFl6Id, SectionId::makerTags,
unsignedByte, 1, EXV_PRINT_TAG(nikonFlashSource)},
// 5: May be connected to high-speed shutter setting?
{6, "ExternalFlashFirmware", N_("External flash firmware"), N_("External flash firmware version"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonFlashFirmware)},
{8, "ExternalFlashData1", N_("External flash data 1"),
N_("The Speedlight flash status and any attached flash adapters"), IfdId::nikonFl6Id, SectionId::makerTags,
unsignedByte, 1, printExternalFlashData1Fl6},
{9, "ExternalFlashData2", N_("External flash data 2"),
N_("The external flash status and the mode used for the Master flash (see FlashSource)"), IfdId::nikonFl6Id,
SectionId::makerTags, unsignedByte, 1, printExternalFlashData2Fl6},
{10, "FlashCompensationMaster", N_("Flash compensation Master"),
N_("Flash compensation for the Master flash (see FlashSource)"), IfdId::nikonFl6Id, SectionId::makerTags,
unsignedByte, 1, printFlashMasterDataFl6},
{12, "FlashFocalLength", N_("Flash focal length"), N_("Flash focal length"), IfdId::nikonFl6Id,
SectionId::makerTags, unsignedByte, 1, printFlashFocalLength},
{13, "RepeatingFlashRate", N_("Repeating flash rate"), N_("For repeating flash mode, the rate (in Hz)"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printRepeatingFlashRate},
{14, "RepeatingFlashCount", N_("Repeating flash count"),
N_("For repeating flash mode, the number of flash firings"), IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte,
1, printRepeatingFlashCount},
{15, "FlashGNDistance", N_("Flash GN distance"),
N_("For GN (distance priority) mode on the Master flash (see FlashSource), the distance to the subject"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashGNDistance)},
{16, "FlashColorFilter", N_("Flash color filter"), N_("The attached color filter"), IfdId::nikonFl6Id,
SectionId::makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashColorFilter)},
{17, "FlashGroupAControlData", N_("Flash Group A control data"), N_("The mode used for Group A flashes"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupAControlData},
{18, "FlashGroupBCControlData", N_("Flash Group B/C control data"), N_("The modes used for Group B and C flashes"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupBCControlData},
{19, "FlashCompensationGroupA", N_("Flash compensation Group A"), N_("Flash compensation for Group A flashes"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupADataFl6},
{20, "FlashCompensationGroupB", N_("Flash compensation Group B data"), N_("Flash compensation for Group B flashes"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupBDataFl6},
{21, "FlashCompensationGroupC", N_("Flash Compensation Group C data"), N_("Flash compensation for Group C flashes"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupCDataFl6},
// 22: Possibly includes nikonFlashExposureComp array?
{28, "CameraExposureCompensation", N_("Camera exposure compensation"), N_("The camera's exposure compensation"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printCameraExposureCompensation},
{29, "CameraFlashCompensation", N_("Camera flash compensation"), N_("The camera's flash compensation"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printCameraExposureCompensation},
{39, "FlashMasterOutput", N_("Flash Master output"),
N_("Total flash output for the Master (see FlashSource). FlashMasterOutput = CameraExposureCompensation "
"(if exposure uses \"Entire frame\" mode and Master uses a non-manual mode) + CameraFlashCompensation (if "
"Master uses a non-manual mode) + FlashCompensationMaster"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashMasterDataFl6},
{40, "FlashGroupAOutput", N_("Flash Group A output"),
N_("Total flash output for Group A. FlashGroupAOutput = CameraExposureCompensation (if exposure uses \"Entire "
"frame\" mode and Group A uses a non-manual mode) + CameraFlashCompensation (if Group A uses a non-manual "
"mode) + "
"FlashCompensationGroupA"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupADataFl6},
{41, "FlashGroupBOutput", N_("Flash Group B output"),
N_("Total flash output for Group B. FlashGroupBOutput = CameraExposureCompensation (if exposure uses \"Entire "
"frame\" mode and Group B uses a non-manual mode) + CameraFlashCompensation (if Group B uses a non-manual "
"mode) + "
"FlashCompensationGroupB"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupBDataFl6},
{42, "FlashGroupCOutput", N_("Flash Group C output"),
N_("Total flash output for Group C. FlashGroupCOutput = CameraExposureCompensation (if exposure uses \"Entire "
"frame\" mode and Group C uses a non-manual mode) + CameraFlashCompensation (if Group C uses a non-manual "
"mode) + "
"FlashCompensationGroupC"),
IfdId::nikonFl6Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupCDataFl6},
// End of list marker
{0xffff, "(UnknownNikonFl6Tag)", "(UnknownNikonFl6Tag)", N_("Unknown Nikon Flash Info 6 Tag"), IfdId::nikonFl6Id,
SectionId::makerTags, unsignedByte, 1, printValue},
};
const TagInfo* Nikon3MakerNote::tagListFl6() {
return tagInfoFl6_;
}
// Nikon3 Flash Info 7 (0107 and 0108) Tag Info // Nikon3 Flash Info 7 (0107 and 0108) Tag Info
constexpr TagInfo Nikon3MakerNote::tagInfoFl7_[] = { constexpr TagInfo Nikon3MakerNote::tagInfoFl7_[] = {
{0, "Version", N_("Version"), N_("Flash info version"), IfdId::nikonFl7Id, SectionId::makerTags, undefined, 4, {0, "Version", N_("Version"), N_("Identifies the NikonFl version"), IfdId::nikonFl7Id, SectionId::makerTags,
printExifVersion}, undefined, 4, printExifVersion},
{4, "FlashSource", N_("Flash source"), N_("The type of flash used (if any)"), IfdId::nikonFl7Id, {4, "FlashSource", N_("Flash source"), N_("The type of flash used"), IfdId::nikonFl7Id, SectionId::makerTags,
SectionId::makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashSource)}, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashSource)},
{6, "ExternalFlashFirmware", N_("External Flash Firmware"), N_("External flash firmware version"), // 5: Possibly connected to high-speed shutter setting?
{6, "ExternalFlashFirmware", N_("External flash firmware"), N_("The firmware version used by the external flash"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonFlashFirmware)}, IfdId::nikonFl7Id, SectionId::makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonFlashFirmware)},
{8, "ExternalFlashData1", N_("External flash data"), N_("External flash data"), IfdId::nikonFl7Id, {8, "ExternalFlashData1", N_("External flash data 1"),
SectionId::makerTags, unsignedByte, 1, printExternalFlashData1}, N_("The external flash state, zoom status and attached flash adapters"), IfdId::nikonFl7Id, SectionId::makerTags,
{9, "ExternalFlashData2", N_("External flash ready state"), N_("External flash ready state"), IfdId::nikonFl7Id, unsignedByte, 1, printExternalFlashData1Fl7},
SectionId::makerTags, unsignedByte, 1, printExternalFlashData2}, {9, "ExternalFlashData2", N_("External flash data 2"), N_("The mode used for the Master flash (see FlashSource)"),
{10, "FlashCompensation", N_("Flash compensation"), N_("Flash compensation"), IfdId::nikonFl7Id, IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printExternalFlashData2},
SectionId::makerTags, signedByte, 1, printFlashCompensation}, {10, "FlashCompensationMaster", N_("Flash compensation Master"),
N_("Flash compensation for the Master flash (see FlashSource)"), IfdId::nikonFl7Id, SectionId::makerTags,
unsignedByte, 1, printFlashMasterDataFl7},
// 12: Purpose of tag is unclear as manual zoom value is found in tag 38. Possibly connected to automatic zoom?
{12, "FlashFocalLength", N_("Flash focal length"), N_("Flash focal length"), IfdId::nikonFl7Id, {12, "FlashFocalLength", N_("Flash focal length"), N_("Flash focal length"), IfdId::nikonFl7Id,
SectionId::makerTags, unsignedByte, 1, printFlashFocalLength}, SectionId::makerTags, unsignedByte, 1, printFlashFocalLength},
{13, "RepeatingFlashRate", N_("Repeating flash rate"), N_("Repeating flash rate"), IfdId::nikonFl7Id, {13, "RepeatingFlashRate", N_("Repeating flash rate"), N_("For repeating flash modes, the rate (in Hz)"),
SectionId::makerTags, unsignedByte, 1, printRepeatingFlashRate}, IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printRepeatingFlashRate},
{14, "RepeatingFlashCount", N_("Repeating flash count"), N_("Repeating flash count"), IfdId::nikonFl7Id, {14, "RepeatingFlashCount", N_("Repeating flash count"),
SectionId::makerTags, unsignedByte, 1, printRepeatingFlashCount}, N_("For repeating flash modes, the number of flash firings"), IfdId::nikonFl7Id, SectionId::makerTags,
{15, "FlashGNDistance", N_("Flash GN Distance"), N_("Flash GN distance"), IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printRepeatingFlashCount},
unsignedByte, 1, EXV_PRINT_TAG(nikonFlashGNDistance)}, {15, "FlashGNDistance", N_("Flash GN distance"),
{17, "FlashGroupAControlData", N_("Flash group A control data"), N_("Flash group A control data"), N_("For GN (distance priority) mode on the Master flash (see FlashSource), the distance to the subject"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashControlMode)}, IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashGNDistance)},
{18, "FlashGroupBCControlData", N_("Flash group B/C control data"), N_("Flash group B/C control data"), {16, "FlashColorFilter", N_("Flash color filter"), N_("The attached color filters"), IfdId::nikonFl7Id,
SectionId::makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashColorFilter)},
// 17: Possibly also contains control data for Group D in upper nibble?
{17, "FlashGroupAControlData", N_("Flash Group A control data"), N_("The mode used for Group A flashes"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupAControlData},
{18, "FlashGroupBCControlData", N_("Flash Groups B/C control data"), N_("The modes used for Group B and C flashes"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupBCControlData}, IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupBCControlData},
{40, "FlashGroupAData", N_("Flash group A data"), {19, "FlashCompensationGroupA", N_("Flash compensation Group A"), N_("Flash compensation for Group A flashes"),
N_("Depending upon FlashGroupAControlData, either the FlashGroupACompensation value or the FlashGroupAOutput " IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupADataFl7},
"value"), {20, "FlashCompensationGroupB", N_("Flash compensation Group B data"), N_("Flash compensation for Group B flashes"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupAData}, IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupBDataFl7},
{41, "FlashGroupBData", N_("Flash group B data"), {21, "FlashCompensationGroupC", N_("Flash Compensation Group C data"), N_("Flash compensation for Group C flashes"),
N_("Depending upon FlashGroupBCControlData, either the FlashGroupBCompensation value or the FlashGroupBOutput " IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupCDataFl7},
"value"), {22, "ExternalFlashData3", N_("External flash data 3"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupBData}, N_("For the camera's exposure compensation, defines how the flash level is adjusted"), IfdId::nikonFl7Id,
{42, "FlashGroupCData", N_("Flash group C data"), SectionId::makerTags, unsignedByte, 1, printExternalFlashData3},
N_("Depending upon FlashGroupBCControlData, either the FlashGroupCCompensation value or the FlashGroupCOutput " {27, "CameraFlashOutput", N_("Camera flash output"),
"value"), N_("Total flash output for the camera. CameraFlashOutput = CameraExposureCompensation (if ExternalFlashData3 "
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupCData}, "uses \"Entire frame\" mode) + CameraFlashCompensation"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printCameraExposureCompensation},
{28, "CameraExposureCompensation", N_("Camera exposure compensation"), N_("The camera's exposure compensation"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printCameraExposureCompensation},
{29, "CameraFlashCompensation", N_("Camera flash compensation"), N_("The camera's flash compensation"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printCameraExposureCompensation},
// 34: Possible that FV Lock sets '0100 0000'?
{37, "ExternalFlashData4", N_("External flash data 4"), N_("The flash illumination pattern"), IfdId::nikonFl7Id,
SectionId::makerTags, unsignedByte, 1, printExternalFlashData4},
{38, "FlashZoomHeadPosition", N_("Flash zoom head position"), N_("Flash zoom head position (in mm)"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashZoomHeadPosition},
{39, "FlashMasterOutput", N_("Flash Master output"),
N_("Total flash output for the Master (see FlashSource). FlashMasterOutput = CameraFlashOutput (if Master uses a "
"non-manual mode) + "
"FlashCompensationMaster"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashMasterDataFl7},
{40, "FlashGroupAOutput", N_("Flash Group A output"),
N_("Total flash output for Group A. FlashGroupAOutput = CameraFlashOutput (if Group A uses a non-manual mode) + "
"FlashCompensationGroupA"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupADataFl7},
{41, "FlashGroupBOutput", N_("Flash Group B output"),
N_("Total flash output for Group B. FlashGroupBOutput = CameraFlashOutput (if Group B uses a non-manual mode) + "
"FlashCompensationGroupB"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupBDataFl7},
{42, "FlashGroupCOutput", N_("Flash Group C output"),
N_("Total flash output for Group C. FlashGroupCOutput = CameraFlashOutput (if Group C uses a non-manual mode) + "
"FlashCompensationGroupC"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, printFlashGroupCDataFl7},
// 43-46: Each corresponds to M/A/B/C - set when using TTL modes, otherwise is zero. Could be connected to the
// monitor pre-flashes?
{67, "WirelessFlashData", N_("Wireless flash data"), N_("Advanced Wireless Lighting (AWL) communication mode"),
IfdId::nikonFl7Id, SectionId::makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashAWLMode)},
// 68-72: Related to WirelessFlashData? Set if AWL is on, zero if AWL is off. 68-71 connected to M/A/B/C?
// ?: 1. Groups D/E/F will have equivalent tags to Groups A/B/C (see note in tag 17). This could also include
// equivalent tags in 43-46?
// 2. Compatible remote flashes using 'Radio AWL' could transmit settings/data back to the Speedflash?
// 3. Automatic flash mode (A) uses an aperture value.
// 4. The Speedlight can detect if the Master is not pointed straight ahead. The vertical and horizontal
// angles/positions of the flash could be recorded?
// End of list marker // End of list marker
{0xffff, "(UnknownNikonFl7Tag)", "(UnknownNikonFl7Tag)", N_("Unknown Nikon Flash Info 7 Tag"), IfdId::nikonFl7Id, {0xffff, "(UnknownNikonFl7Tag)", "(UnknownNikonFl7Tag)", N_("Unknown Nikon Flash Info 7 Tag"), IfdId::nikonFl7Id,
SectionId::makerTags, unsignedByte, 1, printValue}, SectionId::makerTags, unsignedByte, 1, printValue},
@ -3047,7 +3296,8 @@ std::ostream& Nikon3MakerNote::printRepeatingFlashCount(std::ostream& os, const
return os; return os;
} }
std::ostream& Nikon3MakerNote::printExternalFlashData1(std::ostream& os, const Value& value, const ExifData*) { std::ostream& Nikon3MakerNote::printExternalFlashData1Fl6(std::ostream& os, const Value& value,
const ExifData* metadata) {
std::ios::fmtflags f(os.flags()); std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) { if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
@ -3056,70 +3306,156 @@ std::ostream& Nikon3MakerNote::printExternalFlashData1(std::ostream& os, const V
} }
std::ostringstream oss; std::ostringstream oss;
oss.copyfmt(os); oss.copyfmt(os);
os << (value.toInt64() & 0x80 ? _("External flash zoom override") : _("No external flash zoom override")); const auto v0 = value.toUint32(0);
os << ", "; os << (v0 & 0x01 ? _("Fired") : _("Did not fire"));
os << (value.toInt64() & 0x01 ? _("external flash attached") : _("external flash not attached"));
if (v0 & 0x01) {
std::ostringstream ossTemp;
printTagBitmask<std::size(nikonFlashAdaptors), nikonFlashAdaptors>(ossTemp, value, metadata);
std::string tempStr = ossTemp.str();
if (!tempStr.empty()) {
os << ", " << tempStr;
}
}
os.copyfmt(oss); os.copyfmt(oss);
os.flags(f); os.flags(f);
return os; return os;
} }
std::ostream& Nikon3MakerNote::printExternalFlashData2(std::ostream& os, const Value& value, const ExifData*) { std::ostream& Nikon3MakerNote::printExternalFlashData2Fl6(std::ostream& os, const Value& value,
const ExifData* metadata) {
std::ios::fmtflags f(os.flags()); std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) { if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
os.flags(f); os.flags(f);
return os; return os;
} }
std::ostringstream oss;
oss.copyfmt(os);
const auto v0 = value.toUint32(0);
os << (v0 & 0x80 ? _("External flash on") : _("External flash off"));
if (v0 & 0x80) {
os << ", ";
printTag<std::size(nikonFlashControlMode), nikonFlashControlMode>(os, (value.toUint32() & 0x0F), metadata);
}
os.copyfmt(oss);
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printExternalFlashData1Fl7(std::ostream& os, const Value& value,
const ExifData* metadata) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
std::ostringstream oss; std::ostringstream oss;
oss.copyfmt(os); oss.copyfmt(os);
const auto temp = value.toInt64(); const auto v0 = value.toUint32();
os << (v0 & 0x01 ? _("External flash on") : _("External flash off"));
switch (temp & 0x07) { if (v0 & 0x01) {
case 0: os << ", ";
os << (v0 & 0x80 ? _("External flash zoom override") : _("No external flash zoom override"));
std::ostringstream ossTemp;
printTagBitmask<std::size(nikonFlashAdaptors), nikonFlashAdaptors>(ossTemp, value, metadata);
std::string tempStr = ossTemp.str();
if (!tempStr.empty()) {
os << ", " << tempStr;
}
}
os.copyfmt(oss);
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printExternalFlashData2(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
printTag<std::size(nikonFlashControlMode), nikonFlashControlMode>(os, (value.toUint32() & 0x0F), metadata);
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printFlashMasterDataFl6(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
// Check if using an automated or manual mode
auto pos = metadata->findKey(ExifKey("Exif.NikonFl6.ExternalFlashData1"));
if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
const auto mode = pos->toUint32(0) & 0x0F;
if (mode == 0) {
os << _("n/a"); os << _("n/a");
break; os.flags(f);
case 1: return os;
os << _("Ready");
break;
case 6:
os << _("Not ready");
break;
default:
os << "(" << temp << ")";
break;
} }
os.copyfmt(oss); printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), flashModeUsesManualScale(mode));
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printFlashMasterDataFl7(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
// Check if using an automated or manual mode
auto pos = metadata->findKey(ExifKey("Exif.NikonFl7.ExternalFlashData2"));
if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
const auto mode = pos->toUint32(0) & 0x0F;
if (mode == 0) {
os << _("n/a");
os.flags(f); os.flags(f);
return os; return os;
} }
std::ostream& Nikon3MakerNote::printFlashCompensation(std::ostream& os, const Value& value, const ExifData*) { printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), flashModeUsesManualScale(mode));
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printFlashGroupAControlData(std::ostream& os, const Value& value, const ExifData* data) {
std::ios::fmtflags f(os.flags()); std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != signedByte) { if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
os.flags(f); os.flags(f);
return os; return os;
} }
std::ostringstream oss; std::ostringstream oss;
oss.copyfmt(os); oss.copyfmt(os);
float temp = (value.toFloat() / static_cast<float>(-6.0));
if (temp == 0) printTag<std::size(nikonFlashControlMode), nikonFlashControlMode>(os, (value.toUint32() & 0x0F), data);
os << 0;
else if (!std::isfinite(temp))
os << "(" << value << ")";
else if (std::abs(std::remainderf(temp, 1)) < 0.001)
os << std::round(temp);
else if (std::abs(std::remainderf(temp * 2, 1)) < 0.001)
os << std::round(temp * 2) << "/2";
else if (std::abs(std::remainderf(temp * 3, 1)) < 0.001)
os << std::round(temp * 3) << "/3";
else
os << std::setprecision(3) << temp;
os.copyfmt(oss); os.copyfmt(oss);
os.flags(f); os.flags(f);
@ -3147,7 +3483,7 @@ std::ostream& Nikon3MakerNote::printFlashGroupBCControlData(std::ostream& os, co
return os; return os;
} }
std::ostream& Nikon3MakerNote::printFlashGroupAData(std::ostream& os, const Value& value, const ExifData* metadata) { std::ostream& Nikon3MakerNote::printFlashGroupADataFl6(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags()); std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) { if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
@ -3155,35 +3491,57 @@ std::ostream& Nikon3MakerNote::printFlashGroupAData(std::ostream& os, const Valu
return os; return os;
} }
std::ostringstream oss; // Check if using an automated or manual mode
oss.copyfmt(os); auto pos = metadata->findKey(ExifKey("Exif.NikonFl6.FlashGroupAControlData"));
double temp = value.toFloat() / (-6.0); if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
const auto mode = pos->toUint32(0) & 0x0F;
if (mode == 0) {
os << _("n/a");
os.flags(f);
return os;
}
printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), flashModeUsesManualScale(mode));
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printFlashGroupADataFl7(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
// Check if using an automated or manual mode
auto pos = metadata->findKey(ExifKey("Exif.NikonFl7.FlashGroupAControlData")); auto pos = metadata->findKey(ExifKey("Exif.NikonFl7.FlashGroupAControlData"));
if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) { if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
} else { os.flags(f);
if (pos->toInt64() < 0x06) { return os;
// FlashGroupACompensation value
if (temp == 0)
os << 0;
else
os << std::fixed << std::setprecision(1) << temp;
} else {
// FlashGroupAOutput value
double flashGroupAOutput = std::exp2(temp);
if (flashGroupAOutput > 0.99)
os << _("Full");
else
os << std::setprecision(2) << std::round(flashGroupAOutput * 100) << "%";
} }
const auto mode = pos->toUint32(0) & 0x0F;
if (mode == 0) {
os << _("n/a");
os.flags(f);
return os;
} }
os.copyfmt(oss);
printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), flashModeUsesManualScale(mode));
os.flags(f); os.flags(f);
return os; return os;
} }
std::ostream& Nikon3MakerNote::printFlashGroupBData(std::ostream& os, const Value& value, const ExifData* metadata) { std::ostream& Nikon3MakerNote::printFlashGroupBDataFl6(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags()); std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) { if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
@ -3191,35 +3549,57 @@ std::ostream& Nikon3MakerNote::printFlashGroupBData(std::ostream& os, const Valu
return os; return os;
} }
std::ostringstream oss; // Check if using an automated or manual mode
oss.copyfmt(os); auto pos = metadata->findKey(ExifKey("Exif.NikonFl6.FlashGroupBCControlData"));
double temp = value.toFloat() / (-6.0); if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
const auto mode = pos->toUint32(0) >> 4;
if (mode == 0) {
os << _("n/a");
os.flags(f);
return os;
}
printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), flashModeUsesManualScale(mode));
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printFlashGroupBDataFl7(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
// Check if using an automated or manual mode
auto pos = metadata->findKey(ExifKey("Exif.NikonFl7.FlashGroupBCControlData")); auto pos = metadata->findKey(ExifKey("Exif.NikonFl7.FlashGroupBCControlData"));
if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) { if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
} else { os.flags(f);
if (pos->toInt64() < 0x06) { return os;
// FlashGroupBCompensation value
if (temp == 0)
os << 0;
else
os << std::fixed << std::setprecision(1) << temp;
} else {
// FlashGroupBOutput value
double flashGroupAOutput = std::exp2(temp);
if (flashGroupAOutput > 0.99)
os << _("Full");
else
os << std::setprecision(2) << std::round(flashGroupAOutput * 100) << "%";
} }
const auto mode = pos->toUint32(0) >> 4;
if (mode == 0) {
os << _("n/a");
os.flags(f);
return os;
} }
os.copyfmt(oss);
printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), flashModeUsesManualScale(mode));
os.flags(f); os.flags(f);
return os; return os;
} }
std::ostream& Nikon3MakerNote::printFlashGroupCData(std::ostream& os, const Value& value, const ExifData* metadata) { std::ostream& Nikon3MakerNote::printFlashGroupCDataFl6(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags()); std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) { if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
@ -3227,31 +3607,118 @@ std::ostream& Nikon3MakerNote::printFlashGroupCData(std::ostream& os, const Valu
return os; return os;
} }
std::ostringstream oss; // Check if using an automated or manual mode
oss.copyfmt(os); auto pos = metadata->findKey(ExifKey("Exif.NikonFl6.FlashGroupBCControlData"));
double temp = value.toFloat() / (-6.0); if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
const auto mode = pos->toUint32(0) & 0x000F;
if (mode == 0) {
os << _("n/a");
os.flags(f);
return os;
}
printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), flashModeUsesManualScale(mode));
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printFlashGroupCDataFl7(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
// Check if using an automated or manual mode
auto pos = metadata->findKey(ExifKey("Exif.NikonFl7.FlashGroupBCControlData")); auto pos = metadata->findKey(ExifKey("Exif.NikonFl7.FlashGroupBCControlData"));
if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) { if (pos == metadata->end() || pos->count() != 1 || pos->typeId() != unsignedByte) {
os << "(" << value << ")"; os << "(" << value << ")";
} else { os.flags(f);
if (pos->toInt64() < 0x06) { return os;
// FlashGroupCCompensation value }
if (temp == 0)
os << 0; const auto mode = pos->toUint32(0) & 0x000F;
else if (mode == 0) {
os << std::fixed << std::setprecision(1) << temp; os << _("n/a");
} else { os.flags(f);
// FlashGroupCOutput value return os;
double flashGroupAOutput = std::exp2(temp); }
if (flashGroupAOutput > 0.99)
os << _("Full"); printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), flashModeUsesManualScale(mode));
else
os << std::setprecision(2) << std::round(flashGroupAOutput * 100) << "%"; os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printExternalFlashData3(std::ostream& os, const Value& value, const ExifData* data) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
printTag<std::size(nikonFlashExposureComp), nikonFlashExposureComp>(os, (value.toUint32(0) & 0x04), data);
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printCameraExposureCompensation(std::ostream& os, const Value& value, const ExifData*) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
printFlashCompensationValue(os, static_cast<unsigned char>(value.toUint32(0)), false);
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printExternalFlashData4(std::ostream& os, const Value& value, const ExifData* metadata) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
}
printTag<std::size(nikonFlashIlluminationPat), nikonFlashIlluminationPat>(os, value.toUint32(0), metadata);
os.flags(f);
return os;
}
std::ostream& Nikon3MakerNote::printFlashZoomHeadPosition(std::ostream& os, const Value& value, const ExifData*) {
std::ios::fmtflags f(os.flags());
if (value.count() != 1 || value.typeId() != unsignedByte) {
os << "(" << value << ")";
os.flags(f);
return os;
} }
std::ostringstream oss;
oss.copyfmt(os);
const auto v0 = value.toUint32(0);
if (v0 == 0) {
os << _("n/a");
os.flags(f);
return os;
} }
os << v0 << " mm";
os.copyfmt(oss); os.copyfmt(oss);
os.flags(f); os.flags(f);
return os; return os;
} }

@ -105,6 +105,8 @@ class Nikon3MakerNote {
static const TagInfo* tagListFl2(); static const TagInfo* tagListFl2();
//! Return read-only list of built-in Flash Info 3 tags //! Return read-only list of built-in Flash Info 3 tags
static const TagInfo* tagListFl3(); static const TagInfo* tagListFl3();
//! Return read-only list of built-in Flash Info 6 (0106) tags
static const TagInfo* tagListFl6();
//! Return read-only list of built-in Flash Info 7 (0107 and 0108) tags //! Return read-only list of built-in Flash Info 7 (0107 and 0108) tags
static const TagInfo* tagListFl7(); static const TagInfo* tagListFl7();
//! Return read-only list of built-in Shot Info D80 tags //! Return read-only list of built-in Shot Info D80 tags
@ -195,20 +197,42 @@ class Nikon3MakerNote {
static std::ostream& printRepeatingFlashRate(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printRepeatingFlashRate(std::ostream& os, const Value& value, const ExifData*);
//! Print repeating flash count //! Print repeating flash count
static std::ostream& printRepeatingFlashCount(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printRepeatingFlashCount(std::ostream& os, const Value& value, const ExifData*);
//! Print external flash data 1 value //! Print external flash data 1 value when using NikonFl6
static std::ostream& printExternalFlashData1(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printExternalFlashData1Fl6(std::ostream& os, const Value& value, const ExifData*);
//! Print external flash data 1 value when using NikonFl7
static std::ostream& printExternalFlashData1Fl7(std::ostream& os, const Value& value, const ExifData*);
//! Print external flash data 1 value when using NikonFl6
static std::ostream& printExternalFlashData2Fl6(std::ostream& os, const Value& value, const ExifData*);
//! Print external flash data 2 value //! Print external flash data 2 value
static std::ostream& printExternalFlashData2(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printExternalFlashData2(std::ostream& os, const Value& value, const ExifData*);
//! Print flash compensation value //! Print flash compensation value for the Master when using NikonFl6
static std::ostream& printFlashCompensation(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printFlashMasterDataFl6(std::ostream& os, const Value& value, const ExifData*);
//! Print flash compensation value for the Master when using NikonFl7
static std::ostream& printFlashMasterDataFl7(std::ostream& os, const Value& value, const ExifData*);
//! Print flash group A control data value
static std::ostream& printFlashGroupAControlData(std::ostream& os, const Value& value, const ExifData* data);
//! Print flash group B/C control data value //! Print flash group B/C control data value
static std::ostream& printFlashGroupBCControlData(std::ostream& os, const Value& value, const ExifData* data); static std::ostream& printFlashGroupBCControlData(std::ostream& os, const Value& value, const ExifData* data);
//! Print flash group A data value //! Print flash compensation value for group A when using NikonFl6
static std::ostream& printFlashGroupAData(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printFlashGroupADataFl6(std::ostream& os, const Value& value, const ExifData*);
//! Print flash group B data value //! Print flash compensation value for group A when using NikonFl7
static std::ostream& printFlashGroupBData(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printFlashGroupADataFl7(std::ostream& os, const Value& value, const ExifData*);
//! Print flash group C data value //! Print flash compensation value for group B when using NikonFl6
static std::ostream& printFlashGroupCData(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printFlashGroupBDataFl6(std::ostream& os, const Value& value, const ExifData*);
//! Print flash compensation value for group B when using NikonFl7
static std::ostream& printFlashGroupBDataFl7(std::ostream& os, const Value& value, const ExifData*);
//! Print flash compensation value for group C when using NikonFl6
static std::ostream& printFlashGroupCDataFl6(std::ostream& os, const Value& value, const ExifData*);
//! Print flash compensation value for group C when using NikonFl7
static std::ostream& printFlashGroupCDataFl7(std::ostream& os, const Value& value, const ExifData*);
//! Print external flash data 3 value
static std::ostream& printExternalFlashData3(std::ostream& os, const Value& value, const ExifData*);
//! Print flash camera exposure compensation values
static std::ostream& printCameraExposureCompensation(std::ostream& os, const Value& value, const ExifData*);
//! Print external flash data 4 value
static std::ostream& printExternalFlashData4(std::ostream& os, const Value& value, const ExifData*);
//! Print flash head zoom value
static std::ostream& printFlashZoomHeadPosition(std::ostream& os, const Value& value, const ExifData*);
//! Print time zone //! Print time zone
static std::ostream& printTimeZone(std::ostream& os, const Value& value, const ExifData*); static std::ostream& printTimeZone(std::ostream& os, const Value& value, const ExifData*);
//! Print picture control value //! Print picture control value
@ -244,6 +268,8 @@ class Nikon3MakerNote {
static const TagInfo tagInfoFl2_[]; static const TagInfo tagInfoFl2_[];
//! Flash Info 3 tag information //! Flash Info 3 tag information
static const TagInfo tagInfoFl3_[]; static const TagInfo tagInfoFl3_[];
//! Flash Info 6 (0106) tag information
static const TagInfo tagInfoFl6_[];
//! Flash Info 7 (0107 and 0108) tag information //! Flash Info 7 (0107 and 0108) tag information
static const TagInfo tagInfoFl7_[]; static const TagInfo tagInfoFl7_[];
//! Shot Info D80 tag information //! Shot Info D80 tag information

@ -106,6 +106,7 @@ constexpr GroupInfo groupInfo[] = {
{IfdId::nikonFl1Id, "Makernote", "NikonFl1", Nikon3MakerNote::tagListFl1}, {IfdId::nikonFl1Id, "Makernote", "NikonFl1", Nikon3MakerNote::tagListFl1},
{IfdId::nikonFl2Id, "Makernote", "NikonFl2", Nikon3MakerNote::tagListFl2}, {IfdId::nikonFl2Id, "Makernote", "NikonFl2", Nikon3MakerNote::tagListFl2},
{IfdId::nikonFl3Id, "Makernote", "NikonFl3", Nikon3MakerNote::tagListFl3}, {IfdId::nikonFl3Id, "Makernote", "NikonFl3", Nikon3MakerNote::tagListFl3},
{IfdId::nikonFl6Id, "Makernote", "NikonFl6", Nikon3MakerNote::tagListFl6},
{IfdId::nikonFl7Id, "Makernote", "NikonFl7", Nikon3MakerNote::tagListFl7}, {IfdId::nikonFl7Id, "Makernote", "NikonFl7", Nikon3MakerNote::tagListFl7},
{IfdId::nikonSi1Id, "Makernote", "NikonSiD80", Nikon3MakerNote::tagListSi1}, {IfdId::nikonSi1Id, "Makernote", "NikonSiD80", Nikon3MakerNote::tagListSi1},
{IfdId::nikonSi2Id, "Makernote", "NikonSiD40", Nikon3MakerNote::tagListSi2}, {IfdId::nikonSi2Id, "Makernote", "NikonSiD40", Nikon3MakerNote::tagListSi2},

@ -519,17 +519,49 @@ constexpr ArrayDef nikonFl3Def[] = {
{15, ttUnsignedByte, 1}, // FlashGNDistance {15, ttUnsignedByte, 1}, // FlashGNDistance
{16, ttUnsignedByte, 1}, // FlashColorFilter {16, ttUnsignedByte, 1}, // FlashColorFilter
}; };
//! Nikon Flash Info 7 (0107 and 0108) binary array - configuration //! Nikon Flash Info 6 (0106) binary array - configuration
constexpr ArrayCfg nikonFl7Cfg = { constexpr ArrayCfg nikonFl6Cfg = {IfdId::nikonFl6Id, // Group for the elements
IfdId::nikonFl7Id, // Group for the elements
bigEndian, // Use byte order from parent bigEndian, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
notEncrypted, // Not encrypted notEncrypted, // Not encrypted
false, // No size element false, // No size element
true, // Write all tags true, // Write all tags
true, // Concatenate gaps true, // Concatenate gaps
{0, ttUnsignedByte, 1}, {0, ttUnsignedByte, 1}};
//! Nikon Flash Info 6 (0106) binary array - definition
constexpr ArrayDef nikonFl6Def[] = {
{0, ttUndefined, 4}, // Version
{4, ttUnsignedByte, 1}, // FlashSource
{6, ttUnsignedShort, 1}, // ExternalFlashFirmware
{8, ttUnsignedByte, 1}, // ExternalFlashData1
{9, ttUnsignedByte, 1}, // ExternalFlashData2
{10, ttUnsignedByte, 1}, // FlashCompensationMaster
{12, ttUnsignedByte, 1}, // FlashFocalLength
{13, ttUnsignedByte, 1}, // RepeatingFlashRate
{14, ttUnsignedByte, 1}, // RepeatingFlashCount
{15, ttUnsignedByte, 1}, // FlashGNDistance
{16, ttUnsignedByte, 1}, // FlashColorFilter
{17, ttUnsignedByte, 1}, // FlashGroupAControlData
{18, ttUnsignedByte, 1}, // FlashGroupBCControlData
{19, ttUnsignedByte, 1}, // FlashCompensationGroupA
{20, ttUnsignedByte, 1}, // FlashCompensationGroupB
{21, ttUnsignedByte, 1}, // FlashCompensationGroupC
{28, ttUnsignedByte, 1}, // CameraExposureCompensation
{29, ttUnsignedByte, 1}, // CameraFlashCompensation
{39, ttUnsignedByte, 1}, // FlashMasterOutput
{40, ttUnsignedByte, 1}, // FlashGroupAOutput
{41, ttUnsignedByte, 1}, // FlashGroupBOutput
{42, ttUnsignedByte, 1}, // FlashGroupCOutput
}; };
//! Nikon Flash Info 7 (0107 and 0108) binary array - configuration
constexpr ArrayCfg nikonFl7Cfg = {IfdId::nikonFl7Id, // Group for the elements
bigEndian, // Use byte order from parent
ttUndefined, // Type for array entry
notEncrypted, // Not encrypted
false, // No size element
true, // Write all tags
true, // Concatenate gaps
{0, ttUnsignedByte, 1}};
//! Nikon Flash Info 7 (0107 and 0108) binary array - definition //! Nikon Flash Info 7 (0107 and 0108) binary array - definition
constexpr ArrayDef nikonFl7Def[] = { constexpr ArrayDef nikonFl7Def[] = {
{0, ttUndefined, 4}, // Version {0, ttUndefined, 4}, // Version
@ -537,23 +569,34 @@ constexpr ArrayDef nikonFl7Def[] = {
{6, ttUnsignedShort, 1}, // ExternalFlashFirmware {6, ttUnsignedShort, 1}, // ExternalFlashFirmware
{8, ttUnsignedByte, 1}, // ExternalFlashData1 {8, ttUnsignedByte, 1}, // ExternalFlashData1
{9, ttUnsignedByte, 1}, // ExternalFlashData2 {9, ttUnsignedByte, 1}, // ExternalFlashData2
{10, ttSignedByte, 1}, // FlashCompensation {10, ttUnsignedByte, 1}, // FlashCompensationMaster
{12, ttUnsignedByte, 1}, // FlashFocalLength {12, ttUnsignedByte, 1}, // FlashFocalLength
{13, ttUnsignedByte, 1}, // RepeatingFlashRate {13, ttUnsignedByte, 1}, // RepeatingFlashRate
{14, ttUnsignedByte, 1}, // RepeatingFlashCount {14, ttUnsignedByte, 1}, // RepeatingFlashCount
{15, ttUnsignedByte, 1}, // FlashGNDistance {15, ttUnsignedByte, 1}, // FlashGNDistance
{16, ttUnsignedByte, 1}, // FlashColorFilter
{17, ttUnsignedByte, 1}, // FlashGroupAControlData {17, ttUnsignedByte, 1}, // FlashGroupAControlData
{18, ttUnsignedByte, 1}, // FlashGroupBCControlData {18, ttUnsignedByte, 1}, // FlashGroupBCControlData
{40, ttUnsignedByte, 1}, // FlashGroupAData {19, ttUnsignedByte, 1}, // FlashCompensationGroupA
{41, ttUnsignedByte, 1}, // FlashGroupBData {20, ttUnsignedByte, 1}, // FlashCompensationGroupB
{42, ttUnsignedByte, 1} // FlashGroupCData {21, ttUnsignedByte, 1}, // FlashCompensationGroupC
{22, ttUnsignedByte, 1}, // ExternalFlashData3
{27, ttUnsignedByte, 1}, // CameraFlashOutput
{28, ttUnsignedByte, 1}, // CameraExposureCompensation
{29, ttUnsignedByte, 1}, // CameraFlashCompensation
{37, ttUnsignedByte, 1}, // ExternalFlashData4
{38, ttUnsignedByte, 1}, // FlashZoomHeadPosition
{39, ttUnsignedByte, 1}, // FlashMasterOutput
{40, ttUnsignedByte, 1}, // FlashGroupAOutput
{41, ttUnsignedByte, 1}, // FlashGroupBOutput
{42, ttUnsignedByte, 1}, // FlashGroupCOutput
{67, ttUnsignedByte, 1}, // WirelessFlashData
}; };
//! Nikon Flash Info Data configurations and definitions //! Nikon Flash Info Data configurations and definitions
constexpr ArraySet nikonFlSet[] = { constexpr ArraySet nikonFlSet[] = {
{nikonFl1Cfg, nikonFl1Def, std::size(nikonFl1Def)}, {nikonFl1Cfg, nikonFl1Def, std::size(nikonFl1Def)}, {nikonFl2Cfg, nikonFl2Def, std::size(nikonFl2Def)},
{nikonFl2Cfg, nikonFl2Def, std::size(nikonFl2Def)}, {nikonFl3Cfg, nikonFl3Def, std::size(nikonFl3Def)}, {nikonFl6Cfg, nikonFl6Def, std::size(nikonFl6Def)},
{nikonFl3Cfg, nikonFl3Def, std::size(nikonFl3Def)},
{nikonFl7Cfg, nikonFl7Def, std::size(nikonFl7Def)}, {nikonFl7Cfg, nikonFl7Def, std::size(nikonFl7Def)},
}; };
@ -1307,6 +1350,7 @@ const TiffTreeTable TiffCreator::tiffTreeTable_ = {
{{Tag::root, IfdId::nikonFl1Id}, {IfdId::nikon3Id, 0x00a8}}, {{Tag::root, IfdId::nikonFl1Id}, {IfdId::nikon3Id, 0x00a8}},
{{Tag::root, IfdId::nikonFl2Id}, {IfdId::nikon3Id, 0x00a8}}, {{Tag::root, IfdId::nikonFl2Id}, {IfdId::nikon3Id, 0x00a8}},
{{Tag::root, IfdId::nikonFl3Id}, {IfdId::nikon3Id, 0x00a8}}, {{Tag::root, IfdId::nikonFl3Id}, {IfdId::nikon3Id, 0x00a8}},
{{Tag::root, IfdId::nikonFl6Id}, {IfdId::nikon3Id, 0x00a8}},
{{Tag::root, IfdId::nikonFl7Id}, {IfdId::nikon3Id, 0x00a8}}, {{Tag::root, IfdId::nikonFl7Id}, {IfdId::nikon3Id, 0x00a8}},
{{Tag::root, IfdId::panasonicId}, {IfdId::exifId, 0x927c}}, {{Tag::root, IfdId::panasonicId}, {IfdId::exifId, 0x927c}},
{{Tag::root, IfdId::pentaxId}, {IfdId::exifId, 0x927c}}, {{Tag::root, IfdId::pentaxId}, {IfdId::exifId, 0x927c}},
@ -1729,6 +1773,7 @@ const TiffGroupTable TiffCreator::tiffGroupTable_ = {
{{Tag::all, IfdId::nikonFl1Id}, newTiffBinaryElement}, {{Tag::all, IfdId::nikonFl1Id}, newTiffBinaryElement},
{{Tag::all, IfdId::nikonFl2Id}, newTiffBinaryElement}, {{Tag::all, IfdId::nikonFl2Id}, newTiffBinaryElement},
{{Tag::all, IfdId::nikonFl3Id}, newTiffBinaryElement}, {{Tag::all, IfdId::nikonFl3Id}, newTiffBinaryElement},
{{Tag::all, IfdId::nikonFl6Id}, newTiffBinaryElement},
{{Tag::all, IfdId::nikonFl7Id}, newTiffBinaryElement}, {{Tag::all, IfdId::nikonFl7Id}, newTiffBinaryElement},
// Nikon3 shot info // Nikon3 shot info

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -123,18 +123,30 @@ Exif.Nikon3.ShutterCount Long 1 174 174
Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08 Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 0 AWL Off
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01 Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -119,18 +119,30 @@ Exif.Nikon3.ShutterCount Long 1 68622 68622
Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08 Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 0 AWL Off
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01 Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -119,18 +119,30 @@ Exif.Nikon3.ShutterCount Long 1 251 251
Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08 Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 0 AWL Off
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01 Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -127,7 +127,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 0 None Exif.NikonFl3.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 0 None Exif.NikonFl3.FlashColorFilter Byte 1 0 None
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00

@ -127,7 +127,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 0 None Exif.NikonFl3.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 0 None Exif.NikonFl3.FlashColorFilter Byte 1 0 None
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00

@ -117,18 +117,29 @@ Exif.Nikon3.ShutterCount Long 1 900 900
Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07 Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -97,7 +97,28 @@ Exif.NikonLd3.EffectiveMaxAperture Byte 1 52 F4.5
Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None
Exif.Nikon3.ImageDataSize Long 1 6173648 6173648 Exif.Nikon3.ImageDataSize Long 1 6173648 6173648
Exif.Nikon3.ShutterCount Long 1 9608 9608 Exif.Nikon3.ShutterCount Long 1 9608 9608
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF) Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF)
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -120,7 +120,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 0 None Exif.NikonFl3.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 0 None Exif.NikonFl3.FlashColorFilter Byte 1 0 None
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00

@ -120,7 +120,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 0 None Exif.NikonFl3.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 0 None Exif.NikonFl3.FlashColorFilter Byte 1 0 None
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00

@ -116,18 +116,30 @@ Exif.Nikon3.ShutterCount Long 1 200434 200434
Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08 Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 0 AWL Off
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01 Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -118,18 +118,29 @@ Exif.Nikon3.ShutterCount Long 1 12131 12131
Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07 Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -111,7 +111,28 @@ Exif.NikonLd3.EffectiveMaxAperture Byte 1 36 F2.8
Exif.Nikon3.RawImageCenter Short 2 3008 2008 3008 2008 Exif.Nikon3.RawImageCenter Short 2 3008 2008 3008 2008
Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None
Exif.Nikon3.ShutterCount Long 1 4749 4749 Exif.Nikon3.ShutterCount Long 1 4749 4749
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF) Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF)
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -112,18 +112,30 @@ Exif.Nikon3.ShutterCount Long 1 10419 10419
Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08 Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 0 AWL Off
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -122,18 +122,30 @@ Exif.Nikon3.ShutterCount Long 1 8541 8541
Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08 Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 0 AWL Off
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01 Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -111,18 +111,29 @@ Exif.Nikon3.ShutterCount Long 1 3 3
Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07 Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off
Exif.NikonMe.MultiExposureShots Long 1 0 0 Exif.NikonMe.MultiExposureShots Long 1 0 0

@ -117,18 +117,29 @@ Exif.Nikon3.ShutterCount Long 1 170 170
Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07 Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off
Exif.NikonMe.MultiExposureShots Long 1 0 0 Exif.NikonMe.MultiExposureShots Long 1 0 0

@ -115,7 +115,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 0 None Exif.NikonFl3.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 0 None Exif.NikonFl3.FlashColorFilter Byte 1 0 None
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -97,7 +97,28 @@ Exif.NikonLd3.EffectiveMaxAperture Byte 1 44 F3.6
Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None
Exif.Nikon3.ImageDataSize Long 1 6620552 6620552 Exif.Nikon3.ImageDataSize Long 1 6620552 6620552
Exif.Nikon3.ShutterCount Long 1 7757 7757 Exif.Nikon3.ShutterCount Long 1 7757 7757
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF) Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF)
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -97,7 +97,28 @@ Exif.NikonLd3.EffectiveMaxAperture Byte 1 52 F4.5
Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None
Exif.Nikon3.ImageDataSize Long 1 6173648 6173648 Exif.Nikon3.ImageDataSize Long 1 6173648 6173648
Exif.Nikon3.ShutterCount Long 1 9608 9608 Exif.Nikon3.ShutterCount Long 1 9608 9608
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF) Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF)
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -97,7 +97,28 @@ Exif.NikonLd3.EffectiveMaxAperture Byte 1 52 F4.5
Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None
Exif.Nikon3.ImageDataSize Long 1 6173648 6173648 Exif.Nikon3.ImageDataSize Long 1 6173648 6173648
Exif.Nikon3.ShutterCount Long 1 9608 9608 Exif.Nikon3.ShutterCount Long 1 9608 9608
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF) Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF)
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -123,7 +123,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 0 None Exif.NikonFl3.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 0 None Exif.NikonFl3.FlashColorFilter Byte 1 0 None
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00

@ -42,7 +42,28 @@ Exif.Nikon3.FlashBracketComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashComp Undefined 4 0 1 6 0 0.0 EV Exif.Nikon3.FlashComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashDevice Ascii 20 Exif.Nikon3.FlashDevice Ascii 20
Exif.Nikon3.FlashExposureComp Undefined 4 0 1 6 0 0.0 EV Exif.Nikon3.FlashExposureComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.FlashMode Byte 1 0 Did not fire Exif.Nikon3.FlashMode Byte 1 0 Did not fire
Exif.Nikon3.FlashSetting Ascii 13 Exif.Nikon3.FlashSetting Ascii 13
Exif.Nikon3.Focus Ascii 7 AF-A Automatic Exif.Nikon3.Focus Ascii 7 AF-A Automatic

@ -134,18 +134,29 @@ Exif.Nikon3.ShutterCount Long 1 1882 1882
Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07 Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.Nikon3.HighISONoiseReduction Short 1 0 Off Exif.Nikon3.HighISONoiseReduction Short 1 0 Off
Exif.Nikon3.Preview Long 1 28682 28682 Exif.Nikon3.Preview Long 1 28682 28682

@ -97,7 +97,28 @@ Exif.NikonLd3.EffectiveMaxAperture Byte 1 44 F3.6
Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None
Exif.Nikon3.ImageDataSize Long 1 6620552 6620552 Exif.Nikon3.ImageDataSize Long 1 6620552 6620552
Exif.Nikon3.ShutterCount Long 1 7757 7757 Exif.Nikon3.ShutterCount Long 1 7757 7757
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF) Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF)
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -122,18 +122,30 @@ Exif.Nikon3.ShutterCount Long 1 46490 46490
Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08 Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08
Exif.NikonFl7.FlashSource Byte 1 1 External Exif.NikonFl7.FlashSource Byte 1 1 External
Exif.NikonFl7.ExternalFlashFirmware Short 1 2817 (2817) Exif.NikonFl7.ExternalFlashFirmware Short 1 2817 (2817)
Exif.NikonFl7.ExternalFlashData1 Byte 1 129 External flash zoom override, external flash attached Exif.NikonFl7.ExternalFlashData1 Byte 1 129 External flash on, External flash zoom override
Exif.NikonFl7.ExternalFlashData2 Byte 1 6 Not ready Exif.NikonFl7.ExternalFlashData2 Byte 1 6 Manual
Exif.NikonFl7.FlashCompensation SByte 1 6 -1 Exif.NikonFl7.FlashCompensationMaster Byte 1 6 1/2
Exif.NikonFl7.FlashFocalLength Byte 1 27 27 mm Exif.NikonFl7.FlashFocalLength Byte 1 27 27 mm
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 98 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 6 -1.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 6 -1.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 27 27 mm
Exif.NikonFl7.FlashMasterOutput Byte 1 6 1/2
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 0 AWL Off
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01 Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -122,18 +122,30 @@ Exif.Nikon3.ShutterCount Long 1 5405 5405
Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08 Exif.NikonFl7.Version Undefined 4 48 49 48 56 1.08
Exif.NikonFl7.FlashSource Byte 1 1 External Exif.NikonFl7.FlashSource Byte 1 1 External
Exif.NikonFl7.ExternalFlashFirmware Short 1 1281 5.01 (SB-900) Exif.NikonFl7.ExternalFlashFirmware Short 1 1281 5.01 (SB-900)
Exif.NikonFl7.ExternalFlashData1 Byte 1 1 No external flash zoom override, external flash attached Exif.NikonFl7.ExternalFlashData1 Byte 1 1 External flash on, No external flash zoom override
Exif.NikonFl7.ExternalFlashData2 Byte 1 128 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 128 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 255 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 255 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 6 Manual Exif.NikonFl7.FlashGroupAControlData Byte 1 6 Manual
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 28 4% Exif.NikonFl7.FlashCompensationGroupA Byte 1 28 1/16 (-2/3 EV)
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 30 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 42 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 96 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 28 1/16 (-2/3 EV)
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 1 Optical AWL
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01 Exif.NikonMe.Version Undefined 4 48 49 48 49 1.01
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -101,7 +101,7 @@ Exif.NikonFl1.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl1.FlashFocalLength Byte 1 0 n/a Exif.NikonFl1.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl1.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl1.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl1.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl1.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl1.FlashGNDistance Byte 1 0 None Exif.NikonFl1.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl1.FlashGroupAControlMode Byte 1 0 Off Exif.NikonFl1.FlashGroupAControlMode Byte 1 0 Off
Exif.NikonFl1.FlashGroupBControlMode Byte 1 0 Off Exif.NikonFl1.FlashGroupBControlMode Byte 1 0 Off
Exif.Nikon3.ImageOptimization Ascii 16 NORMAL NORMAL Exif.Nikon3.ImageOptimization Ascii 16 NORMAL NORMAL

@ -117,18 +117,29 @@ Exif.Nikon3.ShutterCount Long 1 38551 38551
Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07 Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -977,7 +977,7 @@ File 4/16: 20040329_224245.jpg
20040329_224245.jpg Exif.NikonFl1.FlashFocalLength Byte 1 n/a 20040329_224245.jpg Exif.NikonFl1.FlashFocalLength Byte 1 n/a
20040329_224245.jpg Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a
20040329_224245.jpg Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a
20040329_224245.jpg Exif.NikonFl1.FlashGNDistance Byte 1 None 20040329_224245.jpg Exif.NikonFl1.FlashGNDistance Byte 1 n/a
20040329_224245.jpg Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off 20040329_224245.jpg Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off
20040329_224245.jpg Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off 20040329_224245.jpg Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off
20040329_224245.jpg Exif.NikonFl1.0x0011 Byte 3 0 0 0 20040329_224245.jpg Exif.NikonFl1.0x0011 Byte 3 0 0 0
@ -2618,7 +2618,7 @@ Compare image data and extracted data ------------------------------------
< 20040329_224245.jpg Exif.NikonFl1.FlashFocalLength Byte 1 n/a < 20040329_224245.jpg Exif.NikonFl1.FlashFocalLength Byte 1 n/a
< 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a < 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a
< 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a < 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a
< 20040329_224245.jpg Exif.NikonFl1.FlashGNDistance Byte 1 None < 20040329_224245.jpg Exif.NikonFl1.FlashGNDistance Byte 1 n/a
< 20040329_224245.jpg Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off < 20040329_224245.jpg Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off
< 20040329_224245.jpg Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off < 20040329_224245.jpg Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off
< 20040329_224245.jpg Exif.NikonFl1.0x0011 Byte 3 0 0 0 < 20040329_224245.jpg Exif.NikonFl1.0x0011 Byte 3 0 0 0
@ -4181,7 +4181,7 @@ Compare image data and extracted data ------------------------------------
> 20040329_224245.exv Exif.NikonFl1.FlashFocalLength Byte 1 n/a > 20040329_224245.exv Exif.NikonFl1.FlashFocalLength Byte 1 n/a
> 20040329_224245.exv Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a > 20040329_224245.exv Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a
> 20040329_224245.exv Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a > 20040329_224245.exv Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a
> 20040329_224245.exv Exif.NikonFl1.FlashGNDistance Byte 1 None > 20040329_224245.exv Exif.NikonFl1.FlashGNDistance Byte 1 n/a
> 20040329_224245.exv Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off > 20040329_224245.exv Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off
> 20040329_224245.exv Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off > 20040329_224245.exv Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off
> 20040329_224245.exv Exif.NikonFl1.0x0011 Byte 3 0 0 0 > 20040329_224245.exv Exif.NikonFl1.0x0011 Byte 3 0 0 0
@ -5982,7 +5982,7 @@ Compare original and inserted image data ---------------------------------
< 20040329_224245.jpg Exif.NikonFl1.FlashFocalLength Byte 1 n/a < 20040329_224245.jpg Exif.NikonFl1.FlashFocalLength Byte 1 n/a
< 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a < 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a
< 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a < 20040329_224245.jpg Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a
< 20040329_224245.jpg Exif.NikonFl1.FlashGNDistance Byte 1 None < 20040329_224245.jpg Exif.NikonFl1.FlashGNDistance Byte 1 n/a
< 20040329_224245.jpg Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off < 20040329_224245.jpg Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off
< 20040329_224245.jpg Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off < 20040329_224245.jpg Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off
< 20040329_224245.jpg Exif.NikonFl1.0x0011 Byte 3 0 0 0 < 20040329_224245.jpg Exif.NikonFl1.0x0011 Byte 3 0 0 0
@ -7545,7 +7545,7 @@ Compare original and inserted image data ---------------------------------
> 20040329_224245.exv Exif.NikonFl1.FlashFocalLength Byte 1 n/a > 20040329_224245.exv Exif.NikonFl1.FlashFocalLength Byte 1 n/a
> 20040329_224245.exv Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a > 20040329_224245.exv Exif.NikonFl1.RepeatingFlashRate Byte 1 n/a
> 20040329_224245.exv Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a > 20040329_224245.exv Exif.NikonFl1.RepeatingFlashCount Byte 1 n/a
> 20040329_224245.exv Exif.NikonFl1.FlashGNDistance Byte 1 None > 20040329_224245.exv Exif.NikonFl1.FlashGNDistance Byte 1 n/a
> 20040329_224245.exv Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off > 20040329_224245.exv Exif.NikonFl1.FlashGroupAControlMode Byte 1 Off
> 20040329_224245.exv Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off > 20040329_224245.exv Exif.NikonFl1.FlashGroupBControlMode Byte 1 Off
> 20040329_224245.exv Exif.NikonFl1.0x0011 Byte 3 0 0 0 > 20040329_224245.exv Exif.NikonFl1.0x0011 Byte 3 0 0 0

@ -97,7 +97,28 @@ Exif.NikonLd3.EffectiveMaxAperture Byte 1 52 F4.5
Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None Exif.Nikon3.RetouchHistory Short 10 0 0 0 0 0 0 0 0 0 0 None
Exif.Nikon3.ImageDataSize Long 1 6173648 6173648 Exif.Nikon3.ImageDataSize Long 1 6173648 6173648
Exif.Nikon3.ShutterCount Long 1 9608 9608 Exif.Nikon3.ShutterCount Long 1 9608 9608
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF) Exif.Nikon3.VariProgram Ascii 16 AUTO(FLASH OFF) AUTO(FLASH OFF)
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -111,18 +111,29 @@ Exif.Nikon3.ShutterCount Long 1 19903 19903
Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07 Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -43,7 +43,28 @@ Exif.Nikon3.FlashBracketComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashComp Undefined 4 0 1 6 0 0.0 EV Exif.Nikon3.FlashComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashDevice Ascii 20 Exif.Nikon3.FlashDevice Ascii 20
Exif.Nikon3.FlashExposureComp Undefined 4 0 1 6 0 0.0 EV Exif.Nikon3.FlashExposureComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.FlashMode Byte 1 0 Did not fire Exif.Nikon3.FlashMode Byte 1 0 Did not fire
Exif.Nikon3.FlashSetting Ascii 13 Exif.Nikon3.FlashSetting Ascii 13
Exif.Nikon3.Focus Ascii 7 AF-A Automatic Exif.Nikon3.Focus Ascii 7 AF-A Automatic

@ -43,7 +43,28 @@ Exif.Nikon3.FlashBracketComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashComp Undefined 4 0 1 6 0 0.0 EV Exif.Nikon3.FlashComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashDevice Ascii 20 Exif.Nikon3.FlashDevice Ascii 20
Exif.Nikon3.FlashExposureComp Undefined 4 0 1 6 0 0.0 EV Exif.Nikon3.FlashExposureComp Undefined 4 0 1 6 0 0.0 EV
Exif.Nikon3.FlashInfo Undefined 49 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 49 48 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exif.NikonFl6.Version Undefined 4 48 49 48 54 1.06
Exif.NikonFl6.FlashSource Byte 1 0 None
Exif.NikonFl6.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl6.ExternalFlashData1 Byte 1 0 Did not fire
Exif.NikonFl6.ExternalFlashData2 Byte 1 0 External flash off
Exif.NikonFl6.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl6.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl6.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl6.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl6.FlashColorFilter Byte 1 0 None
Exif.NikonFl6.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl6.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl6.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl6.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl6.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl6.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl6.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.FlashMode Byte 1 0 Did not fire Exif.Nikon3.FlashMode Byte 1 0 Did not fire
Exif.Nikon3.FlashSetting Ascii 13 Exif.Nikon3.FlashSetting Ascii 13
Exif.Nikon3.Focus Ascii 7 AF-A Automatic Exif.Nikon3.Focus Ascii 7 AF-A Automatic

@ -123,7 +123,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 0 None Exif.NikonFl3.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 0 None Exif.NikonFl3.FlashColorFilter Byte 1 0 None
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00

@ -124,7 +124,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 0 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a Exif.NikonFl3.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 0 None Exif.NikonFl3.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 0 None Exif.NikonFl3.FlashColorFilter Byte 1 0 None
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -117,18 +117,29 @@ Exif.Nikon3.ShutterCount Long 1 34651 34651
Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07 Exif.NikonFl7.Version Undefined 4 48 49 48 55 1.07
Exif.NikonFl7.FlashSource Byte 1 0 None Exif.NikonFl7.FlashSource Byte 1 0 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 0 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 0 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 0 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 0 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 0 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 0 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a Exif.NikonFl7.FlashFocalLength Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 0 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 0 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 0 None Exif.NikonFl7.FlashGNDistance Byte 1 0 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 0 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 0 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 0 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 0 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 0 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 0 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 0 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 0 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 0 n/a
Exif.Nikon3.VariProgram Ascii 16 Exif.Nikon3.VariProgram Ascii 16
Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00 Exif.NikonMe.Version Undefined 4 48 49 48 48 1.00
Exif.NikonMe.MultiExposureMode Long 1 0 Off Exif.NikonMe.MultiExposureMode Long 1 0 Off

@ -16,18 +16,30 @@ class TestNikonFl7GroupWithFlash(metaclass=CaseMeta):
stdout = ["""Exif.NikonFl7.Version Undefined 4 1.08 stdout = ["""Exif.NikonFl7.Version Undefined 4 1.08
Exif.NikonFl7.FlashSource Byte 1 External Exif.NikonFl7.FlashSource Byte 1 External
Exif.NikonFl7.ExternalFlashFirmware Short 1 5.01 (SB-900) Exif.NikonFl7.ExternalFlashFirmware Short 1 5.01 (SB-900)
Exif.NikonFl7.ExternalFlashData1 Byte 1 No external flash zoom override, external flash attached Exif.NikonFl7.ExternalFlashData1 Byte 1 External flash on, No external flash zoom override
Exif.NikonFl7.ExternalFlashData2 Byte 1 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 n/a Exif.NikonFl7.FlashFocalLength Byte 1 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 None Exif.NikonFl7.FlashGNDistance Byte 1 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 Manual Exif.NikonFl7.FlashGroupAControlData Byte 1 Manual
Exif.NikonFl7.FlashGroupBCControlData Byte 1 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 4% Exif.NikonFl7.FlashCompensationGroupA Byte 1 1/16 (-2/3 EV)
Exif.NikonFl7.FlashGroupBData Byte 1 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 1/16 (-2/3 EV)
Exif.NikonFl7.FlashGroupBOutput Byte 1 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 n/a
Exif.NikonFl7.WirelessFlashData Byte 1 Optical AWL
"""] """]
class TestNikonFl7GroupWithoutFlash(metaclass=CaseMeta): class TestNikonFl7GroupWithoutFlash(metaclass=CaseMeta):
@ -43,16 +55,27 @@ class TestNikonFl7GroupWithoutFlash(metaclass=CaseMeta):
stdout = ["""Exif.NikonFl7.Version Undefined 4 1.07 stdout = ["""Exif.NikonFl7.Version Undefined 4 1.07
Exif.NikonFl7.FlashSource Byte 1 None Exif.NikonFl7.FlashSource Byte 1 None
Exif.NikonFl7.ExternalFlashFirmware Short 1 n/a Exif.NikonFl7.ExternalFlashFirmware Short 1 n/a
Exif.NikonFl7.ExternalFlashData1 Byte 1 No external flash zoom override, external flash not attached Exif.NikonFl7.ExternalFlashData1 Byte 1 External flash off
Exif.NikonFl7.ExternalFlashData2 Byte 1 n/a Exif.NikonFl7.ExternalFlashData2 Byte 1 Off
Exif.NikonFl7.FlashCompensation SByte 1 0 Exif.NikonFl7.FlashCompensationMaster Byte 1 n/a
Exif.NikonFl7.FlashFocalLength Byte 1 n/a Exif.NikonFl7.FlashFocalLength Byte 1 n/a
Exif.NikonFl7.RepeatingFlashRate Byte 1 n/a Exif.NikonFl7.RepeatingFlashRate Byte 1 n/a
Exif.NikonFl7.RepeatingFlashCount Byte 1 n/a Exif.NikonFl7.RepeatingFlashCount Byte 1 n/a
Exif.NikonFl7.FlashGNDistance Byte 1 None Exif.NikonFl7.FlashGNDistance Byte 1 n/a
Exif.NikonFl7.FlashColorFilter Byte 1 None
Exif.NikonFl7.FlashGroupAControlData Byte 1 Off Exif.NikonFl7.FlashGroupAControlData Byte 1 Off
Exif.NikonFl7.FlashGroupBCControlData Byte 1 Off, Off Exif.NikonFl7.FlashGroupBCControlData Byte 1 Off, Off
Exif.NikonFl7.FlashGroupAData Byte 1 0 Exif.NikonFl7.FlashCompensationGroupA Byte 1 n/a
Exif.NikonFl7.FlashGroupBData Byte 1 0 Exif.NikonFl7.FlashCompensationGroupB Byte 1 n/a
Exif.NikonFl7.FlashGroupCData Byte 1 0 Exif.NikonFl7.FlashCompensationGroupC Byte 1 n/a
Exif.NikonFl7.ExternalFlashData3 Byte 1 Exposure Comp.: Entire frame
Exif.NikonFl7.CameraFlashOutput Byte 1 0.0 EV
Exif.NikonFl7.CameraExposureCompensation Byte 1 0.0 EV
Exif.NikonFl7.CameraFlashCompensation Byte 1 0.0 EV
Exif.NikonFl7.ExternalFlashData4 Byte 1 Illumination Pat.: Standard
Exif.NikonFl7.FlashZoomHeadPosition Byte 1 n/a
Exif.NikonFl7.FlashMasterOutput Byte 1 n/a
Exif.NikonFl7.FlashGroupAOutput Byte 1 n/a
Exif.NikonFl7.FlashGroupBOutput Byte 1 n/a
Exif.NikonFl7.FlashGroupCOutput Byte 1 n/a
"""] """]

@ -20,7 +20,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 n/a Exif.NikonFl3.FlashFocalLength Byte 1 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 None Exif.NikonFl3.FlashGNDistance Byte 1 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 None Exif.NikonFl3.FlashColorFilter Byte 1 None
""", """,
"""Exif.NikonFl3.Version Undefined 4 1.05 """Exif.NikonFl3.Version Undefined 4 1.05
@ -30,7 +30,7 @@ Exif.NikonFl3.ExternalFlashFlags Byte 1 Fired
Exif.NikonFl3.FlashFocalLength Byte 1 n/a Exif.NikonFl3.FlashFocalLength Byte 1 n/a
Exif.NikonFl3.RepeatingFlashRate Byte 1 n/a Exif.NikonFl3.RepeatingFlashRate Byte 1 n/a
Exif.NikonFl3.RepeatingFlashCount Byte 1 n/a Exif.NikonFl3.RepeatingFlashCount Byte 1 n/a
Exif.NikonFl3.FlashGNDistance Byte 1 None Exif.NikonFl3.FlashGNDistance Byte 1 n/a
Exif.NikonFl3.FlashColorFilter Byte 1 None Exif.NikonFl3.FlashColorFilter Byte 1 None
"""] """]
stderr = [""]*2 stderr = [""]*2

Loading…
Cancel
Save