Bug 405700 - Lensfun supported Camera is missing
Summary: Lensfun supported Camera is missing
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Editor-LensCorrection (other bugs)
Version First Reported In: 6.0.0
Platform: Microsoft Windows Microsoft Windows
: NOR minor
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-20 20:18 UTC by Harald
Modified: 2019-03-28 20:40 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.1.0
Sentry Crash Report:


Attachments
Screenshot Dialog Camera Model (568.70 KB, image/png)
2019-03-20 20:18 UTC, Harald
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Harald 2019-03-20 20:18:46 UTC
Created attachment 118950 [details]
Screenshot Dialog Camera Model

SUMMARY
LibRAW 0.19.2 support Camera Canon G9x. But Profiles are missing in DigiKam 6.0.0.

STEPS TO REPRODUCE
1. Open RAW File .cr2
2. select edit
3. select Vendor: Canon,  select Model Powershot G9x missing !

OBSERVED RESULT
no Profile Powershot G9x 

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: Windows 7
Comment 1 Maik Qualmann 2019-03-20 21:00:12 UTC
In the list of supported RAW cameras is the G9 X included. What you mean, however, has nothing to do with LibRaw. It is the list of supported cameras for lens correction by Lensfun. We have no influence on the support, please report it to the Lensfun project.

Maik
Comment 2 Harald 2019-03-20 21:10:53 UTC
Yes G9 X is includes in the List of supported Cameras. I think it´s not a problem of libraw, but of digikam. I can´t find her in DigiKam. In Digikam list of models she is missing. See my Screenshot.

Greetings from cologne
Harald
Comment 3 Maik Qualmann 2019-03-20 21:17:55 UTC
It's about lens correction? The Lensfun Project has nothing to do with LibRaw, Libraw is used to open RAW images. Lensfun does not support all available cameras. Look at the Lensfun Project page, there is how you can help in supporting your camera.

Maik
Comment 4 Harald 2019-03-20 21:40:58 UTC
Thank you, now I understand, it´s a problem of an old Lenfun version.
Digikam use an old version Lensfun 0.3.2 from 2015! 
The current version is 3.9.5 from 2018.

https://sourceforge.net/projects/lensfun/files/

Harald
Comment 5 Maik Qualmann 2019-03-20 21:54:01 UTC
Lensfun-0.3.95 is an alpha release and the API is currently not stable. Unfortunately, since 2015, no new version has been officially released, even my current Linux version offers only version 0.3.2. I think Gilles had already tried version 0.3.95 in the Windows bundle to integrate, but this was too unstable. What might work would be to use a more recent lens database.

Maik
Comment 6 caulier.gilles 2019-03-20 21:56:50 UTC
The current digiKam 6.1.0 pre-version for Windows use current code of LensFun from sourceforge GIT repository : 

https://cgit.kde.org/digikam.git/tree/project/bundles/3rdparty/ext_lensfun/CMakeLists.txt#n15

Try the installer available here :

https://files.kde.org/digikam/

Gilles Caulier
Comment 7 caulier.gilles 2019-03-21 12:50:30 UTC
I can confirm this dysfunction with 6.1.0. Even if we use LensFun from Git/master, Canon/G9X is missing.

https://imgur.com/DFElU0G

The question is : LensFun has really a profile for this camera ?

Gilles Caulier
Comment 8 caulier.gilles 2019-03-21 12:52:31 UTC
Yes G9X is included in Lensfun database :

https://sourceforge.net/p/lensfun/code/ci/master/tree/data/db/compact-canon.xml

Gilles Caulier
Comment 9 caulier.gilles 2019-03-21 13:02:14 UTC
MAik,

It sound like the problem is located in digiKam. Look my screenshot :

https://imgur.com/8wIUNxn

I simply open the lensfun Canon XML database in text editor and G9X is well present in digiKam 6.1.0 installer...

2 possible issues :

- Lensfun DB has the data but the profile is not yet suitable and black listed.
- digiKam lensfun DB parser drop this entry because we still using a lots of deprecated methods from Lensfun API which introduce this dysfunction.

Gilles
Comment 10 caulier.gilles 2019-03-21 13:11:11 UTC
Same problem under Linux with AppImage 6.1.0:

https://imgur.com/R5KOLE7

Gilles
Comment 11 caulier.gilles 2019-03-21 13:13:14 UTC
This is the list of deprecated warnings generated while compilation when we use LensFun API from git/master :

[  5%] Building CXX object core/libs/dimg/CMakeFiles/dimg_src.dir/filters/lens/lensfunfilter.cpp.o
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp: In destructor ‘virtual Digikam::LensFunFilter::~LensFunFilter()’:
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp:82:30: warning: ‘void lfModifier::Destroy()’ is deprecated [-Wdeprecated-declarations]
         d->modifier->Destroy();
                              ^
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp:33:
/usr/include/lensfun/lensfun.h:2471:21: note: declared here
     DEPRECATED void Destroy ();
                     ^~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp: In member function ‘virtual void Digikam::LensFunFilter::filterImage()’:
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp:197:44: warning: ‘static lfModifier* lfModifier::Create(const lfLens*, float, int, int)’ is deprecated [-Wdeprecated-declarations]
     d->modifier              = lfModifier::Create(d->iface->usedLens(),
                                            ^~~~~~
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp:33:
/usr/include/lensfun/lensfun.h:2414:35: note: declared here
     DEPRECATED static lfModifier *Create (const lfLens *lens, float crop, int width, int height);
                                   ^~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp:200:70: warning: ‘static lfModifier* lfModifier::Create(const lfLens*, float, int, int)’ is deprecated [-Wdeprecated-declarations]
                                                   m_orgImage.height());
                                                                      ^
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp:33:
/usr/include/lensfun/lensfun.h:2414:35: note: declared here
     DEPRECATED static lfModifier *Create (const lfLens *lens, float crop, int width, int height);
                                   ^~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp:210:72: warning: ‘int lfModifier::Initialize(const lfLens*, lfPixelFormat, float, float, float, float, lfLensType, int, bool)’ is deprecated [-Wdeprecated-declarations]
                                                        0 /*no inverse*/);
                                                                        ^
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfunfilter.cpp:33:
/usr/include/lensfun/lensfun.h:2461:20: note: declared here
     DEPRECATED int Initialize (
                    ^~~~~~~~~~
[  5%] Building CXX object core/libs/dimg/CMakeFiles/dimg_src.dir/filters/lens/lensfuncameraselector.cpp.o
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp: In member function ‘void Digikam::LensFunCameraSelector::slotLensSelected()’:
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:755:60: warning: ‘lfLens::CropFactor’ is deprecated [-Wdeprecated-declarations]
                                   << d->iface->usedLens()->CropFactor;
                                                            ^~~~~~~~~~
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.h:34,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:21:
/usr/include/lensfun/lensfun.h:1077:22: note: declared here
     DEPRECATED float CropFactor;
                      ^~~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:755:60: warning: ‘lfLens::CropFactor’ is deprecated [-Wdeprecated-declarations]
                                   << d->iface->usedLens()->CropFactor;
                                                            ^~~~~~~~~~
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.h:34,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:21:
/usr/include/lensfun/lensfun.h:1077:22: note: declared here
     DEPRECATED float CropFactor;
                      ^~~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:755:60: warning: ‘lfLens::CropFactor’ is deprecated [-Wdeprecated-declarations]
                                   << d->iface->usedLens()->CropFactor;
                                                            ^~~~~~~~~~
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.h:34,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:21:
/usr/include/lensfun/lensfun.h:1077:22: note: declared here
     DEPRECATED float CropFactor;
                      ^~~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:756:53: warning: ‘lfLens::CropFactor’ is deprecated [-Wdeprecated-declarations]
         settings.cropFactor = d->iface->usedLens()->CropFactor;
                                                     ^~~~~~~~~~
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.h:34,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:21:
/usr/include/lensfun/lensfun.h:1077:22: note: declared here
     DEPRECATED float CropFactor;
                      ^~~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:756:53: warning: ‘lfLens::CropFactor’ is deprecated [-Wdeprecated-declarations]
         settings.cropFactor = d->iface->usedLens()->CropFactor;
                                                     ^~~~~~~~~~
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.h:34,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:21:
/usr/include/lensfun/lensfun.h:1077:22: note: declared here
     DEPRECATED float CropFactor;
                      ^~~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:756:53: warning: ‘lfLens::CropFactor’ is deprecated [-Wdeprecated-declarations]
         settings.cropFactor = d->iface->usedLens()->CropFactor;
                                                     ^~~~~~~~~~
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.h:34,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuncameraselector.cpp:21:
/usr/include/lensfun/lensfun.h:1077:22: note: declared here
     DEPRECATED float CropFactor;
                      ^~~~~~~~~~
[  5%] Building CXX object core/libs/dimg/CMakeFiles/dimg_src.dir/filters/lens/lensfuniface.cpp.o
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp: In constructor ‘Digikam::LensFunIface::LensFunIface()’:
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:66:24: warning: ‘lfDatabase* lf_db_new()’ is deprecated [-Wdeprecated-declarations]
     d->lfDb          = lf_db_new();
                        ^~~~~~~~~
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:21:
/usr/include/lensfun/lensfun.h:2079:34: note: declared here
 DEPRECATED LF_EXPORT lfDatabase *lf_db_new (void);
                                  ^~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:66:34: warning: ‘lfDatabase* lf_db_new()’ is deprecated [-Wdeprecated-declarations]
     d->lfDb          = lf_db_new();
                                  ^
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:21:
/usr/include/lensfun/lensfun.h:2079:34: note: declared here
 DEPRECATED LF_EXPORT lfDatabase *lf_db_new (void);
                                  ^~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp: In member function ‘bool Digikam::LensFunIface::supportsDistortion() const’:
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:521:75: warning: ‘bool lfLens::InterpolateDistortion(float, lfLensCalibDistortion&) const’ is deprecated [-Wdeprecated-declarations]
     return d->usedLens->InterpolateDistortion(d->settings.focalLength, res);
                                                                           ^
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:21:
/usr/include/lensfun/lensfun.h:1358:21: note: declared here
     DEPRECATED bool InterpolateDistortion (float focal, lfLensCalibDistortion &res) const;
                     ^~~~~~~~~~~~~~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp: In member function ‘bool Digikam::LensFunIface::supportsCCA() const’:
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:533:68: warning: ‘bool lfLens::InterpolateTCA(float, lfLensCalibTCA&) const’ is deprecated [-Wdeprecated-declarations]
     return d->usedLens->InterpolateTCA(d->settings.focalLength, res);
                                                                    ^
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:21:
/usr/include/lensfun/lensfun.h:1385:21: note: declared here
     DEPRECATED bool InterpolateTCA (float focal, lfLensCalibTCA &res) const;
                     ^~~~~~~~~~~~~~
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp: In member function ‘bool Digikam::LensFunIface::supportsVig() const’:
/b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:547:79: warning: ‘bool lfLens::InterpolateVignetting(float, float, float, lfLensCalibVignetting&) const’ is deprecated [-Wdeprecated-declarations]
                                               d->settings.subjectDistance, res);
                                                                               ^
In file included from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.h:27:0,
                 from /b/dktemp/digikam-master/core/libs/dimg/filters/lens/lensfuniface.cpp:21:
/usr/include/lensfun/lensfun.h:1417:21: note: declared here
     DEPRECATED bool InterpolateVignetting (
                     ^~~~~~~~~~~~~~~~~~~~~
[  5%] Building CXX object core/libs/dimg/CMakeFiles/dimg_src.dir/filters/lens/lensfunsettings.cpp.o

Gilles
Comment 12 Maik Qualmann 2019-03-21 20:58:09 UTC
The Powershot G9 X is included in the list... yes, "shot" with lowercase letters ... so it is strangely wise not always behind the G9 sorted but later behind a SX710...

Maik
Comment 13 Maik Qualmann 2019-03-21 21:25:31 UTC
Git commit e69bcd7db60bf5b3c5ca0c944d05327b866ee40a by Maik Qualmann.
Committed on 21/03/2019 at 21:24.
Pushed by mqualmann into branch 'master'.

do not sort the QComboBox model

M  +3    -3    core/libs/dimg/filters/lens/lensfuncameraselector.cpp

https://commits.kde.org/digikam/e69bcd7db60bf5b3c5ca0c944d05327b866ee40a
Comment 14 Maik Qualmann 2019-03-21 21:29:34 UTC
Git commit 04eb24a5dd3f7984fe26e3af6630de3cd496e376 by Maik Qualmann.
Committed on 21/03/2019 at 21:28.
Pushed by mqualmann into branch 'master'.

sort lenses

M  +1    -1    core/libs/dimg/filters/lens/lensfuncameraselector.cpp

https://commits.kde.org/digikam/04eb24a5dd3f7984fe26e3af6630de3cd496e376
Comment 15 Maik Qualmann 2019-03-28 20:40:24 UTC
The G9 X is now in the list, I close the bug.

Maik