Feature #1252

Detect Sigma 120-300 EX on Canon

Added by Markus Durzinsky 4 months ago. Updated 4 months ago.

Status:ClosedStart date:13 Nov 2016
Priority:NormalDue date:
Assignee:Robin Mills% Done:

100%

Category:lensEstimated time:1.00 hour
Target version:0.26

Description

The list of Sigma lenses for Canon EOS is missing the Sigma 120-300mm f/2.8 EX APO DG OS HSM. It shares the same value 174 with the Sigma 150-500mm f/5-6.3 APO DG OS HSM and some other lenses.
I cannot provide a manufacturer link, as the lens is discontinued by Sigma and replaced by the new Art series 120-300.

Attached are sample images of the two 174 lenses I own. They are both correctly detected with the provided patch. For the lens name, I used the same name scheme as in the Sigma 70-200mm f/2.8 EX DG APO OS HSM, which also shares the 174 value in canonmn.cpp.

sigma_120_300_ex.patch Magnifier - Patch for canonmn.cpp to add the Sigma 120-300 EX (762 Bytes) Markus Durzinsky, 13 Nov 2016 11:13

sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg - Sigma 120 300 EX sample image (682 KB) Markus Durzinsky, 13 Nov 2016 11:13

sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg - Sigma 150 500 sample image (663 KB) Markus Durzinsky, 13 Nov 2016 11:13

Associated revisions

Revision 4684
Added by Robin Mills 4 months ago

#1252 Patch submitted. Thank You to Markus for the patch and test files. Test suite updated appropriately.

History

#1 Updated by Markus Durzinsky 4 months ago

Patched exiv2 results with the images.

> exiv2 -pv *sample1.jpg | grep LensType
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  0x0016 CanonCs      LensType                    Short       1  174
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  0x0016 CanonCs      LensType                    Short       1  174
> exiv2 -pt *sample1.jpg | grep LensType
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.LensType                        Short       1  Sigma 120-300mm f/2.8 EX APO DG OS HSM
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.LensType                        Short       1  Sigma 150-500mm f/5-6.3 APO DG OS HSM

#2 Updated by Robin Mills 4 months ago

  • Category set to lens
  • Status changed from New to Closed
  • Assignee set to Robin Mills
  • Target version set to 0.26
  • % Done changed from 0 to 100
  • Estimated time set to 1.00

Markus

Thanks for the patch. I have reviewed and submitted your patch as it passes the test suite. r4684.

Please read #1251 for a discussion about lens recognition in v0.26.

Thanks for the test image. Here's the behaviour before/after your patch:

645 rmills@rmillsmbp:~/gnu/exiv2/trunk $ exiv2 -pa --grep lens/i sigma_*.jpg
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.LensType                        Short       1  174
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.Lens                            Short       3  120.0 - 300.0 mm
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.Canon.LensModel                         Ascii      74  120-300mm
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensSpecification                 Rational    4  120/1 300/1 0/1 0/1
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensModel                         Ascii      10  120-300mm
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensSerialNumber                  Ascii      11  0000000000

sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.LensType                        Short       1  Sigma 150-500mm f/5-6.3 APO DG OS HSM
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.Lens                            Short       3  150.0 - 500.0 mm
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.Canon.LensModel                         Ascii      74  150-500mm
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensSpecification                 Rational    4  150/1 500/1 0/1 0/1
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensModel                         Ascii      10  150-500mm
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensSerialNumber                  Ascii      11  0000000000
646 rmills@rmillsmbp:~/gnu/exiv2/trunk $ makes
make
warning: no debug symbols in executable (-arch x86_64)
     20     423    6304
sudo make install
    108     602    8275
647 rmills@rmillsmbp:~/gnu/exiv2/trunk $ exiv2 -pa --grep lens/i sigma_*.jpg
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.LensType                        Short       1  Sigma 120-300mm f/2.8 EX APO DG OS HSM
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.Lens                            Short       3  120.0 - 300.0 mm
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.Canon.LensModel                         Ascii      74  120-300mm
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensSpecification                 Rational    4  120/1 300/1 0/1 0/1
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensModel                         Ascii      10  120-300mm
sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensSerialNumber                  Ascii      11  0000000000

sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.LensType                        Short       1  Sigma 150-500mm f/5-6.3 APO DG OS HSM
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.CanonCs.Lens                            Short       3  150.0 - 500.0 mm
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.Canon.LensModel                         Ascii      74  150-500mm
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensSpecification                 Rational    4  150/1 500/1 0/1 0/1
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensModel                         Ascii      10  150-500mm
sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg  Exif.Photo.LensSerialNumber                  Ascii      11  0000000000
648 rmills@rmillsmbp:~/gnu/exiv2/trunk $ 

I've extracted the metadata from your test images and added them to our test suite as test/data/exiv2-bug1252a.exv and test/data/exiv2-bug1252b.exv :

648 rmills@rmillsmbp:~/gnu/exiv2/trunk $ exiv2 -ea --verbose --force sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg 
File 1/1: sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg
Writing Exif data from sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg to ./sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.exv
Writing XMP data from sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.jpg to ./sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.exv

649 rmills@rmillsmbp:~/gnu/exiv2/trunk $ mv sigma_120_300_2.8_EX_APO_DG_OS_HSM_sample1.exv test/data/exiv2-bug1252a.exv

650 rmills@rmillsmbp:~/gnu/exiv2/trunk $ exiv2 -ea --verbose --force sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg 
File 1/1: sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg
Writing Exif data from sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg to ./sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.exv
Writing XMP data from sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.jpg to ./sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.exv

651 rmills@rmillsmbp:~/gnu/exiv2/trunk $ mv sigma_150_500_5_6.3_APO_DG_OS_HSM_sample1.exv test/data/exiv2-bug1252b.exv

I've update the test suite appropriately as a "regression detector" should your patch be broken by a future change in canonmn.cpp.

Thank you for using Exiv2 and contributing to its development.

Robin

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux