diff --git a/Sigma_14-24mm_F2.8_DG_HSM_A_for_EOS.exv b/Sigma_14-24mm_F2.8_DG_HSM_A_for_EOS.exv new file mode 100644 index 0000000000..59c965e19f Binary files /dev/null and b/Sigma_14-24mm_F2.8_DG_HSM_A_for_EOS.exv differ diff --git a/Sigma_28mm_F1.4_DG_HSM_A_for_EOS.exv b/Sigma_28mm_F1.4_DG_HSM_A_for_EOS.exv new file mode 100644 index 0000000000..e33695e80a Binary files /dev/null and b/Sigma_28mm_F1.4_DG_HSM_A_for_EOS.exv differ diff --git a/Sigma_35mm_F1.4_DG_HSM_A_for_EOS.exv b/Sigma_35mm_F1.4_DG_HSM_A_for_EOS.exv new file mode 100644 index 0000000000..859ea7e415 Binary files /dev/null and b/Sigma_35mm_F1.4_DG_HSM_A_for_EOS.exv differ diff --git a/Sigma_40mm_F1.4_DG_HSM_A_for_EOS.exv b/Sigma_40mm_F1.4_DG_HSM_A_for_EOS.exv new file mode 100644 index 0000000000..51a91684cd Binary files /dev/null and b/Sigma_40mm_F1.4_DG_HSM_A_for_EOS.exv differ diff --git a/Sigma_50mm_F1.4_DG_HSM_A_for_EOS.exv b/Sigma_50mm_F1.4_DG_HSM_A_for_EOS.exv new file mode 100644 index 0000000000..6546bde251 Binary files /dev/null and b/Sigma_50mm_F1.4_DG_HSM_A_for_EOS.exv differ diff --git a/Sigma_60-600mm_F4.5-6.3_DG_OS_HSM_S_for_EOS.exv b/Sigma_60-600mm_F4.5-6.3_DG_OS_HSM_S_for_EOS.exv new file mode 100644 index 0000000000..46e113efe8 Binary files /dev/null and b/Sigma_60-600mm_F4.5-6.3_DG_OS_HSM_S_for_EOS.exv differ diff --git a/src/canonmn_int.cpp b/src/canonmn_int.cpp index dea2ce4eee..d1e26903e2 100644 --- a/src/canonmn_int.cpp +++ b/src/canonmn_int.cpp @@ -1054,7 +1054,13 @@ namespace Exiv2 { //{ 254, "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 F017" }, // 2 model released in 2016 { 255, "Sigma 24-105mm f/4 DG OS HSM | A" }, // 0 { 255, "Sigma 180mm f/2.8 EX DG OS HSM APO Macro" }, // 1 - { 368, "Sigma 18-35mm f/1.8 DC HSM | A" }, + { 368, "Sigma 18-35mm f/1.8 DC HSM | A" }, // 0 + { 368, "Sigma 50mm f/1.4 DG HSM | A" }, // 1 + { 368, "Sigma 40mm f/1.4 DG HSM | A" }, // 2 + { 368, "Sigma 35mm f/1.4 DG HSM | A" }, // 3 + { 368, "Sigma 28mm f/1.4 DG HSM | A" }, // 4 + { 368, "Sigma 14-24mm f/2.8 DG HSM | A" }, // 5 + { 368, "Sigma 60-600mm f/4.5-6.3 DG OS HSM | S" }, // 6 { 488, "Canon EF-S 15-85mm f/3.5-5.6 IS USM" }, { 489, "Canon EF 70-300mm f/4-5.6L IS USM" }, { 490, "Canon EF 8-15mm f/4L Fisheye USM" }, @@ -1159,6 +1165,7 @@ namespace Exiv2 { { 250, printCsLensByFocalLength }, // not tested { 254, printCsLensByFocalLength }, { 255, printCsLensByFocalLength }, // not tested + { 368, printCsLensByFocalLengthAndMaxAperture }, // all but 18-35mm tested with .cr2 images { 491, printCsLensByFocalLength }, { 493, printCsLensByFocalLength }, // not tested { 624, printCsLensByFocalLengthTC }, @@ -2202,6 +2209,9 @@ namespace Exiv2 { else if (frac == 0x14) { frac = 64.0F / 3; } + else if ((val == 160) && (frac == 0x08)) { // for Sigma f/6.3 lenses that report f/6.2 to camera + frac = 30.0F / 3; + } return sign * (val + frac) / 32.0F; } diff --git a/tests/bugfixes/github/test_pr_1454.py b/tests/bugfixes/github/test_pr_1454.py new file mode 100644 index 0000000000..d23aa9d09b --- /dev/null +++ b/tests/bugfixes/github/test_pr_1454.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- + +import system_tests + +class CanonSigmaLens_28mm_F14_DG_HSM_A(metaclass=system_tests.CaseMeta): + url = "https://github.com/Exiv2/exiv2/pull/1454" + + filename = "$data_path/Sigma_28mm_F1.4_DG_HSM_A_for_EOS.exv" + commands = ["$exiv2 -pa --grep lensType/i $filename"] + stderr = [""] + stdout = ["" + """Exif.CanonCs.LensType Short 1 Sigma 28mm f/1.4 DG HSM | A +""" +] + retval = [0] + + +class CanonSigmaLens_35mm_F14_DG_HSM_A(metaclass=system_tests.CaseMeta): + url = "https://github.com/Exiv2/exiv2/pull/1454" + + filename = "$data_path/Sigma_35mm_F1.4_DG_HSM_A_for_EOS.exv" + commands = ["$exiv2 -pa --grep lensType/i $filename"] + stderr = [""] + stdout = ["" + """Exif.CanonCs.LensType Short 1 Sigma 35mm f/1.4 DG HSM | A +""" +] + retval = [0] + +class CanonSigmaLens_40mm_F14_DG_HSM_A(metaclass=system_tests.CaseMeta): + url = "https://github.com/Exiv2/exiv2/pull/1454" + + filename = "$data_path/Sigma_40mm_F1.4_DG_HSM_A_for_EOS.exv" + commands = ["$exiv2 -pa --grep lensType/i $filename"] + stderr = [""] + stdout = ["" + """Exif.CanonCs.LensType Short 1 Sigma 40mm f/1.4 DG HSM | A +""" +] + retval = [0] + +class CanonSigmaLens_50mm_F14_DG_HSM_A(metaclass=system_tests.CaseMeta): + url = "https://github.com/Exiv2/exiv2/pull/1454" + + filename = "$data_path/Sigma_50mm_F1.4_DG_HSM_A_for_EOS.exv" + commands = ["$exiv2 -pa --grep lensType/i $filename"] + stderr = [""] + stdout = ["" + """Exif.CanonCs.LensType Short 1 Sigma 50mm f/1.4 DG HSM | A +""" +] + retval = [0] + +class CanonSigmaLens_14_24mm_F28_DG_HSM_A(metaclass=system_tests.CaseMeta): + url = "https://github.com/Exiv2/exiv2/pull/1454" + + filename = "$data_path/Sigma_14-24mm_F2.8_DG_HSM_A_for_EOS.exv" + commands = ["$exiv2 -pa --grep lensType/i $filename"] + stderr = [""] + stdout = ["" + """Exif.CanonCs.LensType Short 1 Sigma 14-24mm f/2.8 DG HSM | A +""" +] + retval = [0] + +class CanonSigmaLens_60_600mm_F45_63_DG_OS_HSM_S(metaclass=system_tests.CaseMeta): + url = "https://github.com/Exiv2/exiv2/pull/1454" + + filename = "$data_path/Sigma_60-600mm_F4.5-6.3_DG_OS_HSM_S_for_EOS.exv" + commands = ["$exiv2 -pa --grep lensType/i $filename"] + stderr = [""] + stdout = ["" + """Exif.CanonCs.LensType Short 1 Sigma 60-600mm f/4.5-6.3 DG OS HSM | S +""" +] + retval = [0] +