Bug 390700 - Unable to convert Fujifilm S3Pro RAF RAW to DNG [patch]
Summary: Unable to convert Fujifilm S3Pro RAF RAW to DNG [patch]
Status: REPORTED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Bqm-DngConverter (show other bugs)
Version: 5.8.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-18 22:06 UTC by Michael Dawid
Modified: 2024-04-07 07:54 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Patch to use libraw full size data extraction to process DNG (8.18 KB, patch)
2021-06-01 12:56 UTC, caulier.gilles
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Dawid 2018-02-18 22:06:47 UTC
It seems that digicam is not able to convert my RAF RAW image from my Fujifilm XT-20 to DNG. I have tried it with the BQM, but also the conversion during the import of my images.

BQM creates a 0 byte file, when i try to convert it to DNG (see also bug 390683). I tested it with a lossless compressed RAF and a uncompressed RAF image (please find attached two samples).

Furthermore, when i try to import a RAF and convert it to DNG while importing, by checking 'convert to DNG' nothing happens after clicking on 'Download all'. When i uncheck 'convert to DNG' the download completes successfully.

My Camera is the Fujifilm X-T20 with the firmware version 1.10.

It seems there is a firmware update 1.11 available for this camera model. I will update the camera and retry the process. But honestly i do not expect a different behaviour in digikam.
Comment 1 Michael Dawid 2018-02-18 22:10:18 UTC
link to my google drive containing sample images

https://drive.google.com/drive/folders/1wEoofsT72YlID3jflhw69LyKvM3FOBTX?usp=sharing
Comment 2 caulier.gilles 2018-02-18 22:16:56 UTC
in raw file support dialog, this camera is present from the list ? Go to Help menu for details.

Gilles Caulier
Comment 3 Maik Qualmann 2018-02-19 07:14:26 UTC
The DNG converter says this:
digikam.general: DNGWriter: Bayer mosaic not supported. Aborted...

@Gilles: Do we need to update the DNG-SDK? Or this a LibRaw Problem? The camera XT-20 is not in the list of supported cameras, only the XT-10.

Maik
Comment 4 caulier.gilles 2018-02-19 09:50:16 UTC
It's probably a libraw issue as the camera is not on the list. For each RAW camera, libraw as a corresponding matrix to process bayer sensor, reverse engineered if i remember some talk with libraw team in the past. 

In all cases, if the camera is not in the list, this cannot work as expected.

the libraw 0.19 is in the way, as i can see in github forum. So, we need to wait a little bit. I will backport code quickly in DK core.

Gilles
Comment 5 Michael Dawid 2018-02-19 10:44:38 UTC
I know it's off topic, but i would like to ask it:
Are there any other spots in digikam, that would require a hands-on, when talking about the integration of a new camera model?

Thanks
Comment 6 caulier.gilles 2018-02-19 10:46:21 UTC
Exiv2 shared library, to handle metadata. The default codec provided by the library must be able to get Exif, but for makernotes, it's very specific.

http://www.exiv2.org/

Gilles Caulier
Comment 7 caulier.gilles 2019-12-24 14:15:49 UTC
digiKam 7.0.0-beta1 is out :

https://download.kde.org/unstable/digikam/

This problem still reproducible with this version which include Libraw engine version 0.20.0 ?

Thanks in advance and merry Christmas

Gilles Caulier
Comment 8 Maik Qualmann 2020-03-16 20:45:44 UTC
*** Bug 418941 has been marked as a duplicate of this bug. ***
Comment 9 caulier.gilles 2020-08-04 06:59:11 UTC
digiKam 7.0.0 stable release is now published:

https://www.digikam.org/news/2020-07-19-7.0.0_release_announcement/

We need a fresh feedback on this file using this version.

Best Regards

Gilles Caulier
Comment 10 caulier.gilles 2021-05-11 04:42:14 UTC
Maik, 

The RAF bayer mosaic problem still reproducible with DNG SDK 1.5 update and libraw snapshot 20210504.

I tried with this RAF Fuji S3 sample : http://www.rawsamples.ch/raws/fuji/s3pro/RAW_FUJI_S3PRO.RAF

digikam.general: Tool:        "Convert RAW To DNG"
digikam.general: Input url:   QUrl("file:///home/gilles/Images/RAW/RAW_FUJI_S3PRO.RAF")
digikam.general: Output url:  QUrl("file:///home/gilles/Images/RAW/BatchTool-AjBalY-8227069e.digikamtempfile.dng")
digikam.general: DNGWriter: Loading RAW data from  "RAW_FUJI_S3PRO.RAF"
digikam.rawengine: LibRaw Exif Parser: tag: 1048847 type: 2 len: 9 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048848 type: 2 len: 16 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048850 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048858 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048859 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048872 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048881 type: 2 len: 39 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048882 type: 2 len: 20 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1049107 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1082008 type: 2 len: 512 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1083241 type: 4 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 33434 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 33437 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 34850 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 34855 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 36864 type: 7 len: 4 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 36867 type: 2 len: 20 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 36868 type: 2 len: 20 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37121 type: 7 len: 4 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37122 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37377 type: 10 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37378 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37379 type: 10 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37380 type: 10 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37381 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37383 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37384 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37385 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37386 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37500 type: 7 len: 354 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37510 type: 7 len: 256 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40960 type: 7 len: 4 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40961 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40962 type: 4 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40963 type: 4 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40965 type: 4 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 262145 type: 2 len: 4 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 262146 type: 7 len: 4 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41486 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41487 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41488 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41495 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41728 type: 7 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41729 type: 7 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41985 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41986 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41987 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41989 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41990 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41992 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41993 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41994 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41996 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1098917 type: 7 len: 106 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097411 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097426 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097434 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097435 type: 5 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097448 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097665 type: 4 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097666 type: 4 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097683 type: 3 len: 1 ord: 18761 ifp: 0x7fc5d8012650 base: 160
digikam.rawengine: LibRaw progress: Reading metadata pass 1 of 2
digikam.rawengine: LibRaw progress: Reading RAW data pass 0 of 2
digikam.rawengine: LibRaw progress: Reading RAW data pass 1 of 2
digikam.general: DNGWriter: Raw data loaded:
digikam.general: --- Data Size:      25682944  bytes
digikam.general: --- Date:           "2007-06-03T18:28:41"
digikam.general: --- Make:           "Fujifilm"
digikam.general: --- Model:          "S3Pro"
digikam.general: --- ImageSize:      3584 x 3583
digikam.general: --- FullSize:       4352 x 1444
digikam.general: --- OutputSize:     3584 x 3583
digikam.general: --- Orientation:    0
digikam.general: --- Top margin:     2
digikam.general: --- Left margin:    32
digikam.general: --- Filter:         "RGBGRGBGRGBGRGBG"
digikam.general: --- Colors:         3
digikam.general: --- Black:          0
digikam.general: --- White:          15872
digikam.general: --- CAM->XYZ:
digikam.general:                     "1.1807  -0.4612  -0.1294"
digikam.general:                     "-0.8927  1.6968  0.1988"
digikam.general:                     "-0.2120  0.2741  0.8006"
digikam.general:                     "0.0000  0.0000  0.0000"
digikam.general: DNGWriter: Bayer mosaic not supported. Aborted...

Probably it miss code in DNGWriter here :

https://invent.kde.org/graphics/digikam/-/blob/master/core/libs/dngwriter/dngwriter_convert.cpp#L127

I see that raw2dng github code from has a Fuji handler here :

https://github.com/Fimagena/raw2dng/blob/master/raw2dng/vendorProcessors/FujiProcessor.cpp#L50

Gilles
Comment 11 Maik Qualmann 2021-05-11 12:06:11 UTC
The dng-sdk has a new function for this Fuji sensor
SetFujiMosaic6x6() not previously used.

Maik
Comment 12 caulier.gilles 2021-05-11 12:23:29 UTC
Git commit 97e800c4c6831717f78437638cf5d3dd870bc316 by Gilles Caulier.
Committed on 11/05/2021 at 12:22.
Pushed by cgilles into branch 'master'.

camera maker string must be checked as upper-case.
Related: bug 418941

M  +4    -4    core/libs/dngwriter/dngsettings.cpp
M  +1    -0    core/libs/dngwriter/dngwriter.cpp
M  +4    -2    core/libs/dngwriter/dngwriter_convert.cpp
M  +4    -2    core/libs/dngwriter/dngwriterhost.cpp

https://invent.kde.org/graphics/digikam/commit/97e800c4c6831717f78437638cf5d3dd870bc316
Comment 13 caulier.gilles 2021-05-11 12:37:28 UTC
Maik, the first problem was the camera maker string was not checked as upper-case. So now we have this kind of output:

[gilles@localhost dngwriter]$ ./raw2dng RAW_FUJI_S3PRO.RAF 
digikam.general: DNGWriter: Loading RAW data from  "RAW_FUJI_S3PRO.RAF"
digikam.rawengine: LibRaw Exif Parser: tag: 1048847 type: 2 len: 9 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048848 type: 2 len: 16 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048850 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048858 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048859 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048872 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048881 type: 2 len: 39 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1048882 type: 2 len: 20 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1049107 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1082008 type: 2 len: 512 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1083241 type: 4 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 33434 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 33437 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 34850 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 34855 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 36864 type: 7 len: 4 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 36867 type: 2 len: 20 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 36868 type: 2 len: 20 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37121 type: 7 len: 4 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37122 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37377 type: 10 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37378 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37379 type: 10 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37380 type: 10 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37381 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37383 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37384 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37385 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37386 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37500 type: 7 len: 354 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 37510 type: 7 len: 256 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40960 type: 7 len: 4 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40961 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40962 type: 4 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40963 type: 4 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 40965 type: 4 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 262145 type: 2 len: 4 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 262146 type: 7 len: 4 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41486 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41487 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41488 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41495 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41728 type: 7 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41729 type: 7 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41985 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41986 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41987 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41989 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41990 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41992 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41993 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41994 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 41996 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 1098917 type: 7 len: 106 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097411 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097426 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097434 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097435 type: 5 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097448 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097665 type: 4 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097666 type: 4 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw Exif Parser: tag: 2097683 type: 3 len: 1 ord: 18761 ifp: 0xcaac70 base: 160
digikam.rawengine: LibRaw progress: Reading metadata pass 1 of 2
digikam.rawengine: LibRaw progress: Reading RAW data pass 0 of 2
digikam.rawengine: LibRaw progress: Reading RAW data pass 1 of 2
digikam.general: DNGWriter: Raw data loaded:
digikam.general: --- Data Size:      25682944  bytes
digikam.general: --- Date:           "2007-06-03T18:28:41"
digikam.general: --- Make:           "Fujifilm"
digikam.general: --- Model:          "S3Pro"
digikam.general: --- ImageSize:      3584 x 3583
digikam.general: --- FullSize:       4352 x 1444
digikam.general: --- OutputSize:     3584 x 3583
digikam.general: --- Orientation:    0
digikam.general: --- Top margin:     2
digikam.general: --- Left margin:    32
digikam.general: --- Filter:         "RGBGRGBGRGBGRGBG"
digikam.general: --- Colors:         3
digikam.general: --- Black:          0
digikam.general: --- White:          15872
digikam.general: --- CAM->XYZ:
digikam.general:                     "1.1807  -0.4612  -0.1294"
digikam.general:                     "-0.8927  1.6968  0.1988"
digikam.general:                     "-0.2120  0.2741  0.8006"
digikam.general:                     "0.0000  0.0000  0.0000"
digikam.general: DNGWriter: DNG memory allocation and initialization
digikam.general: DNGWriter: DNG Negative structure creation
digikam.general: DNGWriter: Updating metadata to DNG Negative
QCoreApplication::arguments: Please instantiate the QApplication object first
digikam.metaengine: Loading metadata with "Exiv2" backend from "RAW_FUJI_S3PRO.RAF"
digikam.metaengine: DateTime (Exif digitalized): QDateTime(2007-06-03 18:28:41.000 EDT Qt::LocalTime)
digikam.metaengine: DateTime (digitization date): QDateTime(2007-06-03 18:28:41.000 EDT Qt::LocalTime)
digikam.general: DNGWriter: Backup Makernote ( 354  bytes)
digikam.general: DNGWriter: Build DNG Negative
digikam.general: DNGWriter: DNG preview image creation
digikam.general: DNGWriter: DNG thumbnail creation
digikam.general: DNGWriter: Creating DNG file  "RAW_FUJI_S3PRO.dng"
FindNewRawImageDigest time: 0.661 sec
Write raw image time: 1.470 sec
digikam.general: DNGWriter: DNG conversion complete...
[gilles@localhost dngwriter]$ 

DNG file is generated but image is rotated from 45 degrees:

https://i.imgur.com/iTAcjoF.png

Gilles
Comment 14 caulier.gilles 2021-05-11 12:48:48 UTC
Git commit 6b1fa1fbf30867b8bc76209245923f939efe826a by Gilles Caulier.
Committed on 11/05/2021 at 12:47.
Pushed by cgilles into branch 'master'.

report DNG SDK error codes as string
Related: bug 418941

M  +3    -3    core/libs/dngwriter/dngwriter_convert.cpp
M  +35   -0    core/libs/dngwriter/dngwriter_p.cpp
M  +2    -0    core/libs/dngwriter/dngwriter_p.h

https://invent.kde.org/graphics/digikam/commit/6b1fa1fbf30867b8bc76209245923f939efe826a
Comment 15 caulier.gilles 2021-05-11 16:16:50 UTC
Maik,

I apply the DNG sdk function fro Fuji,:

https://invent.kde.org/graphics/digikam/commit/b85d3cf47af7acb967a8d16046681139bd0cf147

But this no give a difference...

Gilles
Comment 16 Maik Qualmann 2021-05-11 18:57:00 UTC
Hi Gilles,

Your test sample is from a Fuji S3Pro. But the Mosaic6x6 should be for the newer X-Trans sensors from Fuji, all cameras with an X in their name as X-T20 e.g. 
With a test sample of the X-T20, I still have a Bayer-Mosaic error.

Maik
Comment 17 Maik Qualmann 2021-05-11 19:19:52 UTC
The 45 degree rotation is a Fuji specialty from SuperCCD, the image is recorded that way with older cameras.

Maik
Comment 18 Maik Qualmann 2021-05-11 20:37:51 UTC
Git commit e4dee8b223a2ce81e8d70af37472dcc83f4e4c11 by Maik Qualmann.
Committed on 11/05/2021 at 20:37.
Pushed by mqualmann into branch 'master'.

add Fuji X-Trans sensor identify
Colors not yet correct.

M  +17   -6    core/libs/dngwriter/dngwriter_convert.cpp
M  +1    -0    core/libs/dngwriter/dngwriter_p.h

https://invent.kde.org/graphics/digikam/commit/e4dee8b223a2ce81e8d70af37472dcc83f4e4c11
Comment 19 caulier.gilles 2021-05-21 18:45:54 UTC
Git commit 5e9e6682b3eda8e0e226eddd1c2f4b2c2c24f561 by Gilles Caulier.
Committed on 21/05/2021 at 18:44.
Pushed by cgilles into branch 'master'.

More debug statement to hack RAF to DNG conversion.
Related: bug 418941

M  +1    -1    core/libs/dngwriter/dngwriter_makernote.cpp
M  +8    -7    core/libs/dngwriter/dngwriter_mosaic.cpp
M  +23   -1    core/libs/dngwriter/dngwriter_negative.cpp

https://invent.kde.org/graphics/digikam/commit/5e9e6682b3eda8e0e226eddd1c2f4b2c2c24f561
Comment 20 caulier.gilles 2021-06-01 12:56:15 UTC
Created attachment 138919 [details]
Patch to use libraw full size data extraction to process DNG

Maik,

See my patch against git /master. I created a new DRawDecoder::extractRawData2() method which is 80% similar than DRawDecoder::extractRawData() excepted the RAW data extract which use the full mosaic size instead a post-processed one done by LibRaw::raw2image() (see DRawDecoder::extractRawData()::line #486.

In DNGWritter use the identify::fullSize instead post-processed identify::outputSize, and now RAF are converted fine in DNG:

https://i.imgur.com/yA0Ejyl.png

The orientation and colors are fine in target DNG. Only a small frame exists around full size image. It's probably the margin to specify to the DNG SDK during conversion.

I don't yet run the regression tests with the other RAW file formats to see if DNG conversion work fine.

Gilles
Comment 21 caulier.gilles 2021-06-01 13:59:34 UTC
Maik,

I tested the regression with other RAW format as CR2, CR3, NEF, ORF, ARW, etc, and all work as expected, excepted the margin around the full raw image...

Gilles
Comment 22 Maik Qualmann 2021-06-01 20:23:23 UTC
Ok, the RAF files of the new X-T20 e.g. Fuji models (6x6 Mosaic) are still processed with the wrong colors.

Maik
Comment 23 caulier.gilles 2021-06-03 06:30:15 UTC
Git commit 0b5473a6bdffb6e5ce878c0679edf969523ad981 by Gilles Caulier.
Committed on 03/06/2021 at 06:22.
Pushed by cgilles into branch 'master'.

DNG Writer: add Fuji S3 PRo RAF support
- pre process metadata with ExifTool before to import RAW data.
The active RAW region computed by libraw is definitively wrong For Fuji Camera. ExifTool allow to turn around this problem.
Pas the RAW image active region properties to DNG SDK.
- Get the Raw data unprocessed from libraw. Do not use libraw::raw2Image(), just libraw::unpack(), and pass data to DNG SDK.
This way still fully compatible with other RAW format as NEF, PEF, ARW, CR2, CR3, ORF, etc.
- Append crop region from original RAW file with Libraw. If this region is valid, we will pass this properties later to DNG SDK.
- Other Fuji RAW files still badly converted as image i right oriented, with right sizes, but it still violet.
Related: bug 418941

M  +85   -12   core/libs/dngwriter/dngwriter_import.cpp
M  +15   -6    core/libs/dngwriter/dngwriter_mosaic.cpp
M  +4    -2    core/libs/dngwriter/dngwriter_negative.cpp
M  +138  -0    core/libs/rawengine/drawdecoder.cpp
M  +18   -2    core/libs/rawengine/drawdecoder.h
M  +7    -0    core/libs/rawengine/drawdecoder_p.cpp
M  +2    -0    core/libs/rawengine/drawinfo.cpp
M  +18   -2    core/libs/rawengine/drawinfo.h

https://invent.kde.org/graphics/digikam/commit/0b5473a6bdffb6e5ce878c0679edf969523ad981
Comment 24 caulier.gilles 2023-05-01 07:21:35 UTC
Maik,

Even if libraw have been updated since the last changes in this thread, i supose than nothing has changed to support Fuji RAW data...

Gilles
Comment 25 caulier.gilles 2023-05-01 07:22:54 UTC
DNG SDK still to 1.5 from Adobe web site:

https://helpx.adobe.com/security/products/dng-sdk.html

Gilles
Comment 26 caulier.gilles 2024-03-31 20:33:31 UTC
Git commit 1b911bc46a1631f9d00ef2866f9987f3a04fbdde by Gilles Caulier.
Committed on 31/03/2024 at 20:28.
Pushed by cgilles into branch 'master'.

Update Adobe DNG SDK from 1.5.1 to 1.7.1 to support JPEG-XL compression formats.
Related: bug 418941, bug 444442, bug 451917, bug 479728, bug 257737, bug 477631, bug 285610, bug 374655

M  +1    -0    Mainpage.dox
M  +2    -0    NEWS
M  +3    -1    core/CMakeLists.txt
M  +1    -0    core/app/DigikamCoreTarget.cmake
A  +109  -0    core/cmake/modules/FindLibjxl.cmake
M  +3    -0    core/cmake/rules/RulesDNGSdk.cmake
M  +17   -1    core/libs/dngwriter/CMakeLists.txt
M  +1    -1    core/libs/dngwriter/dngwriter.cpp
M  +1    -1    core/libs/dngwriter/dngwriter_export.cpp
M  +242  -52   core/libs/dngwriter/extra/dng_sdk/dng_1d_function.cpp
M  +99   -36   core/libs/dngwriter/extra/dng_sdk/dng_1d_function.h
M  +69   -67   core/libs/dngwriter/extra/dng_sdk/dng_1d_table.cpp
M  +57   -26   core/libs/dngwriter/extra/dng_sdk/dng_1d_table.h
M  +54   -52   core/libs/dngwriter/extra/dng_sdk/dng_abort_sniffer.cpp
M  +57   -47   core/libs/dngwriter/extra/dng_sdk/dng_abort_sniffer.h
M  +444  -88   core/libs/dngwriter/extra/dng_sdk/dng_area_task.cpp
M  +230  -33   core/libs/dngwriter/extra/dng_sdk/dng_area_task.h
M  +27   -4    core/libs/dngwriter/extra/dng_sdk/dng_assertions.h
M  +67   -53   core/libs/dngwriter/extra/dng_sdk/dng_auto_ptr.h
M  +486  -474  core/libs/dngwriter/extra/dng_sdk/dng_bad_pixels.cpp
M  +53   -48   core/libs/dngwriter/extra/dng_sdk/dng_bad_pixels.h
M  +4976 -1140 core/libs/dngwriter/extra/dng_sdk/dng_big_table.cpp
M  +1290 -389  core/libs/dngwriter/extra/dng_sdk/dng_big_table.h
A  +397  -0    core/libs/dngwriter/extra/dng_sdk/dng_bmff.cpp  *
A  +113  -0    core/libs/dngwriter/extra/dng_sdk/dng_bmff.h  *
M  +9    -2    core/libs/dngwriter/extra/dng_sdk/dng_bottlenecks.cpp
M  +491  -252  core/libs/dngwriter/extra/dng_sdk/dng_bottlenecks.h
M  +1371 -386  core/libs/dngwriter/extra/dng_sdk/dng_camera_profile.cpp
M  +513  -166  core/libs/dngwriter/extra/dng_sdk/dng_camera_profile.h
M  +48   -3    core/libs/dngwriter/extra/dng_sdk/dng_classes.h
M  +1323 -585  core/libs/dngwriter/extra/dng_sdk/dng_color_space.cpp
M  +299  -66   core/libs/dngwriter/extra/dng_sdk/dng_color_space.h
M  +363  -191  core/libs/dngwriter/extra/dng_sdk/dng_color_spec.cpp
M  +52   -24   core/libs/dngwriter/extra/dng_sdk/dng_color_spec.h
M  +444  -430  core/libs/dngwriter/extra/dng_sdk/dng_date_time.cpp
M  +100  -105  core/libs/dngwriter/extra/dng_sdk/dng_date_time.h
A  +60   -0    core/libs/dngwriter/extra/dng_sdk/dng_deprecated_flags.h  *
M  +11   -5    core/libs/dngwriter/extra/dng_sdk/dng_errors.h
M  +62   -62   core/libs/dngwriter/extra/dng_sdk/dng_exceptions.cpp
M  +56   -56   core/libs/dngwriter/extra/dng_sdk/dng_exceptions.h
M  +1984 -1960 core/libs/dngwriter/extra/dng_sdk/dng_exif.cpp
M  +144  -128  core/libs/dngwriter/extra/dng_sdk/dng_exif.h
M  +5    -3    core/libs/dngwriter/extra/dng_sdk/dng_fast_module.h
M  +148  -37   core/libs/dngwriter/extra/dng_sdk/dng_file_stream.cpp
M  +41   -16   core/libs/dngwriter/extra/dng_sdk/dng_file_stream.h
M  +58   -58   core/libs/dngwriter/extra/dng_sdk/dng_filter_task.cpp
M  +15   -15   core/libs/dngwriter/extra/dng_sdk/dng_filter_task.h
M  +173  -146  core/libs/dngwriter/extra/dng_sdk/dng_fingerprint.cpp
M  +98   -72   core/libs/dngwriter/extra/dng_sdk/dng_fingerprint.h
M  +127  -57   core/libs/dngwriter/extra/dng_sdk/dng_flags.h
M  +1014 -256  core/libs/dngwriter/extra/dng_sdk/dng_gain_map.cpp
M  +343  -45   core/libs/dngwriter/extra/dng_sdk/dng_gain_map.h
M  +10   -4    core/libs/dngwriter/extra/dng_sdk/dng_globals.cpp
M  +3    -3    core/libs/dngwriter/extra/dng_sdk/dng_globals.h
M  +365  -154  core/libs/dngwriter/extra/dng_sdk/dng_host.cpp
M  +216  -96   core/libs/dngwriter/extra/dng_sdk/dng_host.h
M  +227  -90   core/libs/dngwriter/extra/dng_sdk/dng_hue_sat_map.cpp
M  +26   -16   core/libs/dngwriter/extra/dng_sdk/dng_hue_sat_map.h
M  +2514 -1712 core/libs/dngwriter/extra/dng_sdk/dng_ifd.cpp
M  +140  -108  core/libs/dngwriter/extra/dng_sdk/dng_ifd.h
M  +631  -315  core/libs/dngwriter/extra/dng_sdk/dng_image.cpp
M  +117  -92   core/libs/dngwriter/extra/dng_sdk/dng_image.h
M  +5843 -3135 core/libs/dngwriter/extra/dng_sdk/dng_image_writer.cpp
M  +733  -471  core/libs/dngwriter/extra/dng_sdk/dng_image_writer.h
M  +1382 -1126 core/libs/dngwriter/extra/dng_sdk/dng_info.cpp
M  +99   -69   core/libs/dngwriter/extra/dng_sdk/dng_info.h
M  +325  -325  core/libs/dngwriter/extra/dng_sdk/dng_iptc.cpp
M  +32   -32   core/libs/dngwriter/extra/dng_sdk/dng_iptc.h
M  +544  -210  core/libs/dngwriter/extra/dng_sdk/dng_jpeg_image.cpp
M  +139  -18   core/libs/dngwriter/extra/dng_sdk/dng_jpeg_image.h
A  +90   -0    core/libs/dngwriter/extra/dng_sdk/dng_jpeg_memory_source.cpp  *
A  +19   -0    core/libs/dngwriter/extra/dng_sdk/dng_jpeg_memory_source.h  *
A  +18   -0    core/libs/dngwriter/extra/dng_sdk/dng_jpeglib.h  *
A  +3527 -0    core/libs/dngwriter/extra/dng_sdk/dng_jxl.cpp  *
A  +396  -0    core/libs/dngwriter/extra/dng_sdk/dng_jxl.h  *
M  +890  -538  core/libs/dngwriter/extra/dng_sdk/dng_lens_correction.cpp
M  +171  -59   core/libs/dngwriter/extra/dng_sdk/dng_lens_correction.h
M  +639  -631  core/libs/dngwriter/extra/dng_sdk/dng_linearization_info.cpp
M  +27   -27   core/libs/dngwriter/extra/dng_sdk/dng_linearization_info.h
M  +95   -95   core/libs/dngwriter/extra/dng_sdk/dng_local_string.cpp
M  +56   -56   core/libs/dngwriter/extra/dng_sdk/dng_local_string.h
M  +24   -3826 core/libs/dngwriter/extra/dng_sdk/dng_lossless_jpeg.cpp
M  +14   -13   core/libs/dngwriter/extra/dng_sdk/dng_lossless_jpeg.h
A  +4439 -0    core/libs/dngwriter/extra/dng_sdk/dng_lossless_jpeg_shared.cpp     [License: BSD MIT]
M  +507  -466  core/libs/dngwriter/extra/dng_sdk/dng_matrix.cpp
M  +92   -92   core/libs/dngwriter/extra/dng_sdk/dng_matrix.h
M  +71   -87   core/libs/dngwriter/extra/dng_sdk/dng_memory.cpp
M  +88   -88   core/libs/dngwriter/extra/dng_sdk/dng_memory.h
M  +109  -109  core/libs/dngwriter/extra/dng_sdk/dng_memory_stream.cpp
M  +26   -26   core/libs/dngwriter/extra/dng_sdk/dng_memory_stream.h
M  +611  -524  core/libs/dngwriter/extra/dng_sdk/dng_misc_opcodes.cpp
M  +154  -124  core/libs/dngwriter/extra/dng_sdk/dng_misc_opcodes.h
M  +764  -754  core/libs/dngwriter/extra/dng_sdk/dng_mosaic_info.cpp
M  +44   -44   core/libs/dngwriter/extra/dng_sdk/dng_mosaic_info.h
M  +103  -102  core/libs/dngwriter/extra/dng_sdk/dng_mutex.cpp
M  +32   -32   core/libs/dngwriter/extra/dng_sdk/dng_mutex.h
M  +4878 -2644 core/libs/dngwriter/extra/dng_sdk/dng_negative.cpp
M  +1383 -918  core/libs/dngwriter/extra/dng_sdk/dng_negative.h
M  +148  -80   core/libs/dngwriter/extra/dng_sdk/dng_opcode_list.cpp
M  +34   -22   core/libs/dngwriter/extra/dng_sdk/dng_opcode_list.h
M  +188  -188  core/libs/dngwriter/extra/dng_sdk/dng_opcodes.cpp
M  +101  -85   core/libs/dngwriter/extra/dng_sdk/dng_opcodes.h
M  +84   -75   core/libs/dngwriter/extra/dng_sdk/dng_orientation.cpp
M  +80   -51   core/libs/dngwriter/extra/dng_sdk/dng_orientation.h
M  +1216 -1085 core/libs/dngwriter/extra/dng_sdk/dng_parse_utils.cpp
M  +32   -28   core/libs/dngwriter/extra/dng_sdk/dng_parse_utils.h
M  +604  -604  core/libs/dngwriter/extra/dng_sdk/dng_pixel_buffer.cpp
M  +345  -140  core/libs/dngwriter/extra/dng_sdk/dng_pixel_buffer.h
M  +1    -1    core/libs/dngwriter/extra/dng_sdk/dng_point.cpp
M  +93   -92   core/libs/dngwriter/extra/dng_sdk/dng_point.h
M  +641  -453  core/libs/dngwriter/extra/dng_sdk/dng_preview.cpp
M  +277  -141  core/libs/dngwriter/extra/dng_sdk/dng_preview.h
M  +115  -113  core/libs/dngwriter/extra/dng_sdk/dng_pthread.cpp
M  +4    -5    core/libs/dngwriter/extra/dng_sdk/dng_pthread.h
M  +116  -25   core/libs/dngwriter/extra/dng_sdk/dng_rational.cpp
M  +26   -24   core/libs/dngwriter/extra/dng_sdk/dng_rational.h
M  +1605 -1316 core/libs/dngwriter/extra/dng_sdk/dng_read_image.cpp
M  +84   -90   core/libs/dngwriter/extra/dng_sdk/dng_read_image.h
M  +156  -40   core/libs/dngwriter/extra/dng_sdk/dng_rect.cpp
M  +241  -107  core/libs/dngwriter/extra/dng_sdk/dng_rect.h
M  +47   -47   core/libs/dngwriter/extra/dng_sdk/dng_ref_counted_block.cpp
M  +38   -38   core/libs/dngwriter/extra/dng_sdk/dng_ref_counted_block.h
M  +2027 -1049 core/libs/dngwriter/extra/dng_sdk/dng_reference.cpp
M  +139  -66   core/libs/dngwriter/extra/dng_sdk/dng_reference.h
M  +1308 -490  core/libs/dngwriter/extra/dng_sdk/dng_render.cpp
M  +100  -79   core/libs/dngwriter/extra/dng_sdk/dng_render.h
M  +276  -270  core/libs/dngwriter/extra/dng_sdk/dng_resample.cpp
M  +104  -72   core/libs/dngwriter/extra/dng_sdk/dng_resample.h
M  +256  -129  core/libs/dngwriter/extra/dng_sdk/dng_safe_arithmetic.cpp
M  +166  -39   core/libs/dngwriter/extra/dng_sdk/dng_safe_arithmetic.h
M  +46   -6    core/libs/dngwriter/extra/dng_sdk/dng_sdk_limits.h
A  +81   -0    core/libs/dngwriter/extra/dng_sdk/dng_semantic_mask.h  *
M  +2279 -1226 core/libs/dngwriter/extra/dng_sdk/dng_shared.cpp
M  +146  -59   core/libs/dngwriter/extra/dng_sdk/dng_shared.h
M  +38   -40   core/libs/dngwriter/extra/dng_sdk/dng_simd_type.h
M  +83   -56   core/libs/dngwriter/extra/dng_sdk/dng_simple_image.cpp
M  +29   -21   core/libs/dngwriter/extra/dng_sdk/dng_simple_image.h
M  +102  -37   core/libs/dngwriter/extra/dng_sdk/dng_spline.cpp
M  +86   -18   core/libs/dngwriter/extra/dng_sdk/dng_spline.h
M  +616  -540  core/libs/dngwriter/extra/dng_sdk/dng_stream.cpp
M  +268  -236  core/libs/dngwriter/extra/dng_sdk/dng_stream.h
M  +1124 -1113 core/libs/dngwriter/extra/dng_sdk/dng_string.cpp
M  +86   -55   core/libs/dngwriter/extra/dng_sdk/dng_string.h
M  +27   -106  core/libs/dngwriter/extra/dng_sdk/dng_string_list.cpp
M  +26   -29   core/libs/dngwriter/extra/dng_sdk/dng_string_list.h
M  +62   -29   core/libs/dngwriter/extra/dng_sdk/dng_tag_codes.h
M  +10   -6    core/libs/dngwriter/extra/dng_sdk/dng_tag_types.cpp
M  +16   -3    core/libs/dngwriter/extra/dng_sdk/dng_tag_types.h
M  +176  -130  core/libs/dngwriter/extra/dng_sdk/dng_tag_values.h
M  +75   -75   core/libs/dngwriter/extra/dng_sdk/dng_temperature.cpp
M  +22   -22   core/libs/dngwriter/extra/dng_sdk/dng_temperature.h
M  +96   -96   core/libs/dngwriter/extra/dng_sdk/dng_tile_iterator.cpp
M  +30   -30   core/libs/dngwriter/extra/dng_sdk/dng_tile_iterator.h
M  +39   -39   core/libs/dngwriter/extra/dng_sdk/dng_tone_curve.cpp
M  +10   -10   core/libs/dngwriter/extra/dng_sdk/dng_tone_curve.h
M  +32   -30   core/libs/dngwriter/extra/dng_sdk/dng_types.h
M  +5    -5    core/libs/dngwriter/extra/dng_sdk/dng_uncopyable.h
A  +3182 -0    core/libs/dngwriter/extra/dng_sdk/dng_update_meta.cpp  *
C  +14   -26   core/libs/dngwriter/extra/dng_sdk/dng_update_meta.h [from: core/libs/dngwriter/extra/dng_sdk/dng_tag_types.h - 058% similarity]
M  +964  -270  core/libs/dngwriter/extra/dng_sdk/dng_utils.cpp
M  +666  -314  core/libs/dngwriter/extra/dng_sdk/dng_utils.h
M  +580  -435  core/libs/dngwriter/extra/dng_sdk/dng_validate.cpp
M  +2411 -2030 core/libs/dngwriter/extra/dng_sdk/dng_xmp.cpp
M  +181  -156  core/libs/dngwriter/extra/dng_sdk/dng_xmp.h
M  +858  -704  core/libs/dngwriter/extra/dng_sdk/dng_xmp_sdk.cpp
M  +97   -68   core/libs/dngwriter/extra/dng_sdk/dng_xmp_sdk.h
M  +1258 -17   core/libs/dngwriter/extra/dng_sdk/dng_xy_coord.cpp
M  +111  -27   core/libs/dngwriter/extra/dng_sdk/dng_xy_coord.h
M  +24   -17   core/libs/dngwriter/extra/md5/XMP_MD5.cpp
M  +22   -18   core/libs/dngwriter/extra/md5/XMP_MD5.h
A  +51   -0    core/libs/dngwriter/extra/xmp_sdk/XMPCommon/XMPCommonDefines_I.h  *
A  +49   -0    core/libs/dngwriter/extra/xmp_sdk/XMPCommon/XMPCommonErrorCodes_I.h  *
A  +93   -0    core/libs/dngwriter/extra/xmp_sdk/XMPCommon/XMPCommonFwdDeclarations_I.h  *
A  +30   -0    core/libs/dngwriter/extra/xmp_sdk/XMPCommon/XMPCommon_I.h  *
A  +41   -0    core/libs/dngwriter/extra/xmp_sdk/XMPCore/XMPCoreDefines_I.h  *
A  +84   -0    core/libs/dngwriter/extra/xmp_sdk/XMPCore/XMPCoreFwdDeclarations_I.h  *
M  +115  -51   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/ExpatAdapter.cpp
M  +151  -80   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/ParseRDF.cpp
A  +433  -0    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/WXMPDocOps.cpp  *
M  +52   -5    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/WXMPIterator.cpp
M  +238  -76   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/WXMPMeta.cpp
M  +293  -2    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/WXMPUtils.cpp
A  +48   -0    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPCore_ChangeLog.hpp  *
M  +251  -131  core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPCore_Impl.cpp
M  +125  -13   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPCore_Impl.hpp
A  +522  -0    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPDocOps-Utils.cpp  *
A  +86   -0    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPDocOps-Utils.hpp  *
A  +1154 -0    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPDocOps.cpp  *
A  +148  -0    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPDocOps.hpp  *
M  +123  -63   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPIterator.cpp
M  +36   -2    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPIterator.hpp
M  +31   -29   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPIterator2.cpp
M  +4    -2    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPIterator2.hpp
M  +1922 -103  core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPMeta-GetSet.cpp
M  +289  -130  core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPMeta-Parse.cpp
M  +266  -109  core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPMeta-Serialize.cpp
M  +415  -16   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPMeta.cpp
M  +114  -2    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPMeta.hpp
M  +143  -141  core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPMeta2-GetSet.cpp
M  +1    -1    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPMeta2.hpp
M  +1072 -230  core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPUtils-FileInfo.cpp
M  +209  -97   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPUtils.cpp
M  +211  -2    core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPUtils.hpp
M  +620  -42   core/libs/dngwriter/extra/xmp_sdk/XMPCore/source/XMPUtils2.cpp
M  +79   -4    core/libs/dngwriter/extra/xmp_sdk/build/XMP_BuildInfo.h
A  +542  -0    core/libs/dngwriter/extra/xmp_sdk/public/include/TXMPDocOps.hpp  *
M  +123  -7    core/libs/dngwriter/extra/xmp_sdk/public/include/TXMPFiles.hpp
M  +43   -10   core/libs/dngwriter/extra/xmp_sdk/public/include/TXMPIterator.hpp
M  +160  -10   core/libs/dngwriter/extra/xmp_sdk/public/include/TXMPMeta.hpp
M  +270  -3    core/libs/dngwriter/extra/xmp_sdk/public/include/TXMPUtils.hpp
M  +48   -2    core/libs/dngwriter/extra/xmp_sdk/public/include/XMP.hpp
M  +57   -0    core/libs/dngwriter/extra/xmp_sdk/public/include/XMP.incl_cpp
M  +43   -13   core/libs/dngwriter/extra/xmp_sdk/public/include/XMPCommon/XMPCommonDefines.h
M  +5    -3    core/libs/dngwriter/extra/xmp_sdk/public/include/XMPCommon/XMPCommonErrorCodes.h
M  +7    -5    core/libs/dngwriter/extra/xmp_sdk/public/include/XMPCommon/XMPCommonFwdDeclarations.h
M  +5    -3    core/libs/dngwriter/extra/xmp_sdk/public/include/XMPCommon/XMPCommonLatestInterfaceVersions.h
M  +12   -2    core/libs/dngwriter/extra/xmp_sdk/public/include/XMPCore/XMPCoreDefines.h
M  +7    -5    core/libs/dngwriter/extra/xmp_sdk/public/include/XMPCore/XMPCoreErrorCodes.h
M  +24   -5    core/libs/dngwriter/extra/xmp_sdk/public/include/XMPCore/XMPCoreFwdDeclarations.h
M  +10   -3    core/libs/dngwriter/extra/xmp_sdk/public/include/XMPCore/XMPCoreLatestInterfaceVersions.h
M  +621  -18   core/libs/dngwriter/extra/xmp_sdk/public/include/XMP_Const.h
M  +129  -22   core/libs/dngwriter/extra/xmp_sdk/public/include/XMP_Environment.h
M  +24   -7    core/libs/dngwriter/extra/xmp_sdk/public/include/XMP_IO.hpp
M  +45   -33   core/libs/dngwriter/extra/xmp_sdk/public/include/XMP_Version.h
A  +400  -0    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/TXMPDocOps.incl_cpp
M  +120  -0    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/TXMPFiles.incl_cpp
M  +30   -0    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/TXMPIterator.incl_cpp
M  +146  -0    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/TXMPMeta.incl_cpp
M  +257  -2    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/TXMPUtils.incl_cpp
A  +210  -0    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/WXMPDocOps.hpp  *
M  +77   -3    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/WXMPFiles.hpp
M  +40   -2    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/WXMPIterator.hpp
M  +85   -3    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/WXMPMeta.hpp
M  +189  -2    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/WXMPUtils.hpp
M  +40   -2    core/libs/dngwriter/extra/xmp_sdk/public/include/client-glue/WXMP_Common.hpp
M  +6    -4    core/libs/dngwriter/extra/xmp_sdk/source/Endian.h
M  +39   -6    core/libs/dngwriter/extra/xmp_sdk/source/EndianUtils.hpp
M  +36   -2    core/libs/dngwriter/extra/xmp_sdk/source/ExpatAdapter.hpp
M  +32   -9    core/libs/dngwriter/extra/xmp_sdk/source/PerfUtils.cpp
M  +25   -4    core/libs/dngwriter/extra/xmp_sdk/source/PerfUtils.hpp
M  +27   -18   core/libs/dngwriter/extra/xmp_sdk/source/SafeStringAPIs.cpp
M  +24   -17   core/libs/dngwriter/extra/xmp_sdk/source/SafeStringAPIs.h
M  +24   -18   core/libs/dngwriter/extra/xmp_sdk/source/SafeTypes.h
M  +25   -19   core/libs/dngwriter/extra/xmp_sdk/source/SuppressSAL.h
M  +235  -199  core/libs/dngwriter/extra/xmp_sdk/source/UnicodeConversions.cpp
M  +26   -2    core/libs/dngwriter/extra/xmp_sdk/source/UnicodeConversions.hpp
M  +19   -0    core/libs/dngwriter/extra/xmp_sdk/source/UnicodeInlines.incl_cpp
M  +41   -2    core/libs/dngwriter/extra/xmp_sdk/source/XMLParserAdapter.hpp
M  +25   -2    core/libs/dngwriter/extra/xmp_sdk/source/XML_Node.cpp
M  +48   -8    core/libs/dngwriter/extra/xmp_sdk/source/XMP_LibUtils.cpp
M  +116  -10   core/libs/dngwriter/extra/xmp_sdk/source/XMP_LibUtils.hpp
M  +34   -13   core/libs/dngwriter/extra/xmp_sdk/source/XMP_ProgressTracker.cpp
M  +28   -4    core/libs/dngwriter/extra/xmp_sdk/source/XMP_ProgressTracker.hpp
M  +1    -0    core/tests/dngwriter/CMakeLists.txt

The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


https://invent.kde.org/graphics/digikam/-/commit/1b911bc46a1631f9d00ef2866f9987f3a04fbdde
Comment 27 caulier.gilles 2024-04-07 07:54:09 UTC
@Michael Dawid,

digiKam 8.4.0 pre-release now include last DNG SDK 1.7.1 from Adobe.  Can you
reproduce the dysfunction using AppImage bundle available here :

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

Gilles Caulier