Support for Samyang 14mm f/2.8 AE ED AS IF UMC on Canon EF
|Status:||Closed||Start date:||10 Oct 2016|
|Assignee:||Robin Mills||% Done:|
|Category:||lens||Estimated time:||1.00 hour|
the chipped version of the Samyang 14mm is also available for Canon mounts (you already have it for Nikon). However, they seem to report the LensID (247) which is also used by Canon's own 14mm f/2.8. I attached a sample file. It would be great if you could find a way to distinguish those cameras.
Thanks in advance
#1 Updated by Robin Mills 8 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
No problem at all with Exiv2 v0.26 (which is going through our release process). The "Camera Overflow File" enables you to define the lens name for different camera manufacturers. #1034.
Here's the state "out of the box" (on the trunk):
$ exiv2 -pa --grep lens/i http://dev.exiv2.org/attachments/download/1076/6Q1B7275.JPG Exif.CanonCs.LensType Short 1 Canon EF 14mm f/2.8L II USM Exif.CanonCs.Lens Short 3 14.0 mm Exif.Canon.LensModel Ascii 74 14mm Exif.Photo.LensSpecification Rational 4 14/1 14/1 0/1 0/1 Exif.Photo.LensModel Ascii 5 14mm Exif.Photo.LensSerialNumber Ascii 11 0000000000 504 rmills@rmillsmbp:~/gnu/exiv2/trunk $As you have correctly reported, LensType == 247.
$ exiv2 -pv --grep LensType http://dev.exiv2.org/attachments/download/1076/6Q1B7275.JPG 0x0016 CanonCs LensType Short 1 247So edit ~/.exiv2
$ vi ~/.exiv2 $ cat ~/.exiv2 [canon] 247=Samyang 14mm f/2.8 AE ED AS IF UMC [nikon] # 14=Robin's little lens [pentax] # 3 255 0 0=another pentax lens [minolta] # 255=a sony lens [olympus] # 123=somethingAnd now the lens is correctly identified by every application which uses libexiv2.
$ exiv2 -pa --grep LensType http://dev.exiv2.org/attachments/download/1076/6Q1B7275.JPG Exif.CanonCs.LensType Short 1 Samyang 14mm f/2.8 AE ED AS IF UMC $
#3 Updated by Robin Mills 8 months ago
If the real Canon 14mm also has a lensType == 247, it'll be identified by the entry in ~/.exiv2. If somebody has the misfortune to have 2 lenses with the same lensType, ~/.exiv2 will not differentiate.
If have thought about extending the capability of ~/.exiv2 to say something such as:
[canon] Exif.CanonCs.LensType==247 && Exif.Canon.InternalSerialNumber==AD0283869 = My other lensI have no plan to implement a more sophisticated parser at the moment.