Feature #894 » 894-5.diff
trunk/src/canonmn.cpp (revision 4493) → trunk/src/canonmn.cpp (working copy) | ||
---|---|---|
1312 | 1312 |
return tagInfoSi_; |
1313 | 1313 |
} |
1314 | 1314 | |
1315 |
//! HighlightTonePriority, tag 0x0007 |
|
1316 |
extern const TagDetails canonCiHighlightTonePriority[] = { |
|
1317 |
{ 0, N_("Disabled") }, |
|
1318 |
{ 1, N_("Enabled") } |
|
1319 |
}; |
|
1320 | ||
1321 |
// Canon Camera Info Tag |
|
1322 |
const TagInfo CanonMakerNote::tagInfoCiHtp_[] = { |
|
1323 |
TagInfo(0x0007, "HighlightTonePriority", N_("Highlight Tone Priority"), N_("Highlight Tone Priority"), canonCiId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(canonCiHighlightTonePriority)), |
|
1324 |
// End of list marker |
|
1325 |
TagInfo(0xffff, "(UnknownCanonCiTag)", "(UnknownCanonCiTag)", N_("Unknown Canon Camera Info 1 tag"), canonCiId, makerTags, unsignedShort, 1, printValue) |
|
1326 |
}; |
|
1327 |
const TagInfo CanonMakerNote::tagInfoCi_[] = { |
|
1328 |
// End of list marker |
|
1329 |
TagInfo(0xffff, "(UnknownCanonCiTag)", "(UnknownCanonCiTag)", N_("Unknown Canon Camera Info 1 tag"), canonCiId, makerTags, unsignedShort, 1, printValue) |
|
1330 |
}; |
|
1331 | ||
1332 |
const long CanonMakerNote::supportedHTPCameraIds[] = { |
|
1333 |
/* 1 5D MK II */ 0x80000218, |
|
1334 |
/* 2 7D */ 0x80000250, |
|
1335 |
/* 3 50D */ 0x80000261, |
|
1336 |
/* 4 1D X */ 0x80000269, |
|
1337 |
/* 5 550D */ 0x80000270, |
|
1338 |
/* 6 1D MK IV */ 0x80000281, |
|
1339 |
/* 7 5D MK III */ 0x80000285, |
|
1340 |
/* 8 600D */ 0x80000286, |
|
1341 |
/* 9 60D */ 0x80000287, |
|
1342 |
/* 10 7D MK II */ 0x80000289, |
|
1343 |
/* 11 650D */ 0x80000301, |
|
1344 |
/* 12 6D */ 0x80000302, |
|
1345 |
/* 13 70D */ 0x80000325, |
|
1346 |
/* 14 700D */ 0x80000326, |
|
1347 |
/* 15 1D X MK II */ 0x80000328, |
|
1348 |
/* 16 80D */ 0x80000350, |
|
1349 |
/* 17 5DS */ 0x80000382, |
|
1350 |
/* 18 5DS */ 0x80000393, |
|
1351 |
/* 19 5DS R */ 0x80000401, |
|
1352 |
/* 20 1300D */ 0x80000404 |
|
1353 |
}; |
|
1354 | ||
1355 |
const TagInfo* CanonMakerNote::tagListCi() |
|
1356 |
{ |
|
1357 |
long modelId = 0x0; |
|
1358 |
int camera_num = sizeof(supportedHTPCameraIds) / sizeof(supportedHTPCameraIds[0]); |
|
1359 |
for (long index = 0; index < camera_num; index++) { |
|
1360 |
if (modelId == supportedHTPCameraIds[index]) { |
|
1361 |
return tagInfoCiHtp_; |
|
1362 |
} |
|
1363 |
} |
|
1364 | ||
1365 |
return tagInfoCi_; |
|
1366 |
} |
|
1367 | ||
1315 | 1368 |
//! PanoramaDirection, tag 0x0005 |
1316 | 1369 |
extern const TagDetails canonPaDirection[] = { |
1317 | 1370 |
{ 0, N_("Left to right") }, |
trunk/src/canonmn_int.hpp (revision 4493) → trunk/src/canonmn_int.hpp (working copy) | ||
---|---|---|
63 | 63 |
static const TagInfo* tagListCs(); |
64 | 64 |
//! Return read-only list of built-in Canon Shot Info tags |
65 | 65 |
static const TagInfo* tagListSi(); |
66 |
//! Return read-only list of built-in Canon Camera Info tags |
|
67 |
static const TagInfo* tagListCi(); |
|
66 | 68 |
//! Return read-only list of built-in Canon Panorama tags |
67 | 69 |
static const TagInfo* tagListPa(); |
68 | 70 |
//! Return read-only list of built-in Canon Custom Function tags |
... | ... | |
108 | 110 |
static std::ostream& printSi0x0017(std::ostream& os, const Value& value, const ExifData*); |
109 | 111 |
//! Focus Distance |
110 | 112 |
static std::ostream& printFiFocusDistance(std::ostream& os, const Value& value, const ExifData*); |
113 |
//! Model Id |
|
114 |
static std::ostream& printModelId(std::ostream& os, const Value& value, const ExifData*); |
|
111 | 115 |
//@} |
112 | 116 | |
113 | 117 |
private: |
114 | 118 |
// DATA |
119 |
static const long supportedHTPCameraIds[]; |
|
115 | 120 | |
116 | 121 |
//! Tag information |
117 | 122 |
static const TagInfo tagInfo_[]; |
118 | 123 |
static const TagInfo tagInfoCs_[]; |
119 | 124 |
static const TagInfo tagInfoSi_[]; |
125 |
static const TagInfo tagInfoCi_[]; |
|
126 |
static const TagInfo tagInfoCiHtp_[]; |
|
120 | 127 |
static const TagInfo tagInfoCf_[]; |
121 | 128 |
static const TagInfo tagInfoPi_[]; |
122 | 129 |
static const TagInfo tagInfoFi_[]; |
trunk/src/tags.cpp (revision 4493) → trunk/src/tags.cpp (working copy) | ||
---|---|---|
106 | 106 |
{ canonFiId, "Makernote", "CanonFi", CanonMakerNote::tagListFi }, |
107 | 107 |
{ canonPaId, "Makernote", "CanonPa", CanonMakerNote::tagListPa }, |
108 | 108 |
{ canonPrId, "Makernote", "CanonPr", CanonMakerNote::tagListPr }, |
109 |
{ canonCiId, "Makernote", "CanonCi", CanonMakerNote::tagListCi }, |
|
109 | 110 |
{ casioId, "Makernote", "Casio", CasioMakerNote::tagList }, |
110 | 111 |
{ casio2Id, "Makernote", "Casio2", Casio2MakerNote::tagList }, |
111 | 112 |
{ fujiId, "Makernote", "Fujifilm", FujiMakerNote::tagList }, |
trunk/src/tags_int.hpp (revision 4493) → trunk/src/tags_int.hpp (working copy) | ||
---|---|---|
78 | 78 |
canonId, |
79 | 79 |
canonCsId, |
80 | 80 |
canonSiId, |
81 |
canonCiId, |
|
81 | 82 |
canonCfId, |
82 | 83 |
canonPiId, |
83 | 84 |
canonPaId, |
trunk/src/tiffimage.cpp (revision 4493) → trunk/src/tiffimage.cpp (working copy) | ||
---|---|---|
703 | 703 |
{ 0, ttUnsignedShort, 1 } |
704 | 704 |
}; |
705 | 705 | |
706 |
//! Canon Camera Info binary array - configuration |
|
707 |
extern const ArrayCfg canonCiCfg = { |
|
708 |
canonCiId, // Group for the elements |
|
709 |
invalidByteOrder, // Use byte order from parent |
|
710 |
ttUndefined, // Type for array entry and size element |
|
711 |
notEncrypted, // Not encrypted |
|
712 |
false, // With size element |
|
713 |
false, // No fillers |
|
714 |
false, // Don't concatenate gaps |
|
715 |
{ 0, ttUnsignedByte, 1 } |
|
716 |
}; |
|
717 | ||
706 | 718 |
//! Canon Panorama binary array - configuration |
707 | 719 |
extern const ArrayCfg canonPaCfg = { |
708 | 720 |
canonPaId, // Group for the elements |
... | ... | |
1549 | 1561 |
{ Tag::root, canonCsId, canonId, 0x0001 }, |
1550 | 1562 |
{ Tag::root, canonSiId, canonId, 0x0004 }, |
1551 | 1563 |
{ Tag::root, canonPaId, canonId, 0x0005 }, |
1564 |
{ Tag::root, canonCiId, canonId, 0x000d }, |
|
1552 | 1565 |
{ Tag::root, canonCfId, canonId, 0x000f }, |
1553 | 1566 |
{ Tag::root, canonPiId, canonId, 0x0012 }, |
1554 | 1567 |
{ Tag::root, canonFiId, canonId, 0x0093 }, |
... | ... | |
1881 | 1894 |
{ 0x0001, canonId, EXV_BINARY_ARRAY(canonCsCfg, canonCsDef) }, |
1882 | 1895 |
{ 0x0004, canonId, EXV_SIMPLE_BINARY_ARRAY(canonSiCfg) }, |
1883 | 1896 |
{ 0x0005, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPaCfg) }, |
1897 |
{ 0x000d, canonId, EXV_SIMPLE_BINARY_ARRAY(canonCiCfg) }, |
|
1884 | 1898 |
{ 0x000f, canonId, EXV_SIMPLE_BINARY_ARRAY(canonCfCfg) }, |
1885 | 1899 |
{ 0x0012, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPiCfg) }, |
1886 | 1900 |
{ 0x0093, canonId, EXV_BINARY_ARRAY(canonFiCfg, canonFiDef) }, |
... | ... | |
1892 | 1906 |
{ Tag::all, canonCsId, newTiffBinaryElement }, |
1893 | 1907 |
{ Tag::all, canonSiId, newTiffBinaryElement }, |
1894 | 1908 |
{ Tag::all, canonPaId, newTiffBinaryElement }, |
1909 |
{ Tag::all, canonCiId, newTiffBinaryElement }, |
|
1895 | 1910 |
{ Tag::all, canonCfId, newTiffBinaryElement }, |
1896 | 1911 |
{ Tag::all, canonPiId, newTiffBinaryElement }, |
1897 | 1912 |
{ Tag::all, canonFiId, newTiffBinaryElement }, |