Lensfun - Not finding the right lens

I generated vignetting correction data for EF300mm f/2.8L IS USM +1.4x III. darktable doesn’t find the right lens. Where did I go wrong? My guess is that it grabs LensType instead of LensModel.
$ exiv2 -pt 20210820_MG_0263.CR2 |grep -i ‘lens|model|make’

Exif.Image.Make                              Ascii       6  Canon
Exif.Image.Model                             Ascii      13  Canon EOS 6D
Exif.Photo.MakerNote                         Undefined 68236  (Binary value suppressed)
Exif.MakerNote.Offset                        Long        1  996
Exif.MakerNote.ByteOrder                     Ascii       3  II
Exif.CanonCs.LensType                        Short       1  Canon EF 300mm f/2.8L IS
Exif.CanonCs.Lens                            Short       3  420.0 mm
Exif.Canon.ModelID                           Long        1  EOS 6D
Exif.Canon.LensModel                         Ascii      74  EF300mm f/2.8L IS USM +1.4x III
Exif.Photo.LensSpecification                 Rational    4  420/1 420/1 0/1 0/1
Exif.Photo.LensModel                         Ascii      32  EF300mm f/2.8L IS USM +1.4x III
Exif.Photo.LensSerialNumber                  Ascii      11  0000000000

C00 raw file
20210820_MG_0266.CR2 (24.8 MB)

Lensfun vignetting data
lensfun.zip (543 Bytes)

what would be helpful

  1. distro version
  2. exiv2 version
  3. DT version

I suppose that darktable displays somewhere the name of the lens that it finds or decodes with exiv2 in the metadata and use to fetch it in the Lensfun DB

Ubuntu 20.04
exiv2 0.27.2

Follow this Lens Recognition in Exiv2 v026 (and later) - Exiv2

And after you did this you can refresh exif data in darktable

The reason I haven’t used that feature it that the lens recognised is 300/2.8L IS USM without teleconverter 1.4 III.

I will play around with the settings. I also own teleconverter 1.4 II to try. Didn’t have any problem with 1.4 II before so I shouldn’t have it now either.

As I thought, Lens ID is 142 for them all.

What I found is that in darktable it was searching for the name Canon EF 300mm f/2.8L IS
I changed slr-canon.xml from EF300 f/2.8L IS USM to Canon EF 300mm f/2.8L IS and that one works now. So it reads LensType and not LensModel.

x1.4 II and x2 III worked before but now none of the three converters are identified.

C00 files below

300.CR2 (29.4 MB)
300x1_4II.CR2 (29.0 MB)
300x1_4III.CR2 (29.7 MB)
300x2III.CR2 (27.8 MB)

slr-canon.zip (59.6 KB)

If your lens names are not matching, the correct fix is to use a ~/.exiv2 file to map the correct name to your lens.

Changing the name in lensfun means it’ll get over written the next time lensfun updates.

In this case it will be me who sends the data to Lensfun. If it doesnt work for me it will not work for others. If this would be about another lens already in Lensfun, then .exiv2 would be the best solution for just me.

With that said my biggest issue is still that I can get one of the four combinations to work, but not four.

One step closer. I forgot to type extender in the model place in the xml file. Still not working.

If you use the .exiv2 file you can just make the name match whatever lensfun has.

Even extenders? LensID is the same for all four combinations.

You can match on whatever you’d like.

So should I put it like this?

142 = 300 f2.8L IS USM
142 = 300 f2.8L IS USM +1.4II extender
142 = 300 f2.8L IS USM +1.4III extender
142 = 300 f2.8L IS USM +2III extender

You can’t match on the same thing, so find the teleconverter tag and match on that

Any idea about how to match? Haven’t found any more details about /.exiv2 than 142=single lens without extender

The raw files to try on are published above.

142 +1.4x III=EF300mm f/2.8L IS USM +1.4x III extender didn’t work.

I go back to this thread when I’m having issues: Can't locate ~/.exiv2 file - Exiv2

1 Like

Nothing new there. Try yourself with my raw files. The issue here is extenders. Not a single lens. A single lens is easy and that is what you have been linking to all the time.

It seems .exiv2 is not created for a lens with different extenders so the walk around most be something else. Why, for example, is not darktable reading the tags LensModel? A bug?

Tried with my 200/2.8L IS USM II. It works differently. LensType changes with the extender. Well, not for +1.4II and +1.4III. It means that it in this case would be possible to use .exiv2 to point it right, but only to choose one +1.4

C00 files below
200_2III.CR2 (22.3 MB)
200_14III.CR2 (23.9 MB)
200_14II.CR2 (23.5 MB)
200.CR2 (24.5 MB)

I understand your frustration, but its really the fault of the manufacturers. Someone beat you by ~3 years: Wrongly identified Canon 2x extender as 1.4x extender with Tamron lens