Applied Canon ModelId patch (Gerry Patterson), updated tests.
This commit is contained in:
parent
742386406a
commit
724f413349
106
src/canonmn.cpp
106
src/canonmn.cpp
@ -79,6 +79,111 @@ namespace Exiv2 {
|
||||
}
|
||||
//! @endcond
|
||||
|
||||
//! ModelId, tag 0x0010
|
||||
extern const TagDetails canonModelId[] = {
|
||||
{ 0x1010000, N_("PowerShot A30") },
|
||||
{ 0x1040000, N_("PowerShot S300 / Digital IXUS 300 / IXY Digital 300") },
|
||||
{ 0x1060000, N_("PowerShot A20") },
|
||||
{ 0x1080000, N_("PowerShot A10") },
|
||||
{ 0x1090000, N_("PowerShot S110 / Digital IXUS v / IXY Digital 200") },
|
||||
{ 0x1100000, N_("PowerShot G2") },
|
||||
{ 0x1110000, N_("PowerShot S40") },
|
||||
{ 0x1120000, N_("PowerShot S30") },
|
||||
{ 0x1130000, N_("PowerShot A40") },
|
||||
{ 0x1140000, N_("EOS D30") },
|
||||
{ 0x1150000, N_("PowerShot A100") },
|
||||
{ 0x1160000, N_("PowerShot S200 / Digital IXUS v2 / IXY Digital 200a") },
|
||||
{ 0x1170000, N_("PowerShot A200") },
|
||||
{ 0x1180000, N_("PowerShot S330 / Digital IXUS 330 / IXY Digital 300a") },
|
||||
{ 0x1190000, N_("PowerShot G3") },
|
||||
{ 0x1210000, N_("PowerShot S45") },
|
||||
{ 0x1230000, N_("PowerShot SD100 / Digital IXUS II / IXY Digital 30") },
|
||||
{ 0x1240000, N_("PowerShot S230 / Digital IXUS v3 / IXY Digital 320") },
|
||||
{ 0x1250000, N_("PowerShot A70") },
|
||||
{ 0x1260000, N_("PowerShot A60") },
|
||||
{ 0x1270000, N_("PowerShot S400 / Digital IXUS 400 / IXY Digital 400") },
|
||||
{ 0x1290000, N_("PowerShot G5") },
|
||||
{ 0x1300000, N_("PowerShot A300") },
|
||||
{ 0x1310000, N_("PowerShot S50") },
|
||||
{ 0x1340000, N_("PowerShot A80") },
|
||||
{ 0x1350000, N_("PowerShot SD10 / Digital IXUS i / IXY Digital L") },
|
||||
{ 0x1360000, N_("PowerShot S1 IS") },
|
||||
{ 0x1370000, N_("PowerShot Pro1") },
|
||||
{ 0x1380000, N_("PowerShot S70") },
|
||||
{ 0x1390000, N_("PowerShot S60") },
|
||||
{ 0x1400000, N_("PowerShot G6") },
|
||||
{ 0x1410000, N_("PowerShot S500 / Digital IXUS 500 / IXY Digital 500") },
|
||||
{ 0x1420000, N_("PowerShot A75") },
|
||||
{ 0x1440000, N_("PowerShot SD110 / Digital IXUS IIs / IXY Digital 30a") },
|
||||
{ 0x1450000, N_("PowerShot A400") },
|
||||
{ 0x1470000, N_("PowerShot A310") },
|
||||
{ 0x1490000, N_("PowerShot A85") },
|
||||
{ 0x1520000, N_("PowerShot S410 / Digital IXUS 430 / IXY Digital 450") },
|
||||
{ 0x1530000, N_("PowerShot A95") },
|
||||
{ 0x1540000, N_("PowerShot SD300 / Digital IXUS 40 / IXY Digital 50") },
|
||||
{ 0x1550000, N_("PowerShot SD200 / Digital IXUS 30 / IXY Digital 40") },
|
||||
{ 0x1560000, N_("PowerShot A520") },
|
||||
{ 0x1570000, N_("PowerShot A510") },
|
||||
{ 0x1590000, N_("PowerShot SD20 / Digital IXUS i5 / IXY Digital L2") },
|
||||
{ 0x1640000, N_("PowerShot S2 IS") },
|
||||
{ 0x1650000, N_("PowerShot SD430 / IXUS Wireless / IXY Wireless") },
|
||||
{ 0x1660000, N_("PowerShot SD500 / Digital IXUS 700 / IXY Digital 600") },
|
||||
{ 0x1668000, N_("EOS D60") },
|
||||
{ 0x1700000, N_("PowerShot SD30 / Digital IXUS i zoom / IXY Digital L3") },
|
||||
{ 0x1740000, N_("PowerShot A430") },
|
||||
{ 0x1750000, N_("PowerShot A410") },
|
||||
{ 0x1760000, N_("PowerShot S80") },
|
||||
{ 0x1780000, N_("PowerShot A620") },
|
||||
{ 0x1790000, N_("PowerShot A610") },
|
||||
{ 0x1800000, N_("PowerShot SD630 / Digital IXUS 65 / IXY Digital 80") },
|
||||
{ 0x1810000, N_("PowerShot SD450 / Digital IXUS 55 / IXY Digital 60") },
|
||||
{ 0x1820000, N_("PowerShot TX1") },
|
||||
{ 0x1870000, N_("PowerShot SD400 / Digital IXUS 50 / IXY Digital 55") },
|
||||
{ 0x1880000, N_("PowerShot A420") },
|
||||
{ 0x1890000, N_("PowerShot SD900 / Digital IXUS 900 Ti / IXY Digital 1000") },
|
||||
{ 0x1900000, N_("PowerShot SD550 / Digital IXUS 750 / IXY Digital 700") },
|
||||
{ 0x1920000, N_("PowerShot A700") },
|
||||
{ 0x1940000, N_("PowerShot SD700 IS / Digital IXUS 800 IS / IXY Digital 800 IS") },
|
||||
{ 0x1950000, N_("PowerShot S3 IS") },
|
||||
{ 0x1960000, N_("PowerShot A540") },
|
||||
{ 0x1970000, N_("PowerShot SD600 / Digital IXUS 60 / IXY Digital 70") },
|
||||
{ 0x1980000, N_("PowerShot G7") },
|
||||
{ 0x1990000, N_("PowerShot A530") },
|
||||
{ 0x2000000, N_("PowerShot SD800 IS / Digital IXUS 850 IS / IXY Digital 900 IS") },
|
||||
{ 0x2010000, N_("PowerShot SD40 / Digital IXUS i7 / IXY Digital L4") },
|
||||
{ 0x2020000, N_("PowerShot A710 IS") },
|
||||
{ 0x2030000, N_("PowerShot A640") },
|
||||
{ 0x2040000, N_("PowerShot A630") },
|
||||
{ 0x2090000, N_("PowerShot S5 IS") },
|
||||
{ 0x2100000, N_("PowerShot A460") },
|
||||
{ 0x2120000, N_("PowerShot SD850 IS / Digital IXUS 950 IS") },
|
||||
{ 0x2130000, N_("PowerShot A570 IS") },
|
||||
{ 0x2140000, N_("PowerShot A560") },
|
||||
{ 0x2150000, N_("PowerShot SD750 / Digital IXUS 75 / IXY Digital 90") },
|
||||
{ 0x2160000, N_("PowerShot SD1000 / Digital IXUS 70 / IXY Digital 10") },
|
||||
{ 0x2180000, N_("PowerShot A550") },
|
||||
{ 0x2190000, N_("PowerShot A450") },
|
||||
{ 0x3010000, N_("PowerShot Pro90 IS") },
|
||||
{ 0x4040000, N_("PowerShot G1") },
|
||||
{ 0x6040000, N_("PowerShot S100 / Digital IXUS / IXY Digital") },
|
||||
{ 0x4007d675, N_("HV10") },
|
||||
{ 0x4007d777, N_("iVIS DC50") },
|
||||
{ 0x4007d778, N_("iVIS HV20") },
|
||||
{ 0x80000001, N_("EOS-1D") },
|
||||
{ 0x80000167, N_("EOS-1DS") },
|
||||
{ 0x80000168, N_("EOS 10D") },
|
||||
{ 0x80000169, N_("EOS-1D Mark III") },
|
||||
{ 0x80000170, N_("EOS Digital Rebel / 300D / Kiss Digital") },
|
||||
{ 0x80000174, N_("EOS-1D Mark II") },
|
||||
{ 0x80000175, N_("EOS 20D") },
|
||||
{ 0x80000188, N_("EOS-1Ds Mark II") },
|
||||
{ 0x80000189, N_("EOS Digital Rebel XT / 350D / Kiss Digital N") },
|
||||
{ 0x80000213, N_("EOS 5D") },
|
||||
{ 0x80000232, N_("EOS-1D Mark II N") },
|
||||
{ 0x80000234, N_("EOS 30D") },
|
||||
{ 0x80000236, N_("EOS Digital Rebel XTi / 400D / Kiss Digital X") },
|
||||
};
|
||||
|
||||
// Canon MakerNote Tag Info
|
||||
const TagInfo CanonMakerNote::tagInfo_[] = {
|
||||
TagInfo(0x0000, "0x0000", "0x0000", N_("Unknown"), canonIfdId, makerTags, unsignedShort, printValue),
|
||||
@ -94,6 +199,7 @@ namespace Exiv2 {
|
||||
TagInfo(0x000c, "SerialNumber", N_("Serial Number"), N_("Camera serial number"), canonIfdId, makerTags, unsignedLong, print0x000c),
|
||||
TagInfo(0x000d, "0x000d", "0x000d", N_("Unknown"), canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x000f, "CustomFunctions", N_("Custom Functions"), N_("Custom Functions"), canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x0010, "ModelID", N_("ModelID"), N_("Model ID"), canonIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(canonModelId)),
|
||||
TagInfo(0x0012, "PictureInfo", N_("Picture Info"), N_("Picture info"), canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x00a9, "WhiteBalanceTable", N_("White Balance Table"), N_("White balance table"), canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x00b5, "0x00b5", "0x00b5", N_("Unknown"), canonIfdId, makerTags, unsignedShort, printValue),
|
||||
|
||||
@ -126,7 +126,7 @@ Exif.Canon.ImageType Ascii 32 IMG:PowerShot S40 JP
|
||||
Exif.Canon.FirmwareVersion Ascii 24 Firmware Version 1.10
|
||||
Exif.Canon.ImageNumber Long 1 117-1771
|
||||
Exif.Canon.OwnerName Ascii 32 Andreas Huggel
|
||||
Exif.Canon.0x0010 Long 1 17891328
|
||||
Exif.Canon.ModelID Long 1 PowerShot S40
|
||||
Exif.Canon.0x000d Short 21 42 3 32769 378 32769 0 0 0 259 2 0 10 0 0 0 57 198 5 0 0 0
|
||||
Exif.CanonCs.Macro Short 1 Off
|
||||
Exif.CanonCs.Selftimer Short 1 Off
|
||||
|
||||
@ -213,7 +213,7 @@ Exif.Canon.ImageType 0x0006 Makernote Ascii 32
|
||||
Exif.Canon.FirmwareVersion 0x0007 Makernote Ascii 24 Firmware Version 1.10
|
||||
Exif.Canon.ImageNumber 0x0008 Makernote Long 1 1171771
|
||||
Exif.Canon.OwnerName 0x0009 Makernote Ascii 32 Andreas Huggel
|
||||
Exif.Canon.0x0010 0x0010 Makernote Long 1 17891328
|
||||
Exif.Canon.ModelID 0x0010 Makernote Long 1 17891328
|
||||
Exif.Canon.0x000d 0x000d Makernote Short 21 42 3 32769 378 32769 0 0 0 259 2 0 10 0 0 0 57 198 5 0 0 0
|
||||
Exif.CanonCs.Macro 0x0001 Makernote Short 1 2
|
||||
Exif.CanonCs.Selftimer 0x0002 Makernote Short 1 0
|
||||
@ -337,7 +337,7 @@ Exif.Canon.ImageType 0x0006 Makernote Ascii 32
|
||||
Exif.Canon.FirmwareVersion 0x0007 Makernote Ascii 24 Firmware Version 1.10
|
||||
Exif.Canon.ImageNumber 0x0008 Makernote Long 1 1171771
|
||||
Exif.Canon.OwnerName 0x0009 Makernote Ascii 32 Andreas Huggel
|
||||
Exif.Canon.0x0010 0x0010 Makernote Long 1 17891328
|
||||
Exif.Canon.ModelID 0x0010 Makernote Long 1 17891328
|
||||
Exif.Canon.0x000d 0x000d Makernote Short 21 42 3 32769 378 32769 0 0 0 259 2 0 10 0 0 0 57 198 5 0 0 0
|
||||
Exif.CanonCs.Macro 0x0001 Makernote Short 1 2
|
||||
Exif.CanonCs.Selftimer 0x0002 Makernote Short 1 0
|
||||
@ -462,7 +462,7 @@ Exif.Canon.ImageType 0x0006 Makernote Ascii 32
|
||||
Exif.Canon.FirmwareVersion 0x0007 Makernote Ascii 24 Firmware Version 1.10
|
||||
Exif.Canon.ImageNumber 0x0008 Makernote Long 1 1171771
|
||||
Exif.Canon.OwnerName 0x0009 Makernote Ascii 32 Andreas Huggel
|
||||
Exif.Canon.0x0010 0x0010 Makernote Long 1 17891328
|
||||
Exif.Canon.ModelID 0x0010 Makernote Long 1 17891328
|
||||
Exif.Canon.0x000d 0x000d Makernote Short 21 42 3 32769 378 32769 0 0 0 259 2 0 10 0 0 0 57 198 5 0 0 0
|
||||
Exif.CanonCs.Macro 0x0001 Makernote Short 1 2
|
||||
Exif.CanonCs.Selftimer 0x0002 Makernote Short 1 0
|
||||
@ -586,7 +586,7 @@ Exif.Canon.ImageType 0x0006 Makernote Ascii 32
|
||||
Exif.Canon.FirmwareVersion 0x0007 Makernote Ascii 24 Firmware Version 1.10
|
||||
Exif.Canon.ImageNumber 0x0008 Makernote Long 1 1171771
|
||||
Exif.Canon.OwnerName 0x0009 Makernote Ascii 32 Andreas Huggel
|
||||
Exif.Canon.0x0010 0x0010 Makernote Long 1 17891328
|
||||
Exif.Canon.ModelID 0x0010 Makernote Long 1 17891328
|
||||
Exif.Canon.0x000d 0x000d Makernote Short 21 42 3 32769 378 32769 0 0 0 259 2 0 10 0 0 0 57 198 5 0 0 0
|
||||
Exif.CanonCs.Macro 0x0001 Makernote Short 1 2
|
||||
Exif.CanonCs.Selftimer 0x0002 Makernote Short 1 0
|
||||
|
||||
@ -598,7 +598,7 @@ File 2/15: 20031214_000043.jpg
|
||||
20031214_000043.jpg Exif.Canon.FirmwareVersion Ascii 24 Firmware Version 1.10
|
||||
20031214_000043.jpg Exif.Canon.ImageNumber Long 1 117-1771
|
||||
20031214_000043.jpg Exif.Canon.OwnerName Ascii 32 Andreas Huggel
|
||||
20031214_000043.jpg Exif.Canon.0x0010 Long 1 17891328
|
||||
20031214_000043.jpg Exif.Canon.ModelID Long 1 PowerShot S40
|
||||
20031214_000043.jpg Exif.Canon.0x000d Short 21 42 3 32769 378 32769 0 0 0 259 2 0 10 0 0 0 57 198 5 0 0 0
|
||||
20031214_000043.jpg Exif.CanonCs.Macro Short 1 Off
|
||||
20031214_000043.jpg Exif.CanonCs.Selftimer Short 1 Off
|
||||
@ -939,7 +939,7 @@ File 6/15: 20030925_201850.jpg
|
||||
20030925_201850.jpg Exif.Canon.0x0015 Long 1 2415919104
|
||||
20030925_201850.jpg Exif.Canon.ImageNumber Long 1 103-0390
|
||||
20030925_201850.jpg Exif.Canon.OwnerName Ascii 32
|
||||
20030925_201850.jpg Exif.Canon.0x0010 Long 1 2147484016
|
||||
20030925_201850.jpg Exif.Canon.ModelID Long 1 EOS Digital Rebel / 300D / Kiss Digital
|
||||
20030925_201850.jpg Exif.Canon.0x000e Long 1 2830270
|
||||
20030925_201850.jpg Exif.Canon.0x000d Byte 512 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 154 4 0 0 3 12 0 0 69 59 0 0 1 8 1 0 26 42 0 0 251 51 0 0 45 62 0 0 181 39 0 0 45 36 0 0 207 33 0 0 86 11 0 0 72 87 0 0 68 185 0 0 41 243 1 0 152 72 9 0 250 249 47 0 107 55 9 0 213 248 10 0 80 74 15 0 227 71 10 0 179 45 9 0 125 201 7 0 2 103 2 0 207 245 15 0 93 182 1 0 42 150 4 0 75 9 22 0 129 114 107 0 67 156 18 0 204 207 21 0 153 54 30 0 153 209 19 0 150 232 16 0 235 189 13 0 18 8 4 0 253 2 24 0 160 223 1 0 225 242 4 0 180 12 23 0 169 205 109 0 2 252 18 0 62 24 22 0 110 65 30 0 81 179 19 0 99 172 16 0 78 45 13 0 136 215 3 0 14 135 22 0 74 171 1 0 83 97 4 0 24 83 20 0 111 195 91 0 217 101 14 0 107 252 15 0 142 195 20 0 122 246 12 0 93 182 10 0 163 119 8 0 89 86 2 0 211 129 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
20030925_201850.jpg Exif.Canon.0x0000 Short 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
@ -1500,7 +1500,7 @@ Warning: Makernote: Pointer to next IFD is out of bounds; ignored.
|
||||
20060802_095200.jpg Exif.Canon.OwnerName Ascii 32 unknown | ||||