From 87795587639201db91fcb7b593fa8bea1bf66e3d Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sat, 15 Apr 2017 21:29:06 +0200 Subject: [PATCH] Updated rtexif with information from ExifTool 10.49, #3802 --- rtexif/canonattribs.cc | 640 ++++++++++++++++++----------------- rtexif/fujiattribs.cc | 28 +- rtexif/nikonattribs.cc | 14 +- rtexif/olympusattribs.cc | 4 + rtexif/pentaxattribs.cc | 5 +- rtexif/sonyminoltaattribs.cc | 88 +++-- tools/generateLensList | 71 ++-- 7 files changed, 466 insertions(+), 384 deletions(-) diff --git a/rtexif/canonattribs.cc b/rtexif/canonattribs.cc index 7fa01f624..c61b8d774 100644 --- a/rtexif/canonattribs.cc +++ b/rtexif/canonattribs.cc @@ -171,6 +171,7 @@ public: choices[16] = "Pan Focus"; choices[256] = "AF + MF"; choices[512] = "Movie Snap Focus"; + choices[519] = "Movie Servo AF"; } }; CAFocusModeInterpreter caFocusModeInterpreter; @@ -648,6 +649,7 @@ public: choices.insert(p_t(52, "Canon EF-S 18-55mm f/3.5-5.6 IS II")); choices.insert(p_t(53, "Canon EF-S 18-55mm f/3.5-5.6 III")); choices.insert(p_t(54, "Canon EF-S 55-250mm f/4-5.6 IS II")); + choices.insert(p_t(60, "Irix 11mm f/4")); choices.insert(p_t(94, "Canon TS-E 17mm f/4L")); choices.insert(p_t(95, "Canon TS-E 24.0mm f/3.5 L II")); choices.insert(p_t(124, "Canon MP-E 65mm f/2.8 1-5x Macro Photo")); @@ -855,7 +857,8 @@ public: choices.insert(p_t(488, "Canon EF-S 15-85mm f/3.5-5.6 IS USM")); choices.insert(p_t(489, "Canon EF 70-300mm f/4-5.6L IS USM")); choices.insert(p_t(490, "Canon EF 8-15mm f/4L Fisheye USM")); - choices.insert(p_t(491, "Canon EF 300mm f/2.8L IS II USM")); + choices.insert(p_t(491, "Canon EF 300mm f/2.8L IS II USM or Tamron Lens")); + choices.insert(p_t(491, "Tamron SP 70-200mm f/2.8 Di VC USD G2 (A025)")); choices.insert(p_t(492, "Canon EF 400mm f/2.8L IS II USM")); choices.insert(p_t(493, "Canon EF 500mm f/4L IS II USM or EF 24-105mm f4L IS USM")); choices.insert(p_t(493, "Canon EF 24-105mm f/4L IS USM")); @@ -870,9 +873,12 @@ public: choices.insert(p_t(506, "Canon EF 400mm f/4 DO IS II USM")); choices.insert(p_t(507, "Canon EF 16-35mm f/4L IS USM")); choices.insert(p_t(508, "Canon EF 11-24mm f/4L USM")); - choices.insert(p_t(747, "Canon EF 100-400mm f/4.5-5.6L IS II USM")); + choices.insert(p_t(747, "Canon EF 100-400mm f/4.5-5.6L IS II USM or Tamron Lens")); + choices.insert(p_t(747, "Tamron SP 150-600mm F5-6.3 Di VC USD G2")); choices.insert(p_t(748, "Canon EF 100-400mm f/4.5-5.6L IS II USM + 1.4x")); choices.insert(p_t(750, "Canon EF 35mm f/1.4L II USM")); + choices.insert(p_t(751, "Canon EF 16-35mm f/2.8L III USM")); + choices.insert(p_t(752, "Canon EF 24-105mm f/4L IS II USM")); choices.insert(p_t(4142, "Canon EF-S 18-135mm f/3.5-5.6 IS STM")); choices.insert(p_t(4143, "Canon EF-M 18-55mm f/3.5-5.6 IS STM or Tamron Lens")); choices.insert(p_t(4143, "Tamron 18-200mm f/3.5-6.3 Di III VC")); @@ -886,8 +892,11 @@ public: choices.insert(p_t(4152, "Canon EF 24-105mm f/3.5-5.6 IS STM")); choices.insert(p_t(4153, "Canon EF-M 15-45mm f/3.5-6.3 IS STM")); choices.insert(p_t(4154, "Canon EF-S 24mm f/2.8 STM")); - choices.insert(p_t(4155, "Canon EF-M 28mm f/3.5 Macro IS STM ")); + choices.insert(p_t(4155, "Canon EF-M 28mm f/3.5 Macro IS STM")); choices.insert(p_t(4156, "Canon EF 50mm f/1.8 STM")); + choices.insert(p_t(4157, "Canon EF-M 18-150mm 1:3.5-6.3 IS STM")); + choices.insert(p_t(4158, "Canon EF-S 18-55mm f/4-5.6 IS STM")); + choices.insert(p_t(36910, "Canon EF 70-300mm f/4-5.6 IS II USM")); choices.insert(p_t(36912, "Canon EF-S 18-135mm f/3.5-5.6 IS USM")); choices.insert(p_t(65535, "n/a")); } @@ -1181,10 +1190,13 @@ public: CAPictureStyleInterpreter() { choices[0] = "None"; - choices[1] = "Standard "; - choices[2] = "Set 1"; - choices[3] = "Set 2"; - choices[4] = "Set 3"; + choices[1] = "Standard"; + choices[2] = "Portrait"; + choices[3] = "High Saturation"; + choices[4] = "Adobe RGB"; + choices[5] = "Low Saturation"; + choices[6] = "CM Set 1"; + choices[7] = "CM Set 2"; choices[0x21] = "User Def. 1"; choices[0x22] = "User Def. 2"; choices[0x23] = "User Def. 3"; @@ -1308,7 +1320,7 @@ public: { choices[248] = "EOS High-end"; choices[250] = "Compact"; - choices[252] = "EOS Mid-end"; + choices[252] = "EOS Mid-range"; choices[255] = "DV Camera"; } }; @@ -1437,315 +1449,319 @@ public: }; CAFileNumberInterpreter caFileNumberInterpreter; +// CanonModelID class CAModelIDInterpreter : public ChoiceInterpreter { public: CAModelIDInterpreter () { - choices[0x1010000] = "PowerShot A30"; - choices[0x1040000] = "PowerShot S300 / Digital IXUS 300 / IXY Digital 300"; - choices[0x1060000] = "PowerShot A20"; - choices[0x1080000] = "PowerShot A10"; - choices[0x1090000] = "PowerShot S110 / Digital IXUS v / IXY Digital 200"; - choices[0x1100000] = "PowerShot G2"; - choices[0x1110000] = "PowerShot S40"; - choices[0x1120000] = "PowerShot S30"; - choices[0x1130000] = "PowerShot A40"; - choices[0x1140000] = "EOS D30"; - choices[0x1150000] = "PowerShot A100"; - choices[0x1160000] = "PowerShot S200 / Digital IXUS v2 / IXY Digital 200a"; - choices[0x1170000] = "PowerShot A200"; - choices[0x1180000] = "PowerShot S330 / Digital IXUS 330 / IXY Digital 300a"; - choices[0x1190000] = "PowerShot G3"; - choices[0x1210000] = "PowerShot S45"; - choices[0x1230000] = "PowerShot SD100 / Digital IXUS II / IXY Digital 30"; - choices[0x1240000] = "PowerShot S230 / Digital IXUS v3 / IXY Digital 320"; - choices[0x1250000] = "PowerShot A70"; - choices[0x1260000] = "PowerShot A60"; - choices[0x1270000] = "PowerShot S400 / Digital IXUS 400 / IXY Digital 400"; - choices[0x1290000] = "PowerShot G5"; - choices[0x1300000] = "PowerShot A300"; - choices[0x1310000] = "PowerShot S50"; - choices[0x1340000] = "PowerShot A80"; - choices[0x1350000] = "PowerShot SD10 / Digital IXUS i / IXY Digital L"; - choices[0x1360000] = "PowerShot S1 IS"; - choices[0x1370000] = "PowerShot Pro1"; - choices[0x1380000] = "PowerShot S70"; - choices[0x1390000] = "PowerShot S60"; - choices[0x1400000] = "PowerShot G6"; - choices[0x1410000] = "PowerShot S500 / Digital IXUS 500 / IXY Digital 500"; - choices[0x1420000] = "PowerShot A75"; - choices[0x1440000] = "PowerShot SD110 / Digital IXUS IIs / IXY Digital 30a"; - choices[0x1450000] = "PowerShot A400"; - choices[0x1470000] = "PowerShot A310"; - choices[0x1490000] = "PowerShot A85"; - choices[0x1520000] = "PowerShot S410 / Digital IXUS 430 / IXY Digital 450"; - choices[0x1530000] = "PowerShot A95"; - choices[0x1540000] = "PowerShot SD300 / Digital IXUS 40 / IXY Digital 50"; - choices[0x1550000] = "PowerShot SD200 / Digital IXUS 30 / IXY Digital 40"; - choices[0x1560000] = "PowerShot A520"; - choices[0x1570000] = "PowerShot A510"; - choices[0x1590000] = "PowerShot SD20 / Digital IXUS i5 / IXY Digital L2"; - choices[0x1640000] = "PowerShot S2 IS"; - choices[0x1650000] = "PowerShot SD430 / Digital IXUS Wireless / IXY Digital Wireless"; - choices[0x1660000] = "PowerShot SD500 / Digital IXUS 700 / IXY Digital 600"; - choices[0x1668000] = "EOS D60"; - choices[0x1700000] = "PowerShot SD30 / Digital IXUS i Zoom / IXY Digital L3"; - choices[0x1740000] = "PowerShot A430"; - choices[0x1750000] = "PowerShot A410"; - choices[0x1760000] = "PowerShot S80"; - choices[0x1780000] = "PowerShot A620"; - choices[0x1790000] = "PowerShot A610"; - choices[0x1800000] = "PowerShot SD630 / Digital IXUS 65 / IXY Digital 80"; - choices[0x1810000] = "PowerShot SD450 / Digital IXUS 55 / IXY Digital 60"; - choices[0x1820000] = "PowerShot TX1"; - choices[0x1870000] = "PowerShot SD400 / Digital IXUS 50 / IXY Digital 55"; - choices[0x1880000] = "PowerShot A420"; - choices[0x1890000] = "PowerShot SD900 / Digital IXUS 900 Ti / IXY Digital 1000"; - choices[0x1900000] = "PowerShot SD550 / Digital IXUS 750 / IXY Digital 700"; - choices[0x1920000] = "PowerShot A700"; - choices[0x1940000] = "PowerShot SD700 IS / Digital IXUS 800 IS / IXY Digital 800 IS"; - choices[0x1950000] = "PowerShot S3 IS"; - choices[0x1960000] = "PowerShot A540"; - choices[0x1970000] = "PowerShot SD600 / Digital IXUS 60 / IXY Digital 70"; - choices[0x1980000] = "PowerShot G7"; - choices[0x1990000] = "PowerShot A530"; - choices[0x2000000] = "PowerShot SD800 IS / Digital IXUS 850 IS / IXY Digital 900 IS"; - choices[0x2010000] = "PowerShot SD40 / Digital IXUS i7 / IXY Digital L4"; - choices[0x2020000] = "PowerShot A710 IS"; - choices[0x2030000] = "PowerShot A640"; - choices[0x2040000] = "PowerShot A630"; - choices[0x2090000] = "PowerShot S5 IS"; - choices[0x2100000] = "PowerShot A460"; - choices[0x2120000] = "PowerShot SD850 IS / Digital IXUS 950 IS / IXY Digital 810 IS"; - choices[0x2130000] = "PowerShot A570 IS"; - choices[0x2140000] = "PowerShot A560"; - choices[0x2150000] = "PowerShot SD750 / Digital IXUS 75 / IXY Digital 90"; - choices[0x2160000] = "PowerShot SD1000 / Digital IXUS 70 / IXY Digital 10"; - choices[0x2180000] = "PowerShot A550"; - choices[0x2190000] = "PowerShot A450"; - choices[0x2230000] = "PowerShot G9"; - choices[0x2240000] = "PowerShot A650 IS"; - choices[0x2260000] = "PowerShot A720 IS"; - choices[0x2290000] = "PowerShot SX100 IS"; - choices[0x2300000] = "PowerShot SD950 IS / Digital IXUS 960 IS / IXY Digital 2000 IS"; - choices[0x2310000] = "PowerShot SD870 IS / Digital IXUS 860 IS / IXY Digital 910 IS"; - choices[0x2320000] = "PowerShot SD890 IS / Digital IXUS 970 IS / IXY Digital 820 IS"; - choices[0x2360000] = "PowerShot SD790 IS / Digital IXUS 90 IS / IXY Digital 95 IS"; - choices[0x2370000] = "PowerShot SD770 IS / Digital IXUS 85 IS / IXY Digital 25 IS"; - choices[0x2380000] = "PowerShot A590 IS"; - choices[0x2390000] = "PowerShot A580"; - choices[0x2420000] = "PowerShot A470"; - choices[0x2430000] = "PowerShot SD1100 IS / Digital IXUS 80 IS / IXY Digital 20 IS"; - choices[0x2460000] = "PowerShot SX1 IS"; - choices[0x2470000] = "PowerShot SX10 IS"; - choices[0x2480000] = "PowerShot A1000 IS"; - choices[0x2490000] = "PowerShot G10"; - choices[0x2510000] = "PowerShot A2000 IS"; - choices[0x2520000] = "PowerShot SX110 IS"; - choices[0x2530000] = "PowerShot SD990 IS / Digital IXUS 980 IS / IXY Digital 3000 IS"; - choices[0x2540000] = "PowerShot SD880 IS / Digital IXUS 870 IS / IXY Digital 920 IS"; - choices[0x2550000] = "PowerShot E1"; - choices[0x2560000] = "PowerShot D10"; - choices[0x2570000] = "PowerShot SD960 IS / Digital IXUS 110 IS / IXY Digital 510 IS"; - choices[0x2580000] = "PowerShot A2100 IS"; - choices[0x2590000] = "PowerShot A480"; - choices[0x2600000] = "PowerShot SX200 IS"; - choices[0x2610000] = "PowerShot SD970 IS / Digital IXUS 990 IS / IXY Digital 830 IS"; - choices[0x2620000] = "PowerShot SD780 IS / Digital IXUS 100 IS / IXY Digital 210 IS"; - choices[0x2630000] = "PowerShot A1100 IS"; - choices[0x2640000] = "PowerShot SD1200 IS / Digital IXUS 95 IS / IXY Digital 110 IS"; - choices[0x2700000] = "PowerShot G11"; - choices[0x2710000] = "PowerShot SX120 IS"; - choices[0x2720000] = "PowerShot S90"; - choices[0x2750000] = "PowerShot SX20 IS"; - choices[0x2760000] = "PowerShot SD980 IS / Digital IXUS 200 IS / IXY Digital 930 IS"; - choices[0x2770000] = "PowerShot SD940 IS / Digital IXUS 120 IS / IXY Digital 220 IS"; - choices[0x2800000] = "PowerShot A495"; - choices[0x2810000] = "PowerShot A490"; - choices[0x2820000] = "PowerShot A3100 IS / A3150 IS"; - choices[0x2830000] = "PowerShot A3000 IS"; - choices[0x2840000] = "PowerShot SD1400 IS / IXUS 130 / IXY 400F"; - choices[0x2850000] = "PowerShot SD1300 IS / IXUS 105 / IXY 200F"; - choices[0x2860000] = "PowerShot SD3500 IS / IXUS 210 / IXY 10S"; - choices[0x2870000] = "PowerShot SX210 IS"; - choices[0x2880000] = "PowerShot SD4000 IS / IXUS 300 HS / IXY 30S"; - choices[0x2890000] = "PowerShot SD4500 IS / IXUS 1000 HS / IXY 50S"; - choices[0x2920000] = "PowerShot G12"; - choices[0x2930000] = "PowerShot SX30 IS"; - choices[0x2940000] = "PowerShot SX130 IS"; - choices[0x2950000] = "PowerShot S95"; - choices[0x2980000] = "PowerShot A3300 IS"; - choices[0x2990000] = "PowerShot A3200 IS"; - choices[0x3000000] = "PowerShot ELPH 500 HS / IXUS 310 HS / IXY 31S"; - choices[0x3010000] = "PowerShot Pro90 IS"; - choices[0x3010001] = "PowerShot A800"; - choices[0x3020000] = "PowerShot ELPH 100 HS / IXUS 115 HS / IXY 210F"; - choices[0x3030000] = "PowerShot SX230 HS"; - choices[0x3040000] = "PowerShot ELPH 300 HS / IXUS 220 HS / IXY 410F"; - choices[0x3050000] = "PowerShot A2200"; - choices[0x3060000] = "PowerShot A1200"; - choices[0x3070000] = "PowerShot SX220 HS"; - choices[0x3080000] = "PowerShot G1 X"; - choices[0x3090000] = "PowerShot SX150 IS"; - choices[0x3100000] = "PowerShot ELPH 510 HS / IXUS 1100 HS / IXY 51S"; - choices[0x3110000] = "PowerShot S100 (new)"; - choices[0x3120000] = "PowerShot ELPH 310 HS / IXUS 230 HS / IXY 600F"; - choices[0x3130000] = "PowerShot SX40 HS"; - choices[0x3140000] = "IXY 32S"; - choices[0x3160000] = "PowerShot A1300"; - choices[0x3170000] = "PowerShot A810"; - choices[0x3180000] = "PowerShot ELPH 320 HS / IXUS 240 HS / IXY 420F"; - choices[0x3190000] = "PowerShot ELPH 110 HS / IXUS 125 HS / IXY 220F"; - choices[0x3200000] = "PowerShot D20"; - choices[0x3210000] = "PowerShot A4000 IS"; - choices[0x3220000] = "PowerShot SX260 HS"; - choices[0x3230000] = "PowerShot SX240 HS"; - choices[0x3240000] = "PowerShot ELPH 530 HS / IXUS 510 HS / IXY 1"; - choices[0x3250000] = "PowerShot ELPH 520 HS / IXUS 500 HS / IXY 3"; - choices[0x3260000] = "PowerShot A3400 IS"; - choices[0x3270000] = "PowerShot A2400 IS"; - choices[0x3280000] = "PowerShot A2300"; - choices[0x3330000] = "PowerShot G15"; - choices[0x3340000] = "PowerShot SX50"; - choices[0x3350000] = "PowerShot SX160 IS"; - choices[0x3360000] = "PowerShot S110 (new)"; - choices[0x3370000] = "PowerShot SX500 IS"; - choices[0x3380000] = "PowerShot N"; - choices[0x3390000] = "IXUS 245 HS / IXY 430F"; - choices[0x3400000] = "PowerShot SX280 HS"; - choices[0x3410000] = "PowerShot SX270 HS"; - choices[0x3420000] = "PowerShot A3500 IS"; - choices[0x3430000] = "PowerShot A2600"; - choices[0x3450000] = "PowerShot A1400"; - choices[0x3460000] = "PowerShot ELPH 130 IS / IXUS 140 / IXY 110F"; - choices[0x3470000] = "PowerShot ELPH 115/120 IS / IXUS 132/135 / IXY 90F/100F"; - choices[0x3490000] = "PowerShot ELPH 330 HS / IXUS 255 HS / IXY 610F"; - choices[0x3510000] = "PowerShot A2500"; - choices[0x3540000] = "PowerShot G16"; - choices[0x3550000] = "PowerShot S120"; - choices[0x3560000] = "PowerShot SX170 IS"; - choices[0x3580000] = "PowerShot SX510 HS"; - choices[0x3590000] = "PowerShot S200 (new)"; - choices[0x3600000] = "IXY 620F"; - choices[0x3610000] = "PowerShot N100"; - choices[0x3640000] = "PowerShot G1 X Mark II"; - choices[0x3650000] = "PowerShot D30"; - choices[0x3660000] = "PowerShot SX700 HS"; - choices[0x3670000] = "PowerShot SX600 HS"; - choices[0x3680000] = "PowerShot ELPH 140 IS / IXUS 150 / IXY 130"; - choices[0x3690000] = "PowerShot ELPH 135 / IXUS 145 / IXY 120"; - choices[0x3700000] = "PowerShot ELPH 340 HS / IXUS 265 HS / IXY 630"; - choices[0x3710000] = "PowerShot ELPH 150 IS / IXUS 155 / IXY 140"; - choices[0x3740000] = "EOS M3"; - choices[0x3750000] = "PowerShot SX60 HS"; - choices[0x3760000] = "PowerShot SX520 HS"; - choices[0x3770000] = "PowerShot SX400 IS"; - choices[0x3780000] = "PowerShot G7 X"; - choices[0x3790000] = "PowerShot N2"; - choices[0x3800000] = "PowerShot SX530 HS"; - choices[0x3820000] = "PowerShot SX710 HS"; - choices[0x3830000] = "PowerShot SX610 HS"; - choices[0x3840000] = "EOS M10"; - choices[0x3850000] = "PowerShot G3 X"; - choices[0x3860000] = "PowerShot ELPH 165 HS / IXUS 165 / IXY 160"; - choices[0x3870000] = "PowerShot ELPH 160 / IXUS 160"; - choices[0x3880000] = "PowerShot ELPH 350 HS / IXUS 275 HS / IXY 640"; - choices[0x3890000] = "PowerShot ELPH 170 IS / IXUS 170"; - choices[0x3910000] = "PowerShot SX410 IS"; - choices[0x3930000] = "PowerShot G9 X"; - choices[0x3950000] = "PowerShot G5 X"; - choices[0x3970000] = "PowerShot G7 X Mark II"; - choices[0x3990000] = "PowerShot ELPH 360 HS / IXUS 285 HS / IXY 650"; - choices[0x4010000] = "PowerShot SX540 HS"; - choices[0x4020000] = "PowerShot SX420 IS"; - choices[0x4030000] = "PowerShot ELPH 190 IS / IXUS 180 / IXY 190"; - choices[0x4040000] = "PowerShot G1"; - choices[0x4040001] = "IXY 180"; - choices[0x4050000] = "PowerShot SX720 HS"; - choices[0x6040000] = "PowerShot S100 / Digital IXUS / IXY Digital"; - choices[0x4007d673] = "DC19/DC21/DC22"; - choices[0x4007d674] = "XH A1"; - choices[0x4007d675] = "HV10"; - choices[0x4007d676] = "MD130/MD140/MD150/MD160/ZR850"; - choices[0x4007d777] = "DC50"; - choices[0x4007d778] = "HV20"; - choices[0x4007d779] = "DC211"; - choices[0x4007d77a] = "HG10"; - choices[0x4007d77b] = "HR10"; - choices[0x4007d77d] = "MD255/ZR950"; - choices[0x4007d81c] = "HF11"; - choices[0x4007d878] = "HV30"; - choices[0x4007d87c] = "XH A1S"; - choices[0x4007d87e] = "DC301/DC310/DC311/DC320/DC330"; - choices[0x4007d87f] = "FS100"; - choices[0x4007d880] = "HF10"; - choices[0x4007d882] = "HG20/HG21"; - choices[0x4007d925] = "HF21"; - choices[0x4007d926] = "HF S11"; - choices[0x4007d978] = "HV40"; - choices[0x4007d987] = "DC410/DC411/DC420"; - choices[0x4007d988] = "FS19/FS20/FS21/FS22/FS200"; - choices[0x4007d989] = "HF20/HF200"; - choices[0x4007d98a] = "HF S10/S100"; - choices[0x4007da8e] = "HF R10/R16/R17/R18/R100/R106"; - choices[0x4007da8f] = "HF M30/M31/M36/M300/M306"; - choices[0x4007da90] = "HF S20/S21/S200"; - choices[0x4007da92] = "FS31/FS36/FS37/FS300/FS305/FS306/FS307"; - choices[0x4007dda9] = "HF G25"; - choices[0x4007dfb4] = "XC10"; - choices[0x80000001] = "EOS-1D"; - choices[0x80000167] = "EOS-1DS"; - choices[0x80000168] = "EOS 10D"; - choices[0x80000169] = "EOS-1D Mark III"; - choices[0x80000170] = "EOS Digital Rebel / 300D / Kiss Digital"; - choices[0x80000174] = "EOS-1D Mark II"; - choices[0x80000175] = "EOS 20D"; - choices[0x80000176] = "EOS Digital Rebel XSi / 450D / Kiss X2"; - choices[0x80000188] = "EOS-1Ds Mark II"; - choices[0x80000189] = "EOS Digital Rebel XT / 350D / Kiss Digital N"; - choices[0x80000190] = "EOS 40D"; - choices[0x80000213] = "EOS 5D"; - choices[0x80000215] = "EOS-1Ds Mark III"; - choices[0x80000218] = "EOS 5D Mark II"; - choices[0x80000219] = "WFT-E1"; - choices[0x80000232] = "EOS-1D Mark II N"; - choices[0x80000234] = "EOS 30D"; - choices[0x80000236] = "EOS Digital Rebel XTi / 400D / Kiss Digital X"; - choices[0x80000241] = "WFT-E2"; - choices[0x80000246] = "WFT-E3"; - choices[0x80000250] = "EOS 7D"; - choices[0x80000252] = "EOS Rebel T1i / 500D / Kiss X3"; - choices[0x80000254] = "EOS Rebel XS / 1000D / Kiss F"; - choices[0x80000261] = "EOS 50D"; - choices[0x80000269] = "EOS-1D X"; - choices[0x80000270] = "EOS Rebel T2i / 550D / Kiss X4"; - choices[0x80000271] = "WFT-E4"; - choices[0x80000273] = "WFT-E5"; - choices[0x80000281] = "EOS-1D Mark IV"; - choices[0x80000285] = "EOS 5D Mark III"; - choices[0x80000286] = "EOS Rebel T3i / 600D / Kiss X5"; - choices[0x80000287] = "EOS 60D"; - choices[0x80000288] = "EOS Rebel T3 / 1100D / Kiss X50"; - choices[0x80000289] = "EOS 7D Mark II"; - choices[0x80000297] = "WFT-E2 II"; - choices[0x80000298] = "WFT-E4 II"; - choices[0x80000301] = "EOS Rebel T4i / 650D / Kiss X6i"; - choices[0x80000302] = "EOS 6D"; - choices[0x80000324] = "EOS-1D C"; - choices[0x80000325] = "EOS 70D"; - choices[0x80000326] = "EOS Rebel T5i / 700D / Kiss X7i"; - choices[0x80000327] = "EOS Rebel T5 / 1200D / Kiss X70"; - choices[0x80000328] = "EOS-1D X MARK II"; - choices[0x80000331] = "EOS M"; - choices[0x80000346] = "EOS Rebel SL1 / 100D / Kiss X7"; - choices[0x80000347] = "EOS Rebel T6s / 760D / 8000D"; - choices[0x80000350] = "EOS 80D"; - choices[0x80000355] = "EOS M2"; - choices[0x80000382] = "EOS 5DS"; - choices[0x80000393] = "EOS Rebel T6i / 750D / Kiss X8i"; - choices[0x80000401] = "EOS 5DS R"; - choices[0x80000404] = "EOS Rebel T6 / 1300D / Kiss X80"; + choices[16842752] = "PowerShot A30"; + choices[17039360] = "PowerShot S300 / Digital IXUS 300 / IXY Digital 300"; + choices[17170432] = "PowerShot A20"; + choices[17301504] = "PowerShot A10"; + choices[17367040] = "PowerShot S110 / Digital IXUS v / IXY Digital 200"; + choices[17825792] = "PowerShot G2"; + choices[17891328] = "PowerShot S40"; + choices[17956864] = "PowerShot S30"; + choices[18022400] = "PowerShot A40"; + choices[18087936] = "EOS D30"; + choices[18153472] = "PowerShot A100"; + choices[18219008] = "PowerShot S200 / Digital IXUS v2 / IXY Digital 200a"; + choices[18284544] = "PowerShot A200"; + choices[18350080] = "PowerShot S330 / Digital IXUS 330 / IXY Digital 300a"; + choices[18415616] = "PowerShot G3"; + choices[18939904] = "PowerShot S45"; + choices[19070976] = "PowerShot SD100 / Digital IXUS II / IXY Digital 30"; + choices[19136512] = "PowerShot S230 / Digital IXUS v3 / IXY Digital 320"; + choices[19202048] = "PowerShot A70"; + choices[19267584] = "PowerShot A60"; + choices[19333120] = "PowerShot S400 / Digital IXUS 400 / IXY Digital 400"; + choices[19464192] = "PowerShot G5"; + choices[19922944] = "PowerShot A300"; + choices[19988480] = "PowerShot S50"; + choices[20185088] = "PowerShot A80"; + choices[20250624] = "PowerShot SD10 / Digital IXUS i / IXY Digital L"; + choices[20316160] = "PowerShot S1 IS"; + choices[20381696] = "PowerShot Pro1"; + choices[20447232] = "PowerShot S70"; + choices[20512768] = "PowerShot S60"; + choices[20971520] = "PowerShot G6"; + choices[21037056] = "PowerShot S500 / Digital IXUS 500 / IXY Digital 500"; + choices[21102592] = "PowerShot A75"; + choices[21233664] = "PowerShot SD110 / Digital IXUS IIs / IXY Digital 30a"; + choices[21299200] = "PowerShot A400"; + choices[21430272] = "PowerShot A310"; + choices[21561344] = "PowerShot A85"; + choices[22151168] = "PowerShot S410 / Digital IXUS 430 / IXY Digital 450"; + choices[22216704] = "PowerShot A95"; + choices[22282240] = "PowerShot SD300 / Digital IXUS 40 / IXY Digital 50"; + choices[22347776] = "PowerShot SD200 / Digital IXUS 30 / IXY Digital 40"; + choices[22413312] = "PowerShot A520"; + choices[22478848] = "PowerShot A510"; + choices[22609920] = "PowerShot SD20 / Digital IXUS i5 / IXY Digital L2"; + choices[23330816] = "PowerShot S2 IS"; + choices[23396352] = "PowerShot SD430 / Digital IXUS Wireless / IXY Digital Wireless"; + choices[23461888] = "PowerShot SD500 / Digital IXUS 700 / IXY Digital 600"; + choices[23494656] = "EOS D60"; + choices[24117248] = "PowerShot SD30 / Digital IXUS i Zoom / IXY Digital L3"; + choices[24379392] = "PowerShot A430"; + choices[24444928] = "PowerShot A410"; + choices[24510464] = "PowerShot S80"; + choices[24641536] = "PowerShot A620"; + choices[24707072] = "PowerShot A610"; + choices[25165824] = "PowerShot SD630 / Digital IXUS 65 / IXY Digital 80"; + choices[25231360] = "PowerShot SD450 / Digital IXUS 55 / IXY Digital 60"; + choices[25296896] = "PowerShot TX1"; + choices[25624576] = "PowerShot SD400 / Digital IXUS 50 / IXY Digital 55"; + choices[25690112] = "PowerShot A420"; + choices[25755648] = "PowerShot SD900 / Digital IXUS 900 Ti / IXY Digital 1000"; + choices[26214400] = "PowerShot SD550 / Digital IXUS 750 / IXY Digital 700"; + choices[26345472] = "PowerShot A700"; + choices[26476544] = "PowerShot SD700 IS / Digital IXUS 800 IS / IXY Digital 800 IS"; + choices[26542080] = "PowerShot S3 IS"; + choices[26607616] = "PowerShot A540"; + choices[26673152] = "PowerShot SD600 / Digital IXUS 60 / IXY Digital 70"; + choices[26738688] = "PowerShot G7"; + choices[26804224] = "PowerShot A530"; + choices[33554432] = "PowerShot SD800 IS / Digital IXUS 850 IS / IXY Digital 900 IS"; + choices[33619968] = "PowerShot SD40 / Digital IXUS i7 / IXY Digital L4"; + choices[33685504] = "PowerShot A710 IS"; + choices[33751040] = "PowerShot A640"; + choices[33816576] = "PowerShot A630"; + choices[34144256] = "PowerShot S5 IS"; + choices[34603008] = "PowerShot A460"; + choices[34734080] = "PowerShot SD850 IS / Digital IXUS 950 IS / IXY Digital 810 IS"; + choices[34799616] = "PowerShot A570 IS"; + choices[34865152] = "PowerShot A560"; + choices[34930688] = "PowerShot SD750 / Digital IXUS 75 / IXY Digital 90"; + choices[34996224] = "PowerShot SD1000 / Digital IXUS 70 / IXY Digital 10"; + choices[35127296] = "PowerShot A550"; + choices[35192832] = "PowerShot A450"; + choices[35848192] = "PowerShot G9"; + choices[35913728] = "PowerShot A650 IS"; + choices[36044800] = "PowerShot A720 IS"; + choices[36241408] = "PowerShot SX100 IS"; + choices[36700160] = "PowerShot SD950 IS / Digital IXUS 960 IS / IXY Digital 2000 IS"; + choices[36765696] = "PowerShot SD870 IS / Digital IXUS 860 IS / IXY Digital 910 IS"; + choices[36831232] = "PowerShot SD890 IS / Digital IXUS 970 IS / IXY Digital 820 IS"; + choices[37093376] = "PowerShot SD790 IS / Digital IXUS 90 IS / IXY Digital 95 IS"; + choices[37158912] = "PowerShot SD770 IS / Digital IXUS 85 IS / IXY Digital 25 IS"; + choices[37224448] = "PowerShot A590 IS"; + choices[37289984] = "PowerShot A580"; + choices[37879808] = "PowerShot A470"; + choices[37945344] = "PowerShot SD1100 IS / Digital IXUS 80 IS / IXY Digital 20 IS"; + choices[38141952] = "PowerShot SX1 IS"; + choices[38207488] = "PowerShot SX10 IS"; + choices[38273024] = "PowerShot A1000 IS"; + choices[38338560] = "PowerShot G10"; + choices[38862848] = "PowerShot A2000 IS"; + choices[38928384] = "PowerShot SX110 IS"; + choices[38993920] = "PowerShot SD990 IS / Digital IXUS 980 IS / IXY Digital 3000 IS"; + choices[39059456] = "PowerShot SD880 IS / Digital IXUS 870 IS / IXY Digital 920 IS"; + choices[39124992] = "PowerShot E1"; + choices[39190528] = "PowerShot D10"; + choices[39256064] = "PowerShot SD960 IS / Digital IXUS 110 IS / IXY Digital 510 IS"; + choices[39321600] = "PowerShot A2100 IS"; + choices[39387136] = "PowerShot A480"; + choices[39845888] = "PowerShot SX200 IS"; + choices[39911424] = "PowerShot SD970 IS / Digital IXUS 990 IS / IXY Digital 830 IS"; + choices[39976960] = "PowerShot SD780 IS / Digital IXUS 100 IS / IXY Digital 210 IS"; + choices[40042496] = "PowerShot A1100 IS"; + choices[40108032] = "PowerShot SD1200 IS / Digital IXUS 95 IS / IXY Digital 110 IS"; + choices[40894464] = "PowerShot G11"; + choices[40960000] = "PowerShot SX120 IS"; + choices[41025536] = "PowerShot S90"; + choices[41222144] = "PowerShot SX20 IS"; + choices[41287680] = "PowerShot SD980 IS / Digital IXUS 200 IS / IXY Digital 930 IS"; + choices[41353216] = "PowerShot SD940 IS / Digital IXUS 120 IS / IXY Digital 220 IS"; + choices[41943040] = "PowerShot A495"; + choices[42008576] = "PowerShot A490"; + choices[42074112] = "PowerShot A3100 IS / A3150 IS"; + choices[42139648] = "PowerShot A3000 IS"; + choices[42205184] = "PowerShot SD1400 IS / IXUS 130 / IXY 400F"; + choices[42270720] = "PowerShot SD1300 IS / IXUS 105 / IXY 200F"; + choices[42336256] = "PowerShot SD3500 IS / IXUS 210 / IXY 10S"; + choices[42401792] = "PowerShot SX210 IS"; + choices[42467328] = "PowerShot SD4000 IS / IXUS 300 HS / IXY 30S"; + choices[42532864] = "PowerShot SD4500 IS / IXUS 1000 HS / IXY 50S"; + choices[43122688] = "PowerShot G12"; + choices[43188224] = "PowerShot SX30 IS"; + choices[43253760] = "PowerShot SX130 IS"; + choices[43319296] = "PowerShot S95"; + choices[43515904] = "PowerShot A3300 IS"; + choices[43581440] = "PowerShot A3200 IS"; + choices[50331648] = "PowerShot ELPH 500 HS / IXUS 310 HS / IXY 31S"; + choices[50397184] = "PowerShot Pro90 IS"; + choices[50397185] = "PowerShot A800"; + choices[50462720] = "PowerShot ELPH 100 HS / IXUS 115 HS / IXY 210F"; + choices[50528256] = "PowerShot SX230 HS"; + choices[50593792] = "PowerShot ELPH 300 HS / IXUS 220 HS / IXY 410F"; + choices[50659328] = "PowerShot A2200"; + choices[50724864] = "PowerShot A1200"; + choices[50790400] = "PowerShot SX220 HS"; + choices[50855936] = "PowerShot G1 X"; + choices[50921472] = "PowerShot SX150 IS"; + choices[51380224] = "PowerShot ELPH 510 HS / IXUS 1100 HS / IXY 51S"; + choices[51445760] = "PowerShot S100 (new)"; + choices[51511296] = "PowerShot ELPH 310 HS / IXUS 230 HS / IXY 600F"; + choices[51576832] = "PowerShot SX40 HS"; + choices[51642368] = "IXY 32S"; + choices[51773440] = "PowerShot A1300"; + choices[51838976] = "PowerShot A810"; + choices[51904512] = "PowerShot ELPH 320 HS / IXUS 240 HS / IXY 420F"; + choices[51970048] = "PowerShot ELPH 110 HS / IXUS 125 HS / IXY 220F"; + choices[52428800] = "PowerShot D20"; + choices[52494336] = "PowerShot A4000 IS"; + choices[52559872] = "PowerShot SX260 HS"; + choices[52625408] = "PowerShot SX240 HS"; + choices[52690944] = "PowerShot ELPH 530 HS / IXUS 510 HS / IXY 1"; + choices[52756480] = "PowerShot ELPH 520 HS / IXUS 500 HS / IXY 3"; + choices[52822016] = "PowerShot A3400 IS"; + choices[52887552] = "PowerShot A2400 IS"; + choices[52953088] = "PowerShot A2300"; + choices[53673984] = "PowerShot G15"; + choices[53739520] = "PowerShot SX50"; + choices[53805056] = "PowerShot SX160 IS"; + choices[53870592] = "PowerShot S110 (new)"; + choices[53936128] = "PowerShot SX500 IS"; + choices[54001664] = "PowerShot N"; + choices[54067200] = "IXUS 245 HS / IXY 430F"; + choices[54525952] = "PowerShot SX280 HS"; + choices[54591488] = "PowerShot SX270 HS"; + choices[54657024] = "PowerShot A3500 IS"; + choices[54722560] = "PowerShot A2600"; + choices[54853632] = "PowerShot A1400"; + choices[54919168] = "PowerShot ELPH 130 IS / IXUS 140 / IXY 110F"; + choices[54984704] = "PowerShot ELPH 115/120 IS / IXUS 132/135 / IXY 90F/100F"; + choices[55115776] = "PowerShot ELPH 330 HS / IXUS 255 HS / IXY 610F"; + choices[55640064] = "PowerShot A2500"; + choices[55836672] = "PowerShot G16"; + choices[55902208] = "PowerShot S120"; + choices[55967744] = "PowerShot SX170 IS"; + choices[56098816] = "PowerShot SX510 HS"; + choices[56164352] = "PowerShot S200 (new)"; + choices[56623104] = "IXY 620F"; + choices[56688640] = "PowerShot N100"; + choices[56885248] = "PowerShot G1 X Mark II"; + choices[56950784] = "PowerShot D30"; + choices[57016320] = "PowerShot SX700 HS"; + choices[57081856] = "PowerShot SX600 HS"; + choices[57147392] = "PowerShot ELPH 140 IS / IXUS 150 / IXY 130"; + choices[57212928] = "PowerShot ELPH 135 / IXUS 145 / IXY 120"; + choices[57671680] = "PowerShot ELPH 340 HS / IXUS 265 HS / IXY 630"; + choices[57737216] = "PowerShot ELPH 150 IS / IXUS 155 / IXY 140"; + choices[57933824] = "EOS M3"; + choices[57999360] = "PowerShot SX60 HS"; + choices[58064896] = "PowerShot SX520 HS"; + choices[58130432] = "PowerShot SX400 IS"; + choices[58195968] = "PowerShot G7 X"; + choices[58261504] = "PowerShot N2"; + choices[58720256] = "PowerShot SX530 HS"; + choices[58851328] = "PowerShot SX710 HS"; + choices[58916864] = "PowerShot SX610 HS"; + choices[58982400] = "EOS M10"; + choices[59047936] = "PowerShot G3 X"; + choices[59113472] = "PowerShot ELPH 165 HS / IXUS 165 / IXY 160"; + choices[59179008] = "PowerShot ELPH 160 / IXUS 160"; + choices[59244544] = "PowerShot ELPH 350 HS / IXUS 275 HS / IXY 640"; + choices[59310080] = "PowerShot ELPH 170 IS / IXUS 170"; + choices[59834368] = "PowerShot SX410 IS"; + choices[59965440] = "PowerShot G9 X"; + choices[60030976] = "EOS M5"; + choices[60096512] = "PowerShot G5 X"; + choices[60227584] = "PowerShot G7 X Mark II"; + choices[60358656] = "PowerShot ELPH 360 HS / IXUS 285 HS / IXY 650"; + choices[67174400] = "PowerShot SX540 HS"; + choices[67239936] = "PowerShot SX420 IS"; + choices[67305472] = "PowerShot ELPH 190 IS / IXUS 180 / IXY 190"; + choices[67371008] = "PowerShot G1"; + choices[67371009] = "IXY 180"; + choices[67436544] = "PowerShot SX720 HS"; + choices[67502080] = "PowerShot SX620 HS"; + choices[100925440] = "PowerShot S100 / Digital IXUS / IXY Digital"; + choices[1074255475] = "DC19/DC21/DC22"; + choices[1074255476] = "XH A1"; + choices[1074255477] = "HV10"; + choices[1074255478] = "MD130/MD140/MD150/MD160/ZR850"; + choices[1074255735] = "DC50"; + choices[1074255736] = "HV20"; + choices[1074255737] = "DC211"; + choices[1074255738] = "HG10"; + choices[1074255739] = "HR10"; + choices[1074255741] = "MD255/ZR950"; + choices[1074255900] = "HF11"; + choices[1074255992] = "HV30"; + choices[1074255996] = "XH A1S"; + choices[1074255998] = "DC301/DC310/DC311/DC320/DC330"; + choices[1074255999] = "FS100"; + choices[1074256000] = "HF10"; + choices[1074256002] = "HG20/HG21"; + choices[1074256165] = "HF21"; + choices[1074256166] = "HF S11"; + choices[1074256248] = "HV40"; + choices[1074256263] = "DC410/DC411/DC420"; + choices[1074256264] = "FS19/FS20/FS21/FS22/FS200"; + choices[1074256265] = "HF20/HF200"; + choices[1074256266] = "HF S10/S100"; + choices[1074256526] = "HF R10/R16/R17/R18/R100/R106"; + choices[1074256527] = "HF M30/M31/M36/M300/M306"; + choices[1074256528] = "HF S20/S21/S200"; + choices[1074256530] = "FS31/FS36/FS37/FS300/FS305/FS306/FS307"; + choices[1074257321] = "HF G25"; + choices[1074257844] = "XC10"; + choices[2147483649] = "EOS-1D"; + choices[2147484007] = "EOS-1DS"; + choices[2147484008] = "EOS 10D"; + choices[2147484009] = "EOS-1D Mark III"; + choices[2147484016] = "EOS Digital Rebel / 300D / Kiss Digital"; + choices[2147484020] = "EOS-1D Mark II"; + choices[2147484021] = "EOS 20D"; + choices[2147484022] = "EOS Digital Rebel XSi / 450D / Kiss X2"; + choices[2147484040] = "EOS-1Ds Mark II"; + choices[2147484041] = "EOS Digital Rebel XT / 350D / Kiss Digital N"; + choices[2147484048] = "EOS 40D"; + choices[2147484179] = "EOS 5D"; + choices[2147484181] = "EOS-1Ds Mark III"; + choices[2147484184] = "EOS 5D Mark II"; + choices[2147484185] = "WFT-E1"; + choices[2147484210] = "EOS-1D Mark II N"; + choices[2147484212] = "EOS 30D"; + choices[2147484214] = "EOS Digital Rebel XTi / 400D / Kiss Digital X"; + choices[2147484225] = "WFT-E2"; + choices[2147484230] = "WFT-E3"; + choices[2147484240] = "EOS 7D"; + choices[2147484242] = "EOS Rebel T1i / 500D / Kiss X3"; + choices[2147484244] = "EOS Rebel XS / 1000D / Kiss F"; + choices[2147484257] = "EOS 50D"; + choices[2147484265] = "EOS-1D X"; + choices[2147484272] = "EOS Rebel T2i / 550D / Kiss X4"; + choices[2147484273] = "WFT-E4"; + choices[2147484275] = "WFT-E5"; + choices[2147484289] = "EOS-1D Mark IV"; + choices[2147484293] = "EOS 5D Mark III"; + choices[2147484294] = "EOS Rebel T3i / 600D / Kiss X5"; + choices[2147484295] = "EOS 60D"; + choices[2147484296] = "EOS Rebel T3 / 1100D / Kiss X50"; + choices[2147484297] = "EOS 7D Mark II"; + choices[2147484311] = "WFT-E2 II"; + choices[2147484312] = "WFT-E4 II"; + choices[2147484417] = "EOS Rebel T4i / 650D / Kiss X6i"; + choices[2147484418] = "EOS 6D"; + choices[2147484452] = "EOS-1D C"; + choices[2147484453] = "EOS 70D"; + choices[2147484454] = "EOS Rebel T5i / 700D / Kiss X7i"; + choices[2147484455] = "EOS Rebel T5 / 1200D / Kiss X70"; + choices[2147484456] = "EOS-1D X MARK II"; + choices[2147484465] = "EOS M"; + choices[2147484486] = "EOS Rebel SL1 / 100D / Kiss X7"; + choices[2147484487] = "EOS Rebel T6s / 760D / 8000D"; + choices[2147484489] = "EOS 5D Mark IV"; + choices[2147484496] = "EOS 80D"; + choices[2147484501] = "EOS M2"; + choices[2147484546] = "EOS 5DS"; + choices[2147484563] = "EOS Rebel T6i / 750D / Kiss X8i"; + choices[2147484673] = "EOS 5DS R"; + choices[2147484676] = "EOS Rebel T6 / 1300D / Kiss X80"; } }; CAModelIDInterpreter caModelIDInterpreter; diff --git a/rtexif/fujiattribs.cc b/rtexif/fujiattribs.cc index aabd88859..6f76a64b5 100644 --- a/rtexif/fujiattribs.cc +++ b/rtexif/fujiattribs.cc @@ -84,18 +84,22 @@ class FASaturationInterpreter : public ChoiceInterpreter public: FASaturationInterpreter () { - choices[0] = "Normal"; - choices[0x80] = "Medium High"; - choices[0x100] = "High"; - choices[0x180] = "Medium Low"; - choices[0x200] = "Low"; - choices[0x300] = "None (B&W)"; - choices[0x301] = "B&W Red Filter"; - choices[0x302] = "B&W Yellow Filter"; - choices[0x303] = "B&W Green Filter"; - choices[0x310] = "B&W Sepia"; - choices[0x400] = "Low 2"; - choices[0x8000] = "Film Simulation"; + choices[0] = "Normal"; + choices[128] = "Medium High"; + choices[256] = "High"; + choices[384] = "Medium Low"; + choices[512] = "Low"; + choices[768] = "None (B&W)"; + choices[769] = "B&W Red Filter"; + choices[770] = "B&W Yellow Filter"; + choices[771] = "B&W Green Filter"; + choices[784] = "B&W Sepia"; + choices[1024] = "Low 2"; + choices[1280] = "Acros"; + choices[1281] = "Acros Red Filter"; + choices[1282] = "Acros Yellow Filter"; + choices[1283] = "Acros Green Filter"; + choices[32768] = "Film Simulation"; } }; FASaturationInterpreter faSaturationInterpreter; diff --git a/rtexif/nikonattribs.cc b/rtexif/nikonattribs.cc index 9bbeee8ce..4a2b4a63a 100644 --- a/rtexif/nikonattribs.cc +++ b/rtexif/nikonattribs.cc @@ -618,6 +618,7 @@ const std::map NALensDataInterpreter::lenses = { {"00 4C 7C 7C 2C 2C 00 02", "Tamron SP AF 180mm f/3.5 Di Model (B01)"}, {"00 53 2B 50 24 24 00 06", "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16)"}, {"00 54 2B 50 24 24 00 06", "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16NII)"}, + {"00 54 38 38 18 18 00 00", "Carl Zeiss Distagon T* 2/25 ZF.2"}, {"00 54 3C 3C 18 18 00 00", "Carl Zeiss Distagon T* 2/28 ZF.2"}, {"00 54 44 44 0C 0C 00 00", "Carl Zeiss Distagon T* 1.4/35 ZF.2"}, {"00 54 44 44 18 18 00 00", "Carl Zeiss Distagon T* 2/35 ZF.2"}, @@ -851,6 +852,7 @@ const std::map NALensDataInterpreter::lenses = { {"4A 48 24 24 24 0C 4D 02", "Samyang AE 14mm f/2.8 ED AS IF UMC"}, {"4A 54 29 29 18 0C 4D 02", "Samyang 16mm f/2.0 ED AS UMC CS"}, {"4A 54 62 62 0C 0C 4D 02", "AF Nikkor 85mm f/1.4D IF"}, + {"4A 60 36 36 0C 0C 4D 02", "Samyang 24mm f/1.4 ED AS UMC"}, {"4A 60 44 44 0C 0C 4D 02", "Samyang 35mm f/1.4 AS UMC"}, {"4A 60 62 62 0C 0C 4D 02", "Samyang AE 85mm f/1.4 AS IF UMC"}, {"4B 3C A0 A0 30 30 4E 02", "AF-S Nikkor 500mm f/4D IF-ED"}, @@ -907,6 +909,7 @@ const std::map NALensDataInterpreter::lenses = { {"74 40 37 62 2C 34 78 06", "AF-S Zoom-Nikkor 24-85mm f/3.5-4.5G IF-ED"}, {"75 40 3C 68 2C 3C 79 06", "AF Zoom-Nikkor 28-100mm f/3.5-5.6G"}, {"76 58 50 50 14 14 7A 02", "AF Nikkor 50mm f/1.8D"}, + {"77 44 60 98 34 3C 7B 0E", "Sigma 80-400mm f4.5-5.6 APO DG D OS"}, {"77 44 61 98 34 3C 7B 0E", "Sigma 80-400mm f/4.5-5.6 EX OS"}, {"77 48 5C 80 24 24 7B 0E", "AF-S VR Zoom-Nikkor 70-200mm f/2.8G IF-ED"}, {"78 40 37 6E 2C 3C 7C 0E", "AF-S VR Zoom-Nikkor 24-120mm f/3.5-5.6G IF-ED"}, @@ -914,6 +917,7 @@ const std::map NALensDataInterpreter::lenses = { {"79 40 3C 80 2C 3C 7F 06", "AF Zoom-Nikkor 28-200mm f/3.5-5.6G IF-ED"}, {"79 48 3C 5C 24 24 1C 06", "Sigma 28-70mm f/2.8 EX DG"}, {"79 48 5C 5C 24 24 1C 06", "Sigma Macro 70mm f/2.8 EX DG"}, + {"79 54 31 31 0C 0C 4B 06", "Sigma 20mm f/1.4 DG HSM | A"}, {"7A 3B 53 80 30 3C 4B 06", "Sigma 55-200mm f/4-5.6 DC HSM"}, {"7A 3C 1F 37 30 30 7E 06", "AF-S DX Zoom-Nikkor 12-24mm f/4G IF-ED"}, {"7A 3C 1F 37 30 30 7E 06", "Tokina AT-X 124 AF PRO DX II (AF 12-24mm f/4)"}, @@ -981,6 +985,8 @@ const std::map NALensDataInterpreter::lenses = { {"9E 40 2D 6A 2C 3C A0 0E", "AF-S DX VR Zoom-Nikkor 18-105mm f/3.5-5.6G ED"}, {"9F 37 50 A0 34 40 4B 0E", "Sigma 50-500mm f/4.5-6.3 DG OS HSM"}, {"9F 58 44 44 14 14 A1 06", "AF-S DX Nikkor 35mm f/1.8G"}, + {"A0 40 2D 53 2C 3C CA 0E", "AF-P DX Nikkor 18-55mm f/3.5-5.6G VR"}, + {"A0 40 2D 53 2C 3C CA 8E", "AF-P DX Nikkor 18-55mm f/3.5-5.6G"}, {"A0 40 2D 74 2C 3C BB 0E", "AF-S DX Nikkor 18-140mm f/3.5-5.6G ED VR"}, {"A0 48 2A 5C 24 30 4B 0E", "Sigma 17-70mm f/2.8-4 DC Macro OS HSM"}, {"A0 54 50 50 0C 0C A2 06", "AF-S Nikkor 50mm f/1.4G"}, @@ -993,10 +999,13 @@ const std::map NALensDataInterpreter::lenses = { {"A3 3C 5C 8E 30 3C 4B 0E", "Sigma 70-300mm f/4-5.6 DG OS"}, {"A4 40 2D 8E 2C 40 BF 0E", "AF-S DX Nikkor 18-300mm f/3.5-6.3G ED VR"}, {"A4 47 2D 50 24 34 4B 0E", "Sigma 18-50mm f/2.8-4.5 DC OS HSM"}, + {"A4 48 5C 80 24 24 CF 0E", "AF-S Nikkor 70-200mm f/2.8E FL ED VR"}, {"A4 54 37 37 0C 0C A6 06", "AF-S Nikkor 24mm f/1.4G ED"}, {"A5 40 2D 88 2C 40 4B 0E", "Sigma 18-250mm f/3.5-6.3 DC OS HSM"}, {"A5 40 3C 8E 2C 3C A7 0E", "AF-S Nikkor 28-300mm f/3.5-5.6G ED VR"}, {"A5 4C 44 44 14 14 C0 06", "AF-S Nikkor 35mm f/1.8G ED"}, + {"A5 54 6A 6A 0C 0C D0 06", "AF-S Nikkor 105mm f/1.4E ED"}, + {"A5 54 6A 6A 0C 0C D0 46", "AF-S Nikkor 105mm f/1.4E ED"}, {"A6 48 37 5C 24 24 4B 06", "Sigma 24-70mm f/2.8 IF EX DG HSM"}, {"A6 48 8E 8E 24 24 A8 0E", "AF-S VR Nikkor 300mm f/2.8G IF-ED II"}, {"A6 48 98 98 24 24 C1 0E", "AF-S Nikkor 400mm f/2.8E FL ED VR"}, @@ -1040,9 +1049,12 @@ const std::map NALensDataInterpreter::lenses = { {"E0 3C 5C 8E 30 3C 4B 06", "Sigma 70-300mm f/4-5.6 APO DG Macro HSM"}, {"E1 58 37 37 14 14 1C 02", "Sigma 24mm f/1.8 EX DG Aspherical Macro"}, {"E3 54 50 50 24 24 35 02", "Sigma Macro 50mm f/2.8 EX DG"}, + {"E4 54 64 64 24 24 DF 0E", "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 (F017)"}, {"E5 54 6A 6A 24 24 35 02", "Sigma Macro 105mm f/2.8 EX DG"}, + {"E6 40 2D 80 2C 40 DF 0E", "Tamron AF 18-200mm f/3.5-6.3 Di II VC (B018)"}, {"E6 41 3C 8E 2C 40 1C 02", "Sigma 28-300mm f/3.5-6.3 DG Macro"}, - {"E8 4C 44 44 14 14 DF 0E", "Tamron SP 35mm f/1.8 VC"}, + {"E7 4C 4C 4C 14 14 DF 0E", "Tamron SP 45mm f/1.8 Di VC USD (F013)"}, + {"E8 4C 44 44 14 14 DF 0E", "Tamron SP 35mm f/1.8 Di VC USD (F012)"}, {"E9 48 27 3E 24 24 DF 0E", "Tamron SP 15-30mm f/2.8 Di VC USD (A012)"}, {"E9 54 37 5C 24 24 1C 02", "Sigma 24-70mm f/2.8 EX DG Macro"}, {"EA 40 29 8E 2C 40 DF 0E", "Tamron AF 16-300mm f/3.5-6.3 Di II VC PZD (B016)"}, diff --git a/rtexif/olympusattribs.cc b/rtexif/olympusattribs.cc index 4b61225a0..6e9b2a2e9 100644 --- a/rtexif/olympusattribs.cc +++ b/rtexif/olympusattribs.cc @@ -122,6 +122,9 @@ public: lenses["00 24 00"] = "Olympus Zuiko Digital ED 40-150mm f/4.0-5.6"; lenses["00 24 10"] = "Olympus M.Zuiko Digital ED 300mm f/4.0 IS Pro"; lenses["00 25 10"] = "Olympus M.Zuiko Digital ED 8mm f/1.8 Fisheye Pro"; + lenses["00 26 10"] = "Olympus M.Zuiko Digital ED 12-100mm f/4.0 IS Pro"; + lenses["00 27 10"] = "Olympus M.Zuiko Digital ED 30mm f/3.5 Macro"; + lenses["00 28 10"] = "Olympus M.Zuiko Digital ED 25mm f/1.2 Pro"; lenses["00 30 00"] = "Olympus Zuiko Digital ED 50-200mm f/2.8-3.5 SWD"; lenses["00 31 00"] = "Olympus Zuiko Digital ED 12-60mm f/2.8-4.0 SWD"; lenses["00 32 00"] = "Olympus Zuiko Digital ED 14-35mm f/2.0 SWD"; @@ -258,6 +261,7 @@ public: choices[1] = "Sequential shooting AF"; choices[2] = "Continuous AF"; choices[3] = "Multi AF"; + choices[4] = "Face detect"; choices[10] = "MF"; } }; diff --git a/rtexif/pentaxattribs.cc b/rtexif/pentaxattribs.cc index e18be36cd..451756f6a 100644 --- a/rtexif/pentaxattribs.cc +++ b/rtexif/pentaxattribs.cc @@ -716,8 +716,8 @@ public: choices.insert(p_t(256 * 3 + 23, "Tokina 80-200mm f/2.8 ATX-Pro")); choices.insert(p_t(256 * 3 + 24, "smc PENTAX-F 35-135mm f/3.5-4.5")); choices.insert(p_t(256 * 3 + 25, "smc PENTAX-F 35-105mm f/4-5.6 or Sigma or Tokina Lens")); - choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-5.6 DL IF")); choices.insert(p_t(256 * 3 + 25, "Sigma 55-200mm f/4-5.6 DC")); + choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-5.6 DL IF")); choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-6.3 DL IF")); choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-6.3 DG IF Macro")); choices.insert(p_t(256 * 3 + 25, "Tokina 80-200mm f/2.8 ATX-Pro")); @@ -752,6 +752,7 @@ public: choices.insert(p_t(256 * 3 + 44, "Sigma 18-50mm f/3.5-5.6 DC")); choices.insert(p_t(256 * 3 + 44, "Sigma 17-35mm f/2.8-4 EX DG")); choices.insert(p_t(256 * 3 + 44, "Tamron 35-90mm f/4 AF")); + choices.insert(p_t(256 * 3 + 44, "Sigma AF 18-35mm f/3.5-4.5 Aspherical")); choices.insert(p_t(256 * 3 + 46, "Sigma or Samsung Lens (3 46)")); choices.insert(p_t(256 * 3 + 46, "Sigma APO 70-200mm f/2.8 EX")); choices.insert(p_t(256 * 3 + 46, "Sigma EX APO 100-300mm f/4 IF")); @@ -782,6 +783,7 @@ public: choices.insert(p_t(256 * 4 + 2, "smc PENTAX-FA 80-320mm f/4.5-5.6")); choices.insert(p_t(256 * 4 + 3, "smc PENTAX-FA 43mm f/1.9 Limited")); choices.insert(p_t(256 * 4 + 6, "smc PENTAX-FA 35-80mm f/4-5.6")); + choices.insert(p_t(256 * 4 + 10, "Irix 15mm f/2.4")); choices.insert(p_t(256 * 4 + 12, "smc PENTAX-FA 50mm f/1.4")); choices.insert(p_t(256 * 4 + 15, "smc PENTAX-FA 28-105mm f/4-5.6 [IF]")); choices.insert(p_t(256 * 4 + 16, "Tamron AF 80-210mm f/4-5.6 (178D)")); @@ -981,6 +983,7 @@ public: choices.insert(p_t(256 * 21 + 6, "06 Telephoto Zoom 15-45mm f/2.8")); choices.insert(p_t(256 * 21 + 7, "07 Mount Shield 11.5mm f/9")); choices.insert(p_t(256 * 21 + 8, "08 Wide Zoom 3.8-5.9mm f/3.7-4")); + choices.insert(p_t(256 * 21 + 233, "Adapter Q for K-mount Lens")); choices.insert(p_t(256 * 22 + 3, "03 Fish-eye 3.2mm f/5.6")); choices.insert(p_t(256 * 22 + 4, "04 Toy Lens Wide 6.3mm f/7.1")); choices.insert(p_t(256 * 22 + 5, "05 Toy Lens Telephoto 18mm f/8")); diff --git a/rtexif/sonyminoltaattribs.cc b/rtexif/sonyminoltaattribs.cc index d838934fc..b3b68df74 100644 --- a/rtexif/sonyminoltaattribs.cc +++ b/rtexif/sonyminoltaattribs.cc @@ -664,6 +664,7 @@ public: {128, "Sigma 35mm f/1.4 DG HSM"}, {128, "Sigma 18-35mm f/1.8 DC HSM"}, {128, "Sigma 50-500mm f/4.5-6.3 APO DG OS HSM"}, + {128, "Sigma 24-105mm f/4 DG HSM | Art 013"}, {129, "Tamron Lens (129)"}, {129, "Tamron 200-400mm f/5.6 LD"}, {129, "Tamron 70-300mm f/4-5.6 LD"}, @@ -676,11 +677,15 @@ public: {142, "Voigtlander 70-300mm f/4.5-5.6"}, {146, "Voigtlander Macro APO-Lanthar 125mm f/2.5 SL"}, {194, "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical [IF]"}, + {202, "Tamron SP AF 70-200mm f/2.8 Di LD [IF] Macro"}, {203, "Tamron SP 70-200mm f/2.8 Di USD"}, {204, "Tamron SP 24-70mm f/2.8 Di USD"}, - {213, "Tamron 16-300mm f/3.5-6.3 Di II PZD"}, + {212, "Tamron 28-300mm f/3.5-6.3 Di PZD"}, + {213, "Tamron 16-300mm f/3.5-6.3 Di II PZD Macro"}, {214, "Tamron SP 150-600mm f/5-6.3 Di USD"}, - {224, "Tamron SP 90mm f/2.8 Di Macro 1:1 USD"}, + {215, "Tamron SP 15-30mm f/2.8 Di USD"}, + {218, "Tamron SP 90mm f/2.8 Di Macro 1:1 USD (F017)"}, + {224, "Tamron SP 90mm f/2.8 Di Macro 1:1 USD (F004)"}, {255, "Tamron Lens (255)"}, {255, "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical"}, {255, "Tamron AF 18-250mm f/3.5-6.3 XR Di II LD"}, @@ -691,7 +696,7 @@ public: {255, "Tamron SP AF 70-200mm f/2.8 Di LD IF Macro"}, {255, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical IF"}, {255, "Tamron AF 90-300mm f/4.5-5.6 Telemacro"}, - {1868, "Sigma MC-11 Adapter"}, + {1868, "Sigma MC-11 SA-E Mount Converter with not-supported Sigma lens"}, {2550, "Minolta AF 50mm f/1.7"}, {2551, "Minolta AF 35-70mm f/4 or Other Lens"}, {2551, "Sigma UC AF 28-70mm f/3.5-4.5"}, @@ -814,6 +819,7 @@ public: {4587, "Tamron AF 70-210mm f/2.8 SP LD"}, {4812, "Metabones Canon EF Speed Booster Ultra"}, {6118, "Canon EF Adapter"}, + {6528, "Sigma 16mm f/2.8 Filtermatic Fisheye"}, {6553, "E-Mount, T-Mount, Other Lens or no lens"}, {6553, "Sony E 16mm f/2.8"}, {6553, "Sony E 18-55mm f/3.5-5.6 OSS"}, @@ -827,6 +833,7 @@ public: {6553, "Sony E PZ 16-50mm f/3.5-5.6 OSS"}, {6553, "Sony FE 35mm f/2.8 ZA"}, {6553, "Sony FE 24-70mm f/4 ZA OSS"}, + {6553, "Sony FE 85mm f/1.8"}, {6553, "Sony E 18-200mm f/3.5-6.3 OSS LE"}, {6553, "Sony E 20mm f/2.8"}, {6553, "Sony E 35mm f/1.8 OSS"}, @@ -837,32 +844,42 @@ public: {6553, "Sony FE 55mm f/1.8 ZA"}, {6553, "Sony FE 70-200mm f/4 G OSS"}, {6553, "Sony FE 16-35mm f/4 ZA OSS"}, + {6553, "Sony FE 50mm f/2.8 Macro"}, {6553, "Sony FE 28-70mm f/3.5-5.6 OSS"}, {6553, "Sony FE 35mm f/1.4 ZA"}, {6553, "Sony FE 24-240mm f/3.5-6.3 OSS"}, {6553, "Sony FE 28mm f/2"}, {6553, "Sony FE PZ 28-135mm f/4 G OSS"}, + {6553, "Sony FE 100mm f/2.8 STF GM OSS"}, {6553, "Sony FE 24-70mm f/2.8 GM"}, + {6553, "Sony FE 50mm f/1.4 ZA"}, {6553, "Sony FE 85mm f/1.4 GM"}, {6553, "Sony FE 50mm f/1.8"}, {6553, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)"}, {6553, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)"}, {6553, "Sony FE 70-300mm f/4.5-5.6 G OSS"}, {6553, "Sony FE 70-200mm f/2.8 GM OSS"}, + {6553, "Sony FE 70-200mm f/2.8 GM OSS + 1.4X Teleconverter"}, + {6553, "Sony FE 70-200mm f/2.8 GM OSS + 2X Teleconverter"}, + {6553, "Samyang AF 50mm f/1.4 FE"}, + {6553, "Samyang AF 14mm f/2.8 FE"}, {6553, "Sigma 19mm f/2.8 [EX] DN"}, {6553, "Sigma 30mm f/2.8 [EX] DN"}, {6553, "Sigma 60mm f/2.8 DN"}, - {6553, "Sigma 30mm f/1.4 DC DN | C"}, + {6553, "Sigma 30mm f/1.4 DC DN | C 016"}, {6553, "Tamron 18-200mm f/3.5-6.3 Di III VC"}, - {6553, "Zeiss Batis 25mm f/2"}, - {6553, "Zeiss Batis 85mm f/1.8"}, - {6553, "Zeiss Batis 18mm f/2.8"}, - {6553, "Zeiss Loxia 21mm f/2.8"}, - {6553, "Zeiss Loxia 35mm f/2"}, - {6553, "Zeiss Loxia 50mm f/2"}, + {6553, "Tokina Firin 20mm f/2 FE MF"}, {6553, "Zeiss Touit 12mm f/2.8"}, {6553, "Zeiss Touit 32mm f/1.8"}, {6553, "Zeiss Touit 50mm f/2.8 Macro"}, + {6553, "Zeiss Batis 25mm f/2"}, + {6553, "Zeiss Batis 85mm f/1.8"}, + {6553, "Zeiss Batis 18mm f/2.8"}, + {6553, "Zeiss Batis 135mm f/2.8"}, + {6553, "Zeiss Loxia 50mm f/2"}, + {6553, "Zeiss Loxia 35mm f/2"}, + {6553, "Zeiss Loxia 21mm f/2.8"}, + {6553, "Zeiss Loxia 85mm f/2.4"}, {6553, "Arax MC 35mm f/2.8 Tilt+Shift"}, {6553, "Arax MC 80mm f/2.8 Tilt+Shift"}, {6553, "Zenitar MF 16mm f/2.8 Fisheye M42"}, @@ -870,7 +887,7 @@ public: {6553, "Pentacon Auto 135mm f/2.8"}, {6553, "Pentacon Auto 29mm f/2.8"}, {6553, "Helios 44-2 58mm f/2.0"}, - {18688, "Sigma MC-11 Adapter"}, + {18688, "Sigma MC-11 SA-E Mount Converter with not-supported Sigma lens"}, {25501, "Minolta AF 50mm f/1.7"}, {25511, "Minolta AF 35-70mm f/4 or Other Lens"}, {25511, "Sigma UC AF 28-70mm f/3.5-4.5"}, @@ -993,6 +1010,7 @@ public: {45871, "Tamron AF 70-210mm f/2.8 SP LD"}, {48128, "Metabones Canon EF Speed Booster Ultra"}, {61184, "Canon EF Adapter"}, + {65280, "Sigma 16mm f/2.8 Filtermatic Fisheye"}, {65535, "E-Mount, T-Mount, Other Lens or no lens"}, {65535, "Sony E 16mm f/2.8"}, {65535, "Sony E 18-55mm f/3.5-5.6 OSS"}, @@ -1006,6 +1024,7 @@ public: {65535, "Sony E PZ 16-50mm f/3.5-5.6 OSS"}, {65535, "Sony FE 35mm f/2.8 ZA"}, {65535, "Sony FE 24-70mm f/4 ZA OSS"}, + {65535, "Sony FE 85mm f/1.8"}, {65535, "Sony E 18-200mm f/3.5-6.3 OSS LE"}, {65535, "Sony E 20mm f/2.8"}, {65535, "Sony E 35mm f/1.8 OSS"}, @@ -1016,40 +1035,49 @@ public: {65535, "Sony FE 55mm f/1.8 ZA"}, {65535, "Sony FE 70-200mm f/4 G OSS"}, {65535, "Sony FE 16-35mm f/4 ZA OSS"}, + {65535, "Sony FE 50mm f/2.8 Macro"}, {65535, "Sony FE 28-70mm f/3.5-5.6 OSS"}, {65535, "Sony FE 35mm f/1.4 ZA"}, {65535, "Sony FE 24-240mm f/3.5-6.3 OSS"}, {65535, "Sony FE 28mm f/2"}, {65535, "Sony FE PZ 28-135mm f/4 G OSS"}, + {65535, "Sony FE 100mm f/2.8 STF GM OSS"}, {65535, "Sony FE 24-70mm f/2.8 GM"}, + {65535, "Sony FE 50mm f/1.4 ZA"}, {65535, "Sony FE 85mm f/1.4 GM"}, - {65535, "Sony FE 85mm f/1.8"}, {65535, "Sony FE 50mm f/1.8"}, {65535, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)"}, {65535, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)"}, {65535, "Sony FE 70-300mm f/4.5-5.6 G OSS"}, {65535, "Sony FE 70-200mm f/2.8 GM OSS"}, + {65535, "Sony FE 70-200mm f/2.8 GM OSS + 1.4X Teleconverter"}, + {65535, "Sony FE 70-200mm f/2.8 GM OSS + 2X Teleconverter"}, + {65535, "Samyang AF 50mm f/1.4 FE"}, + {65535, "Samyang AF 14mm f/2.8 FE"}, {65535, "Sigma 19mm f/2.8 [EX] DN"}, {65535, "Sigma 30mm f/2.8 [EX] DN"}, {65535, "Sigma 60mm f/2.8 DN"}, - {65535, "Sigma 30mm f/1.4 DC DN | C"}, + {65535, "Sigma 30mm f/1.4 DC DN | C 016"}, {65535, "Tamron 18-200mm f/3.5-6.3 Di III VC"}, - {65535, "Zeiss Batis 25mm f/2"}, - {65535, "Zeiss Batis 85mm f/1.8"}, - {65535, "Zeiss Batis 18mm f/2.8"}, - {65535, "Zeiss Loxia 21mm f/2.8"}, - {65535, "Zeiss Loxia 35mm f/2"}, - {65535, "Zeiss Loxia 50mm f/2"}, + {65535, "Tokina Firin 20mm f/2 FE MF"}, {65535, "Zeiss Touit 12mm f/2.8"}, {65535, "Zeiss Touit 32mm f/1.8"}, {65535, "Zeiss Touit 50mm f/2.8 Macro"}, + {65535, "Zeiss Batis 25mm f/2"}, + {65535, "Zeiss Batis 85mm f/1.8"}, + {65535, "Zeiss Batis 18mm f/2.8"}, + {65535, "Zeiss Batis 135mm f/2.8"}, + {65535, "Zeiss Loxia 50mm f/2"}, + {65535, "Zeiss Loxia 35mm f/2"}, + {65535, "Zeiss Loxia 21mm f/2.8"}, + {65535, "Zeiss Loxia 85mm f/2.4"}, {65535, "Arax MC 35mm f/2.8 Tilt+Shift"}, {65535, "Arax MC 80mm f/2.8 Tilt+Shift"}, {65535, "Zenitar MF 16mm f/2.8 Fisheye M42"}, {65535, "Samyang 500mm Mirror f/8.0"}, {65535, "Pentacon Auto 135mm f/2.8"}, {65535, "Pentacon Auto 29mm f/2.8"}, - {65535, "Helios 44-2 58mm f/2.0"} + {65535, "Helios 44-2 58mm f/2.0"}, }; } @@ -1106,8 +1134,10 @@ public: choices.insert(p_t(32786, "Sony E 55-210mm f/4.5-6.3 OSS")); choices.insert(p_t(32787, "Sony E 18-200mm f/3.5-6.3 OSS")); choices.insert(p_t(32788, "Sony E 30mm f/3.5 Macro")); - choices.insert(p_t(32789, "Sony E 24mm f/1.8 ZA")); - choices.insert(p_t(32790, "Sony E 50mm f/1.8 OSS")); + choices.insert(p_t(32789, "Sony E 24mm f/1.8 ZA or Samyang AF 50mm f/1.4 FE")); + choices.insert(p_t(32789, "Samyang AF 50mm f/1.4 FE")); + choices.insert(p_t(32790, "Sony E 50mm f/1.8 OSS or Samyang AF 14mm f/2.8 FE")); + choices.insert(p_t(32790, "Samyang AF 14mm f/2.8 FE")); choices.insert(p_t(32791, "Sony E 16-70mm f/4 ZA OSS")); choices.insert(p_t(32792, "Sony E 10-18mm f/4 OSS")); choices.insert(p_t(32793, "Sony E PZ 16-50mm f/3.5-5.6 OSS")); @@ -1124,27 +1154,36 @@ public: choices.insert(p_t(32808, "Sony FE 55mm f/1.8 ZA")); choices.insert(p_t(32810, "Sony FE 70-200mm f/4 G OSS")); choices.insert(p_t(32811, "Sony FE 16-35mm f/4 ZA OSS")); + choices.insert(p_t(32812, "Sony FE 50mm f/2.8 Macro")); choices.insert(p_t(32813, "Sony FE 28-70mm f/3.5-5.6 OSS")); choices.insert(p_t(32814, "Sony FE 35mm f/1.4 ZA")); choices.insert(p_t(32815, "Sony FE 24-240mm f/3.5-6.3 OSS")); choices.insert(p_t(32816, "Sony FE 28mm f/2")); choices.insert(p_t(32817, "Sony FE PZ 28-135mm f/4 G OSS")); + choices.insert(p_t(32819, "Sony FE 100mm f/2.8 STF GM OSS")); choices.insert(p_t(32821, "Sony FE 24-70mm f/2.8 GM")); + choices.insert(p_t(32822, "Sony FE 50mm f/1.4 ZA")); choices.insert(p_t(32823, "Sony FE 85mm f/1.4 GM")); choices.insert(p_t(32824, "Sony FE 50mm f/1.8")); choices.insert(p_t(32826, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)")); choices.insert(p_t(32827, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)")); choices.insert(p_t(32828, "Sony FE 70-300mm f/4.5-5.6 G OSS")); choices.insert(p_t(32830, "Sony FE 70-200mm f/2.8 GM OSS")); + choices.insert(p_t(33002, "Sigma 85mm f/1.4 DG HSM | A 016 (+ Metabones Ver.50)")); + choices.insert(p_t(33072, "Sony FE 70-200mm f/2.8 GM OSS + 1.4X Teleconverter")); + choices.insert(p_t(33073, "Sony FE 70-200mm f/2.8 GM OSS + 2X Teleconverter")); + choices.insert(p_t(33076, "Sony FE 100mm f/2.8 STF GM OSS (macro mode)")); choices.insert(p_t(49201, "Zeiss Touit 12mm f/2.8")); choices.insert(p_t(49202, "Zeiss Touit 32mm f/1.8")); choices.insert(p_t(49203, "Zeiss Touit 50mm f/2.8 Macro")); choices.insert(p_t(49216, "Zeiss Batis 25mm f/2")); choices.insert(p_t(49217, "Zeiss Batis 85mm f/1.8")); choices.insert(p_t(49218, "Zeiss Batis 18mm f/2.8")); + choices.insert(p_t(49219, "Zeiss Batis 135mm f/2.8")); choices.insert(p_t(49232, "Zeiss Loxia 50mm f/2")); choices.insert(p_t(49233, "Zeiss Loxia 35mm f/2")); choices.insert(p_t(49234, "Zeiss Loxia 21mm f/2.8")); + choices.insert(p_t(49235, "Zeiss Loxia 85mm f/2.4")); choices.insert(p_t(50480, "Sigma 30mm f/1.4 DC DN | C 016")); choices.insert(p_t(50481, "Sigma 50mm f/1.4 DG HSM | A 014 + MC-11")); choices.insert(p_t(50482, "Sigma 18-300mm f/3.5-6.3 DC MACRO OS HSM | C 014 + MC-11")); @@ -1158,6 +1197,11 @@ public: choices.insert(p_t(50492, "Sigma 24-105mm f/4 DG OS HSM | A 013 + MC-11")); choices.insert(p_t(50493, "Sigma 17-70mm f/2.8-4 DC MACRO OS HSM | C 013 + MC-11")); choices.insert(p_t(50495, "Sigma 50-100mm f/1.8 DC HSM | A 016 + MC-11")); + choices.insert(p_t(50992, "Voigtlander SUPER WIDE-HELIAR 15mm f/4.5 III")); + choices.insert(p_t(50993, "Voigtlander HELIAR-HYPER WIDE 10mm f/5.6")); + choices.insert(p_t(50994, "Voigtlander ULTRA WIDE-HELIAR 12mm f/5.6 III")); + choices.insert(p_t(50996, "Voigtlander NOKTON 40mm f/1.2 Aspherical")); + choices.insert(p_t(51505, "Samyang AF 14mm f/2.8 FE")); } virtual std::string toString (Tag* t) diff --git a/tools/generateLensList b/tools/generateLensList index 17a383ed7..13738a359 100755 --- a/tools/generateLensList +++ b/tools/generateLensList @@ -1,9 +1,7 @@ #!/usr/bin/env bash -# This Bash4 script generates lens ID lists for rtexif/*.cc files using -# the exiftool version installed on the host system, so make sure you have -# the latest version of exiftool installed before running this script. -# It uses xmlstarlet to parse exiftool's output so make sure you have that. +# This Bash4 script generates lens ID and other parameter lists for rtexif/*.cc +# files using ExifTool. It uses xmlstarlet to parse ExifTool's output. # # Run the script from the project root: # ./tools/generateLensList @@ -13,50 +11,51 @@ # Blame DrSlony # Please report bugs or enhancements to https://github.com/Beep6581/RawTherapee -hash exiftool 2>/dev/null || { echo >&2 "Exiftool not found, install it first."; exit 1; } +et="$HOME/programs/code-exiftool/exiftool" + +hash "$et" 2>/dev/null || { echo >&2 "ExifTool not found, install it first."; exit 1; } hash xmlstarlet 2>/dev/null || { echo >&2 "XMLStarlet not found, install it first."; exit 1; } unset cam cams -cams=("canon" "nikon" "olympus" "pentax" "sony") tmpdir="/tmp/rt-generateLensList" -head -n 15 "$0" | tail -n 14 -printf '%s\n' "exiftool version: $(exiftool -ver)" "" "XMLStarlet version: $(xmlstarlet --version)" | sed 's/^/# /' +printf '%s\n' "ExifTool version: $("$et" -ver)" "" "XMLStarlet version: $(xmlstarlet --version)" | sed 's/^/# /' if [[ -d ${tmpdir} ]]; then - printf '%s\n' "" "Removing temp folder: $tmpdir" + printf '%s\n' "" "Must remove temp folder from previous run: $tmpdir" rm -rvI "$tmpdir" || exit 1 fi mkdir -p "$tmpdir" || { printf '%s\n' "Error creating $tmpdir" ""; exit 1; } echo -for cam in "${cams[@]}"; do - if [[ "$cam" != nikon ]]; then - printf '%s\n' "Saving ${tmpdir}/${cam}" - xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -"$cam":all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } - sort -fuV "${tmpdir}/cam" > "${tmpdir}/${cam}" - rm -f "${tmpdir}/cam" - fi - case $cam in - canon) sed -r -i -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/canon" ;; - nikon) - # Nikon LensIDs are composite tags - printf '%s\n' "Saving ${tmpdir}/nikon" - xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensID']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -composite:all) > "${tmpdir}/nikon" || { printf '%s\n' "Saving failed: ${tmpdir}/nikon"; exit 1; } - sed -r -i -e '/^... /d' -e 's/^/ lenses["/' -e 's/([A-F0-9]+)[A-F0-9.]*\t/\1"] = "/' -e 's/$/";/' -e 's|(.* ")(.*) F([0-9]+)|\1\2 f/\3|' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/nikon" - ;; - olympus) sed -r -i -e '/0 00 00\tNone/d' -e 's/^/ lenses["0/' -e 's/\t/"] = "/' -e 's/$/";/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/olympus" ;; - pentax) sed -r -i -e 's/^/ choices.insert(p_t(256 * /' -e 's/([0-9]+) ([0-9]+)([0-9.]*)/\1 + \2/' -e 's/\t/, "/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|' "${tmpdir}/pentax" ;; - sony) - # Sony has more lenses under the LensType2 tag - printf '%s\n' "Saving ${tmpdir}/sony-lenstype2" - xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType2']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -sony:all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } - sort -fuV "${tmpdir}/cam" > "${tmpdir}/sony-lenstype2" - rm -f "${tmpdir}/cam" - sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/sony" "${tmpdir}/sony-lenstype2" - ;; - esac +# Canon +printf '%s\n' "Saving ${tmpdir}/canon" +xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -canon:all) | sort -fuV > "${tmpdir}/canon" +sed -r -i -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/canon" +# xmlstarlet sel -T -t -m "taginfo/table/tag[@name='EasyMode']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -canon:all) | sed -r -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1] = "/' -e 's/^/ choices[/' -e 's/$/";/' -done +# Nikon LensIDs are composite tags +printf '%s\n' "Saving ${tmpdir}/nikon" +xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensID']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -composite:all) > "${tmpdir}/nikon" +sed -r -i -e '/^... /d' -e 's/^/ {"/' -e 's/([A-F0-9]+)[A-F0-9.]*\t/\1", "/' -e 's/$/"},/' -e 's|(.* ")(.*) F([0-9]+)|\1\2 f/\3|' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/nikon" + +# Olympus +printf '%s\n' "Saving ${tmpdir}/olympus" +xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -olympus:all) | sort -fuV > "${tmpdir}/olympus" +sed -r -i -e '/0 00 00\tNone/d' -e 's/^/ lenses["0/' -e 's/\t/"] = "/' -e 's/$/";/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/olympus" + +# Pentax +printf '%s\n' "Saving ${tmpdir}/pentax" +xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -pentax:all) | sort -fuV > "${tmpdir}/pentax" +sed -r -i -e 's/^/ choices.insert(p_t(256 * /' -e 's/([0-9]+) ([0-9]+)([0-9.]*)/\1 + \2/' -e 's/\t/, "/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|' "${tmpdir}/pentax" + +# Sony +printf '%s\n' "Saving ${tmpdir}/sony" +xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -sony:all) | sort -fuV > "${tmpdir}/sony" +# Sony has more lenses under the LensType2 tag +printf '%s\n' "Saving ${tmpdir}/sony-lenstype2" +xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType2']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -sony:all) | sort -fuV > "${tmpdir}/sony-lenstype2" +sed -r -i -e 's/^/ {/' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/$/"},/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/sony" +sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/sony-lenstype2"