Bug 424860 - No EXIF display on CR3 images
Summary: No EXIF display on CR3 images
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Raw (show other bugs)
Version: 7.0.0
Platform: Debian unstable Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-31 13:27 UTC by dzp
Modified: 2020-08-26 04:45 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.1.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dzp 2020-07-31 13:27:56 UTC
SUMMARY

With the digicam package from experimental (4:7.0.0~beta2+dfsg-1+b2) I get no EXIF data for CR3 images.

exiftool shows them perfectly


STEPS TO REPRODUCE
1. Select a CR3 image in digicam
2. Look at the empty exif display

OBSERVED RESULT
No exif data is shown

EXPECTED RESULT
Exif data is shown

SOFTWARE/OS VERSIONS
Windows: -
macOS: -
Linux/KDE Plasma: 5.7.9 (you mean the kernel version, don't you?)
(available in About System)
KDE Plasma Version: 5.19.4 
KDE Frameworks Version:  5.72.0
Qt Version:  5.14.2

ADDITIONAL INFORMATION
-/-
Comment 1 Maik Qualmann 2020-07-31 13:47:15 UTC
Read the problematic of CR3 here:

https://github.com/Exiv2/exiv2/issues/236

Maik
Comment 2 caulier.gilles 2020-07-31 13:56:56 UTC
With CR3 file the Exif extracted are minimal. It's performed by libraw, not Exiv2 shared library as for all other file formats, as Exiv2 refuse to support CR3 container. See this report for details :

https://github.com/Exiv2/exiv2/issues/1229

To resume, i proposed more than one patch to solve the problem, and it have been always dropped as well...

So, now, i will refuse to contribute to Exiv2, as i don't WASTE my time with this project.

So with digiKam we trying to do the best with a fail back solution. libraw permit to extract some Exif information, especially to populate minimum field of database aka the shooting date. If you switch off the tag filers in Exif view, you will seen some properties...

libraw permit to extract more info, but API is really a puzzle. So, it's in my TODO list for later...

Best regards

Gilles Caulier
Comment 3 caulier.gilles 2020-08-16 05:48:21 UTC
Git commit c5afd10f76b1dc89d30cf022ac2ce1728823740a by Gilles Caulier.
Committed on 16/08/2020 at 05:46.
Pushed by cgilles into branch 'master'.

DMetadata::libraw loader: if RAW file contains XMP data, pass the XMP byte-array extracted by libraw to DMetadata instance

M  +7    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +2    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +2    -1    core/libs/rawengine/drawinfo.cpp
M  +6    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/c5afd10f76b1dc89d30cf022ac2ce1728823740a
Comment 4 caulier.gilles 2020-08-16 15:48:32 UTC
I created today a libraw entry in github about to implement an Exif getter :

https://github.com/LibRaw/LibRaw/issues/323

Wait and see.

Gilles Caulier
Comment 5 caulier.gilles 2020-08-24 04:11:29 UTC
Git commit 1db1eab1880bc95bf7ae823031d8dd73698b6b05 by Gilles Caulier.
Committed on 24/08/2020 at 04:09.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract ICC color profile from RAW file for unsupported RAW by Exiv2

M  +8    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +7    -8    core/libs/rawengine/drawdecoder_p.cpp
M  +2    -1    core/libs/rawengine/drawinfo.cpp
M  +5    -0    core/libs/rawengine/drawinfo.h
M  +2    -2    project/bundles/mxe/config.sh

https://invent.kde.org/graphics/digikam/commit/1db1eab1880bc95bf7ae823031d8dd73698b6b05
Comment 6 caulier.gilles 2020-08-24 04:30:17 UTC
Git commit 12ebac700dc187d418937b40bcc536e9d64f2f51 by Gilles Caulier.
Committed on 24/08/2020 at 04:28.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Software creator name for unsupported RAW by Exiv2

M  +5    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +2    -0    core/libs/rawengine/drawinfo.cpp
M  +7    -2    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/12ebac700dc187d418937b40bcc536e9d64f2f51
Comment 7 caulier.gilles 2020-08-24 04:58:56 UTC
Git commit fcd227236d1ab6c277e49f280ef1fdcf54ed59cf by Gilles Caulier.
Committed on 24/08/2020 at 04:58.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract image serial number for unsupported RAW by Exiv2

M  +5    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +2    -0    core/libs/rawengine/drawinfo.cpp
M  +5    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/fcd227236d1ab6c277e49f280ef1fdcf54ed59cf
Comment 8 caulier.gilles 2020-08-24 09:33:11 UTC
Git commit 42c5ba2ac011ff2e3cb2e52402898ccd5d2eafa1 by Gilles Caulier.
Committed on 24/08/2020 at 09:32.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract GPS positions for unsupported RAW by Exiv2

M  +2    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +8    -2    core/libs/metadataengine/engine/metaengine.h
M  +10   -0    core/libs/metadataengine/engine/metaengine_gps.cpp
M  +8    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +7    -0    core/libs/rawengine/drawinfo.cpp
M  +7    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/42c5ba2ac011ff2e3cb2e52402898ccd5d2eafa1
Comment 9 caulier.gilles 2020-08-24 09:44:52 UTC
Git commit 61e6d8e24adb4e61a82e40ae989b2aa85ed32425 by Gilles Caulier.
Committed on 24/08/2020 at 09:42.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Image description for unsupported RAW by Exiv2

M  +1    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -1    core/libs/metadataengine/engine/metaengine.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +1    -0    core/libs/rawengine/drawinfo.cpp
M  +5    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/61e6d8e24adb4e61a82e40ae989b2aa85ed32425
Comment 10 caulier.gilles 2020-08-24 10:14:05 UTC
Git commit 327f9de8e86467b76c1a3d517534a0cd91961a34 by Gilles Caulier.
Committed on 24/08/2020 at 10:12.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Firmware version name for unsupported RAW by Exiv2

M  +6    -1    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +1    -0    core/libs/rawengine/drawinfo.cpp
M  +6    -1    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/327f9de8e86467b76c1a3d517534a0cd91961a34
Comment 11 caulier.gilles 2020-08-24 10:40:00 UTC
Git commit 6d823a508070a8defb3e825c73a209fa57bc2faf by Gilles Caulier.
Committed on 24/08/2020 at 10:39.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract DNG Version string for unsupported RAW by Exiv2

M  +7    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp

https://invent.kde.org/graphics/digikam/commit/6d823a508070a8defb3e825c73a209fa57bc2faf
Comment 12 caulier.gilles 2020-08-24 11:37:06 UTC
Git commit f005cee242b95f25a1debad37eeec6ed64be5aa7 by Gilles Caulier.
Committed on 24/08/2020 at 11:36.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract unique and localized camera model strings for unsupported RAW by Exiv2

M  +10   -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +38   -35   core/libs/rawengine/drawdecoder_p.cpp
M  +2    -0    core/libs/rawengine/drawinfo.cpp
M  +10   -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/f005cee242b95f25a1debad37eeec6ed64be5aa7
Comment 13 caulier.gilles 2020-08-24 11:54:30 UTC
Git commit 68c9f8caa54cec65cfbd77269b74985f3998dfc9 by Gilles Caulier.
Committed on 24/08/2020 at 11:53.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Baseline Exposure value for unsupported RAW by Exiv2

M  +6    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +2    -0    core/libs/rawengine/drawinfo.cpp
M  +5    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/68c9f8caa54cec65cfbd77269b74985f3998dfc9
Comment 14 caulier.gilles 2020-08-24 12:22:15 UTC
Git commit 270edb4551d727341cfa507fd5b022127d622d09 by Gilles Caulier.
Committed on 24/08/2020 at 12:21.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Exif thumbnail for unsupported RAW by Exiv2

M  +6    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +2    -1    core/libs/rawengine/drawinfo.cpp
M  +6    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/270edb4551d727341cfa507fd5b022127d622d09
Comment 15 caulier.gilles 2020-08-25 09:17:08 UTC
Git commit 166cd0069dcc94c2f022e4a9f2f1a96daadbaa76 by Gilles Caulier.
Committed on 25/08/2020 at 09:13.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine: Check if GPS info are parsed and if image description is empty before to host these data in reconstitued Exif container.

M  +9    -2    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +8    -1    core/libs/rawengine/drawdecoder_p.cpp
M  +5    -3    core/libs/rawengine/drawinfo.cpp
M  +1    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/166cd0069dcc94c2f022e4a9f2f1a96daadbaa76
Comment 16 caulier.gilles 2020-08-25 09:36:07 UTC
Git commit 6c429d5f8c4c1ee9faa161f26722ad012af47884 by Gilles Caulier.
Committed on 25/08/2020 at 09:35.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract unique image ID, unique raw data ID, and original raw file name strings for unsupported RAW by Exiv2

M  +21   -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +3    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +3    -0    core/libs/rawengine/drawinfo.cpp
M  +15   -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/6c429d5f8c4c1ee9faa161f26722ad012af47884
Comment 17 caulier.gilles 2020-08-25 10:01:13 UTC
Git commit c637de38ba1b5cbc425b9f2943e8fd209f040502 by Gilles Caulier.
Committed on 25/08/2020 at 10:00.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Ambient Temperature value for unsupported RAW by Exiv2

M  +10   -4    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +32   -30   core/libs/rawengine/drawinfo.cpp
M  +5    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/c637de38ba1b5cbc425b9f2943e8fd209f040502
Comment 18 caulier.gilles 2020-08-25 11:49:10 UTC
Git commit fbbc2bb11e74028bdc75a9620f82d101418f578f by Gilles Caulier.
Committed on 25/08/2020 at 11:47.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Exposure Index value for unsupported RAW by Exiv2

M  +6    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +2    -1    core/libs/rawengine/drawdecoder_p.cpp
M  +4    -96   core/libs/rawengine/drawinfo.cpp
M  +5    -5    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/fbbc2bb11e74028bdc75a9620f82d101418f578f
Comment 19 caulier.gilles 2020-08-25 13:03:17 UTC
Git commit 755305099bc90ec62f701cb824389a137f1c3d42 by Gilles Caulier.
Committed on 25/08/2020 at 13:02.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Lens model, make, and serial strings for unsupported RAW by Exiv2

M  +15   -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +4    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +7    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/755305099bc90ec62f701cb824389a137f1c3d42
Comment 20 caulier.gilles 2020-08-25 13:18:38 UTC
Git commit 9a77f471448d73eee3930a1c3fea12d100ad4b52 by Gilles Caulier.
Committed on 25/08/2020 at 13:17.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Focal Length In 35mm Film for unsupported RAW by Exiv2

M  +5    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +54   -53   core/libs/rawengine/drawdecoder_p.cpp
M  +31   -29   core/libs/rawengine/drawinfo.cpp
M  +1    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/9a77f471448d73eee3930a1c3fea12d100ad4b52
Comment 21 caulier.gilles 2020-08-25 13:36:52 UTC
Git commit 3608fca57055994ec3273d3c6d98af775668a232 by Gilles Caulier.
Committed on 25/08/2020 at 13:36.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract Max aperture Lens value for unsupported RAW by Exiv2

M  +6    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +1    -0    core/libs/rawengine/drawinfo.cpp
M  +3    -2    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/3608fca57055994ec3273d3c6d98af775668a232
Comment 22 caulier.gilles 2020-08-25 13:58:07 UTC
Git commit f965541a39dd63a41f6c7f6dd2df00f8df5f7c84 by Gilles Caulier.
Committed on 25/08/2020 at 13:57.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract flash used mode values for unsupported RAW by Exiv2

M  +5    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +1    -0    core/libs/rawengine/drawinfo.cpp
M  +5    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/f965541a39dd63a41f6c7f6dd2df00f8df5f7c84
Comment 23 caulier.gilles 2020-08-25 15:06:24 UTC
Git commit d9ccd166c13a246fa15e3479354d27dfff4f5fc3 by Gilles Caulier.
Committed on 25/08/2020 at 15:05.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract camera ambient mesurements (depth water, elevation angle, humidity, temperature, etc.) for unsupported RAW by Exiv2

M  +30   -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +7    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +7    -0    core/libs/rawengine/drawinfo.cpp
M  +26   -1    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/d9ccd166c13a246fa15e3479354d27dfff4f5fc3
Comment 24 caulier.gilles 2020-08-25 15:32:43 UTC
Git commit aee10e71aab3942cf4351a15cb90eed15f59810e by Gilles Caulier.
Committed on 25/08/2020 at 15:31.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract metering mode values for unsupported RAW by Exiv2

M  +5    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +1    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +1    -0    core/libs/rawengine/drawinfo.cpp
M  +8    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/aee10e71aab3942cf4351a15cb90eed15f59810e
Comment 25 caulier.gilles 2020-08-25 15:39:49 UTC
Git commit 00883ba716b80cbd0c419278a04ba5612c367e38 by Gilles Caulier.
Committed on 25/08/2020 at 15:39.
Pushed by cgilles into branch 'master'.

RawEngine => MetadataEngine : extract exposure program for unsupported RAW by Exiv2

M  +5    -0    core/libs/metadataengine/dmetadata/dmetadata_libraw.cpp
M  +2    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +2    -0    core/libs/rawengine/drawinfo.cpp
M  +5    -0    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/00883ba716b80cbd0c419278a04ba5612c367e38
Comment 26 caulier.gilles 2020-08-26 04:45:43 UTC
I backported all Exif values extracted by libraw internaly for  non supported RAW files by Exiv2.

It's not perfect but this is the best that we can do in digiKam.

This include CR3 files of course.

If you want to see more info extracted, there is no choice: Exiv2 must be patched   which a new file parser supporting Canon CR3 container. As already explained before, see the Exiv2 team problematic policy with CR3 in this issues :

https://github.com/Exiv2/exiv2/issues/236
https://github.com/Exiv2/exiv2/issues/1229

The whish and the problem must be reported to Exiv2 team by commenting one of these DOWNSTREAM issues.

I close this file now.

Gilles Caulier