Hello
When I import images, since version 1.6.4, the metadata "LensInfo" is not read correctly in the exifs of the photo. I searched a little and I noticed that "LensInfo" corresponds to the data 'UndefinedTag:0xA434'.
I replaced "LensInfo" by "UndefinedTag:0xA434" on line 2849 of the file zpcore/functions/functions.php to solve my problem and it is fixed, I get for example "NIKKOR Z 24-70mm f/4 S", I checked for Canon, Sony and Nikon cameras for version 1.6.5 of ZenPhoto.
Herve
I would think the camera sadly does things off the standard not use the correctly named field… Sadly Exif is a loose standard and it can vary sadly. We use the native PHP exif reading since we removed an very old library doing this recently. I am not sure we will start cover such "camera specialities"…
I can confirm this is happening and opened a ticket for this issue (https://github.com/zenphoto/zenphoto/issues/1479#issue-2672322605)
Please note that UndefinedTag:0xA434 corresponds to LensType and UndefinedTag:0xA432 to LensInfo.
In your example "NIKKOR Z 24-70mm f/4 S" is the LensType (or LensModel) and not LensInfo.
In my original post, I suggested replacing LensInfo with 'UndefinedTag:0xA434' because for example:
in the old exif reader
with 'LensInfo' i get 'EF70-300mm f/4-5.6L IS USM'
and with 'LensType' i get ''
and in exif_read_data() with
'UndefinedTag:0xA432' i get 'a:4:{i:0;s:4:"70/1";i:1;s:5:"300/1";i:2;s:3:"0/0";i:3;s:3:"0/0";}'
and with
'UndefinedTag:0xA434' i get 'EF70-300mm f/4-5.6L IS USM'
which corresponds well to the old exif reader.
We will add some method to our formatting class that can handle both. The "Off way" with the "undefinedTags" and the way following "standard" named fields. We will post on the ticket if we have something to test in the support build. Might take a few days.
I have tested the fix and as i thung after the post of "Fretzl", the results are inverted with the results obtained in "Exifer library". In the old Exifer library, an information as 'EF70-300mm f/4-5.6L IS USM' was put in "EXIFLensInfo" collumn and the "ExifLensType" was null.
Now with the fix this information is put in "ExifLensType" column, it's correct on the principle because it's corresponding with the lens model but how read now the olds data who are all writed in the "EXIFLensInfo" column.
The Exif data "UndefinedTag:0xA434" corresponding with 'EF70-300mm f/4-5.6L IS USM' not put at the good place in the actual database.
I am not sure I understand the problem. The old lib was very old and there is naturally a chance it didn't do things properly.
We mapped the "undefinedTag" ones to the corresponding named LensInfo and LensType Exif fields as discussed above and therefore to their matching database columns.
I really like to hear more oppinions before we work more on this.
I understand, many thanks. I renamed the column "EXIFLensInfo" as "EXIFLensType" in database and vice versa. All is operating on my site with 1.6.6a version.
https://rvm-photo.fr in french and an example of exifs on
https://rvm-photo.fr/urbain/architecture/Convergence-20240903-IMG_0570.jpg
I renamed the column "EXIFLensInfo" as "EXIFLensType" in database and vice versa.
Not sure what you mean, we have both columns already by default. I assume you mean the field config instead. Remember any "Hacking" is on your own risk and you have to redo it on every update.
Anyway, we are following the exif specs according to https://exiftool.org/TagNames/EXIF.html.