Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
exiv2.14488
90_changeset_r3023.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 90_changeset_r3023.diff of Package exiv2.14488
Index: trunk/src/canonmn.cpp =================================================================== --- trunk/src/canonmn.cpp (revision 3022) +++ trunk/src/canonmn.cpp (revision 3023) @@ -60,7 +60,7 @@ }; //! Special treatment pretty-print function for non-unique lens ids. - std::ostream& printCsLensByFocalLength(std::ostream& os, + std::ostream& printCsLensByFocalLengthAndMaxAperture(std::ostream& os, const Value& value, const ExifData* metadata); @@ -429,21 +429,21 @@ { 1, "Canon EF 50mm f/1.8" }, { 2, "Canon EF 28mm f/2.8" }, { 3, "Canon EF 135mm f/2.8 Soft" }, - { 4, "Canon EF 35-105mm f/3.5-4.5 or Sigma Lens" }, // 0 + { 4, "Canon EF 35-105mm f/3.5-4.5 " }, // 0 { 4, "Sigma UC Zoom 35-135mm f/4-5.6" }, // 1 { 5, "Canon EF 35-70mm f/3.5-4.5" }, - { 6, "Canon EF 28-70mm f/3.5-4.5 or Sigma or Tokina Lens" }, // 0 + { 6, "Canon EF 28-70mm f/3.5-4.5" }, // 0 { 6, "Sigma 18-50mm f/3.5-5.6 DC" }, // 1 { 6, "Sigma 18-125mm f/3.5-5.6 DC IF ASP" }, // 2 { 6, "Tokina AF193-2 19-35mm f/3.5-4.5" }, // 3 { 6, "Sigma 28-80mm f/3.5-5.6 II Macro" }, // 4 { 7, "Canon EF 100-300mm f/5.6L" }, - { 8, "Canon EF 100-300mm f/5.6 or Sigma or Tokina Lens" }, // 0 + { 8, "Canon EF 100-300mm f/5.6" }, // 0 { 8, "Sigma 70-300mm f/4-5.6 [APO] DG Macro" }, // 1 { 8, "Tokina AT-X 242 AF 24-200mm f/3.5-5.6" }, // 2 - { 9, "Canon EF 70-210mm f/4 or Sigma Lens" }, // 0 + { 9, "Canon EF 70-210mm f/4" }, // 0 { 9, "Sigma 55-200mm f/4-5.6 DC" }, // 1 - { 10, "Canon EF 50mm f/2.5 Macro or Sigma Lens" }, // 0 + { 10, "Canon EF 50mm f/2.5 Macro" }, // 0 { 10, "Sigma 50mm f/2.8 EX" }, // 1 { 10, "Sigma 28mm f/1.8" }, // 2 { 10, "Sigma 105mm f/2.8 Macro EX" }, // 3 @@ -457,27 +457,27 @@ { 18, "Canon EF 28-70mm f/3.5-4.5" }, { 20, "Canon EF 100-200mm f/4.5A" }, { 21, "Canon EF 80-200mm f/2.8L" }, - { 22, "Canon EF 20-35mm f/2.8L or Tokina Lens" }, // 0 + { 22, "Canon EF 20-35mm f/2.8L" }, // 0 { 22, "Tokina AT-X 280 AF PRO 28-80mm f/2.8 Aspherical" }, // 1 { 23, "Canon EF 35-105mm f/3.5-4.5" }, { 24, "Canon EF 35-80mm f/4-5.6 Power Zoom" }, { 25, "Canon EF 35-80mm f/4-5.6 Power Zoom" }, - { 26, "Canon EF 100mm f/2.8 Macro or Cosina or Tamron or Carl Zeiss Lens" }, // 0 + { 26, "Canon EF 100mm f/2.8 Macro" }, // 0 { 26, "Cosina 100mm f/3.5 Macro AF" }, // 1 { 26, "Tamron SP AF 90mm f/2.8 Di Macro" }, // 2 { 26, "Tamron SP AF 180mm f/3.5 Di Macro" }, // 3 { 26, "Carl Zeiss Planar T* 50mm f/1.4" }, // 4 { 27, "Canon EF 35-80mm f/4-5.6" }, - { 28, "Canon EF 80-200mm f/4.5-5.6 or Tamron Lens" }, // 0 + { 28, "Canon EF 80-200mm f/4.5-5.6" }, // 0 { 28, "Tamron SP AF 28-105mm f/2.8 LD Aspherical IF" }, // 1 { 28, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro" }, // 2 { 28, "Tamron AF 70-300mm f/4.5-5.6 Di LD 1:2 Macro Zoom" }, // 3 { 28, "Tamron AF Aspherical 28-200mm f/3.8-5.6" }, // 4 { 29, "Canon EF 50mm f/1.8 MkII" }, { 30, "Canon EF 35-105mm f/4.5-5.6" }, - { 31, "Canon EF 75-300mm f/4-5.6 or Tamron Lens" }, // 0 + { 31, "Canon EF 75-300mm f/4-5.6" }, // 0 { 31, "Tamron SP AF 300mm f/2.8 LD IF" }, // 1 - { 32, "Canon EF 24mm f/2.8 or Sigma Lens" }, // 0 + { 32, "Canon EF 24mm f/2.8" }, // 0 { 32, "Sigma 15mm f/2.8 EX Fisheye" }, // 1 { 33, "Voigtlander or Carl Zeiss Lens" }, // 0 { 33, "Voigtlander Ultron 40mm f/2 SLII Aspherical" }, // 1 @@ -489,7 +489,7 @@ { 33, "Carl Zeiss Planar 50mm T* f/1.4 ZE" }, // 7 { 35, "Canon EF 35-80mm f/4-5.6" }, { 36, "Canon EF 38-76mm f/4.5-5.6" }, - { 37, "Canon EF 35-80mm f/4-5.6 or Tamron Lens" }, // 0 + { 37, "Canon EF 35-80mm f/4-5.6" }, // 0 { 37, "Tamron 70-200mm f/2.8 Di LD IF Macro" }, // 1 { 37, "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20" }, // 2 { 37, "Tamron SP AF 17-50mm f/2.8 XR Di II VC LD Aspherical [IF] " }, // 3 @@ -498,7 +498,7 @@ { 39, "Canon EF 75-300mm f/4-5.6" }, { 40, "Canon EF 28-80mm f/3.5-5.6" }, { 41, "Canon EF 28-90mm f/4-5.6" }, - { 42, "Canon EF 28-200mm f/3.5-5.6 or Tamron Lens" }, // 0 + { 42, "Canon EF 28-200mm f/3.5-5.6" }, // 0 { 42, "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20" }, // 1 { 43, "Canon EF 28-105mm f/4-5.6" }, { 44, "Canon EF 90-300mm f/4.5-5.6" }, @@ -518,7 +518,7 @@ { 127, "Canon TS-E 90mm f/2.8" }, { 129, "Canon EF 300mm f/2.8L" }, { 130, "Canon EF 50mm f/1.0L" }, - { 131, "Canon EF 28-80mm f/2.8-4L or Sigma Lens" }, // 0 + { 131, "Canon EF 28-80mm f/2.8-4L" }, // 0 { 131, "Sigma 8mm f/3.5 EX DG Circular Fisheye" }, // 1 { 131, "Sigma 17-35mm f/2.8-4 EX DG Aspherical HSM" }, // 2 { 131, "Sigma 17-70mm f/2.8-4.5 DC Macro" }, // 3 @@ -530,7 +530,7 @@ { 134, "Canon EF 600mm f/4L IS" }, { 135, "Canon EF 200mm f/1.8L" }, { 136, "Canon EF 300mm f/2.8L" }, - { 137, "Canon EF 85mm f/1.2L or Sigma or Tamron Lens" }, // 0 + { 137, "Canon EF 85mm f/1.2L" }, // 0 { 137, "Sigma 18-50mm f/2.8-4.5 DC OS HSM" }, // 1 { 137, "Sigma 50-200mm f/4-5.6 DC OS HSM" }, // 2 { 137, "Sigma 18-250mm f/3.5-6.3 DC OS HSM" }, // 3 @@ -558,31 +558,31 @@ { 147, "Canon EF 35-135mm f/4-5.6 USM" }, { 148, "Canon EF 28-80mm f/3.5-5.6 USM" }, { 149, "Canon EF 100mm f/2 USM" }, - { 150, "Canon EF 14mm f/2.8L or Sigma Lens" }, // 0 + { 150, "Canon EF 14mm f/2.8L" }, // 0 { 150, "Sigma 20mm EX f/1.8" }, // 1 { 150, "Sigma 30mm f/1.4 DC HSM" }, // 2 { 150, "Sigma 24mm f/1.8 DG Macro EX" }, // 3 { 151, "Canon EF 200mm f/2.8L" }, - { 152, "Canon EF 300mm f/4L IS or Sigma Lens" }, // 0 + { 152, "Canon EF 300mm f/4L IS" }, // 0 { 152, "Sigma 12-24mm f/4.5-5.6 EX DG ASPHERICAL HSM" }, // 1 { 152, "Sigma 14mm f/2.8 EX Aspherical HSM" }, // 2 { 152, "Sigma 10-20mm f/4-5.6" }, // 3 { 152, "Sigma 100-300mm f/4" }, // 4 - { 153, "Canon EF 35-350mm f/3.5-5.6L or Sigma og Tamron Lens" }, // 0 + { 153, "Canon EF 35-350mm f/3.5-5.6L" }, // 0 { 153, "Sigma 50-500mm f/4-6.3 APO HSM EX" }, // 1 { 153, "Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical [IF] Macro" }, // 2 { 153, "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical [IF] Macro Model A14" }, // 3 { 153, "Tamron 18-250mm f/3.5-6.3 Di II LD Aspherical [IF] Macro" }, // 4 { 154, "Canon EF 20mm f/2.8 USM" }, { 155, "Canon EF 85mm f/1.8 USM" }, - { 156, "Canon EF 28-105mm f/3.5-4.5 USM or Tamron Lens" }, // 0 - { 156, "Tamron SP AF 70-300mm F4-5.6 Di VC USD" }, // 1 - { 160, "Canon EF 20-35mm f/3.5-4.5 USM or Tamron or Tokina Lens" }, // 0 + { 156, "Canon EF 28-105mm f/3.5-4.5 USM" }, // 0 + { 156, "Tamron SP AF 70-300mm f/4-5.6 Di VC USD" }, // 1 + { 160, "Canon EF 20-35mm f/3.5-4.5 USM" }, // 0 { 160, "Tamron AF 19-35mm f/3.5-4.5" }, // 1 { 160, "Tokina AT-X 124 AF 12-24mm f/4 DX" }, // 2 { 160, "Tokina AT-X 107 AF DX Fish-eye 10-17mm f/3.5-4.5" }, // 3 { 160, "Tokina AT-X 116 PRO DX AF 11-16mm f/2.8" }, // 4 - { 161, "Canon EF 28-70mm f/2.8L or Sigma or Tamron Lens" }, // 0 + { 161, "Canon EF 28-70mm f/2.8L" }, // 0 { 161, "Sigma 24-70mm EX f/2.8" }, // 1 { 161, "Sigma 28-70mm f/2.8 EX" }, // 2 { 161, "Tamron AF 17-50mm f/2.8 Di-II LD Aspherical" }, // 3 @@ -595,7 +595,7 @@ { 166, "Canon EF 70-200mm f/2.8 L + 1.4x" }, { 167, "Canon EF 70-200mm f/2.8 L + 2x" }, { 168, "Canon EF 28mm f/1.8 USM" }, - { 169, "Canon EF 17-35mm f/2.8L or Sigma Lens" }, // 0 + { 169, "Canon EF 17-35mm f/2.8L" }, // 0 { 169, "Sigma 18-200mm f/3.5-6.3 DC OS" }, // 1 { 169, "Sigma 15-30mm f/3.5-4.5 EX DG Aspherical" }, // 2 { 169, "Sigma 18-50mm f/2.8 Macro" }, // 3 @@ -606,10 +606,10 @@ { 170, "Canon EF 200mm f/2.8L II" }, { 171, "Canon EF 300mm f/4L" }, { 172, "Canon EF 400mm f/5.6L" }, - { 173, "Canon EF 180mm Macro f/3.5L or Sigma Lens" }, // 0 + { 173, "Canon EF 180mm Macro f/3.5L" }, // 0 { 173, "Sigma 180mm EX HSM Macro f/3.5" }, // 1 { 173, "Sigma APO Macro 150mm f/3.5 EX DG IF HSM" }, // 2 - { 174, "Canon EF 135mm f/2L or Sigma Lens" }, // 0 + { 174, "Canon EF 135mm f/2L" }, // 0 { 174, "Sigma 70-200mm f/2.8 EX DG APO OS HSM" }, // 1 { 174, "Sigma 50-500mm f/4.5-6.3 APO DG OS HSM" }, // 2 { 175, "Canon EF 400mm f/2.8L" }, @@ -620,7 +620,7 @@ { 180, "Canon EF 35mm f/1.4L" }, { 181, "Canon EF 100-400mm f/4.5-5.6L IS + 1.4x" }, { 182, "Canon EF 100-400mm f/4.5-5.6L IS + 2x" }, - { 183, "Canon EF 100-400mm f/4.5-5.6L IS or Sigma Lens" }, // 0 + { 183, "Canon EF 100-400mm f/4.5-5.6L IS" }, // 0 { 183, "Sigma 150mm f/2.8 EX DG OS HSM APO Macro" }, // 1 { 184, "Canon EF 400mm f/2.8L + 2x" }, { 185, "Canon EF 600mm f/4L IS" }, @@ -708,31 +708,31 @@ //! List of lens ids which require special treatment with the medicine const LensIdFct lensIdFct[] = { - { 4, 0 }, // no known medicine - { 6, printCsLensByFocalLength }, - { 8, printCsLensByFocalLength }, - { 9, printCsLensByFocalLength }, - { 10, printCsLensByFocalLength }, // works partly - { 22, printCsLensByFocalLength }, - { 26, printCsLensByFocalLength }, // works partly - { 28, printCsLensByFocalLength }, - { 31, printCsLensByFocalLength }, - { 32, printCsLensByFocalLength }, - { 33, printCsLensByFocalLength }, // not tested - { 37, printCsLensByFocalLength }, - { 42, printCsLensByFocalLength }, - { 131, printCsLensByFocalLength }, - { 137, printCsLensByFocalLength }, // not tested - { 150, printCsLensByFocalLength }, - { 152, printCsLensByFocalLength }, - { 153, printCsLensByFocalLength }, - { 156, printCsLensByFocalLength }, - { 160, printCsLensByFocalLength }, - { 161, printCsLensByFocalLength }, - { 169, printCsLensByFocalLength }, - { 173, printCsLensByFocalLength }, // works partly - { 174, printCsLensByFocalLength }, // not tested - { 183, printCsLensByFocalLength } // not tested + { 4, printCsLensByFocalLengthAndMaxAperture }, // not tested + { 6, printCsLensByFocalLengthAndMaxAperture }, + { 8, printCsLensByFocalLengthAndMaxAperture }, + { 9, printCsLensByFocalLengthAndMaxAperture }, + { 10, printCsLensByFocalLengthAndMaxAperture }, // works partly + { 22, printCsLensByFocalLengthAndMaxAperture }, + { 26, printCsLensByFocalLengthAndMaxAperture }, // works partly + { 28, printCsLensByFocalLengthAndMaxAperture }, + { 31, printCsLensByFocalLengthAndMaxAperture }, + { 32, printCsLensByFocalLengthAndMaxAperture }, + { 33, printCsLensByFocalLengthAndMaxAperture }, // not tested + { 37, printCsLensByFocalLengthAndMaxAperture }, + { 42, printCsLensByFocalLengthAndMaxAperture }, + { 131, printCsLensByFocalLengthAndMaxAperture }, + { 137, printCsLensByFocalLengthAndMaxAperture }, // not tested + { 150, printCsLensByFocalLengthAndMaxAperture }, + { 152, printCsLensByFocalLengthAndMaxAperture }, + { 153, printCsLensByFocalLengthAndMaxAperture }, + { 156, printCsLensByFocalLengthAndMaxAperture }, + { 160, printCsLensByFocalLengthAndMaxAperture }, + { 161, printCsLensByFocalLengthAndMaxAperture }, + { 169, printCsLensByFocalLengthAndMaxAperture }, + { 173, printCsLensByFocalLengthAndMaxAperture }, // works partly + { 174, printCsLensByFocalLengthAndMaxAperture }, // not tested + { 183, printCsLensByFocalLengthAndMaxAperture } // not tested }; //! FlashActivity, tag 0x001c @@ -1298,25 +1298,27 @@ } //! Helper structure - struct LensTypeAndFocalLength { + struct LensTypeAndFocalLengthAndMaxAperture { long lensType_; //!< Lens type std::string focalLength_; //!< Focal length + std::string maxAperture_; //!< Aperture }; //! Compare tag details with a lens entry - bool operator==(const TagDetails& td, const LensTypeAndFocalLength& ltfl) { + bool operator==(const TagDetails& td, const LensTypeAndFocalLengthAndMaxAperture& ltfl) { return ( td.val_ == ltfl.lensType_ - && std::string(td.label_).find(ltfl.focalLength_) != std::string::npos); + && std::string(td.label_).find(ltfl.focalLength_) != std::string::npos + && std::string(td.label_).find(ltfl.maxAperture_) != std::string::npos); } - std::ostream& printCsLensByFocalLength(std::ostream& os, + std::ostream& printCsLensByFocalLengthAndMaxAperture(std::ostream& os, const Value& value, const ExifData* metadata) { if ( !metadata || value.typeId() != unsignedShort || value.count() == 0) return os << value; - LensTypeAndFocalLength ltfl; + LensTypeAndFocalLengthAndMaxAperture ltfl; ltfl.lensType_ = value.toLong(); ExifKey key("Exif.CanonCs.Lens"); @@ -1340,6 +1342,23 @@ } if (ltfl.focalLength_.empty()) return os << value; + ExifKey key2("Exif.CanonCs.MaxAperture"); + pos = metadata->findKey(key2); + if ( pos != metadata->end() + && pos->value().count() == 1 + && pos->value().typeId() == unsignedShort) { + + long val = static_cast<int16_t>(pos->value().toLong(0)); + if (val > 0) + { + std::ostringstream oss; + oss << std::setprecision(2); + oss << fnumber(canonEv(val)); + ltfl.maxAperture_ = oss.str(); + } + } + if (ltfl.maxAperture_.empty()) return os << value; + const TagDetails* td = find(canonCsLensType, ltfl); if (!td) return os << value; return os << td->label_;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor