Hello,
I noticed that version 0.21.0 was released on December 26, 2022.
According to the update policy, major releases usually come out every 1.5 to 3 years.
Does this mean that version 0.22.0 is expected to be released sometime in 2025?
Is there already a planned release schedule or roadmap that you could share?
Oh... Can't believe I didn't think of that. Exported a TIFF first try with /usr/src/app/libraw/bin/dcraw_emu -dngsdk -T -Z out.tiff /usr/src/app/testfiles/unreadable.dng.
I don't see the dng_host object in here. That's all that is required to allow unpacking these DNGs right? I'm already compiling against the working libraw and ImageMagick has other DNG reading code, but is just missing the dng_host for the Adobe DNG SDK?
Thank you very much for the incredibly fast response though!
As mentioned in the README.DNGSDK.txt file in the LibRaw distribution:
In your application
* create dng_host object (or derived object, e.g. with multithreaded) entity in your program;
* pass it to LibRaw via LibRaw::set_dng_host(dng_host *) call to enable DNG SDK use on runtime
mem_image sample does not have this pieces of code, so please test with dcraw_emu -dngsdk
I am pretty sure that there are plenty of people expecting support for cameras not listed as supported - I am asking a slightly different question. I notice Nikon Z50 is supported and works, but Z50II is neither listed not works. Clearly thet images are different with respect to thumbnails. What can I as a z50II user do to help/assist with adding support for this model?
I made a powershell script to convert all raw files with dcraw-emu and use exiftool to set original capture date and assign camera icc profile to the tiff.
1) Yes, there is no code that adjusts timestamps
2) dcraw's -p camera-profile is not 'assign camera profile', but covert from camera profile to output profile. This option is supported by dcraw_emu if compiled with LCMS support
I found the problem. I forgot to update the libraw header files for my project and it was using the old data structures, causing heap overflow and all sorts of weird problems.
It is all good now.
By the way, I only see 202502 snapshot on Github. Where is 202503? Is the master branch 202503? I downloaded the one from the master branch.
Thank you for your feedback.
1) Downloaded latest master (commit ID: ad067c510bacea51755711c1b624da78b1812fba) and commit just before 202503 snapshot (commit ID: 29d9785c2d5f71db7c6ae2834003cd211bd6a421)
2) Compiled both as make CC=clang CXX=clang -f Makefile.dist on my home FreeBSD router (14.2)
3) Checked with Fuji GFX100 test files from rawdb.dnglab.org: four compressed files and two uncompressed via
0.21 branch (0.21.0....0.21.4) is based on 0.21.0 (released in 2022) and contains bugfixes and stability improvements (like move all allocations from non-initialized malloc to zero-filled calloc).
No new cameras, no new RAW formats, stability-only changes.
Snapshots contains new cameras/new raw formats support, but may be not as stable as 0.21.xx
This is messy crap with different versions of autoconf.
Use an older one or just build via make -f Makefile.dist (you may need to edit Makefile.dist to ajust build option)
Thank you for the samples provided.
We'll consider adding Samsung lossy compression support into some version of public LibRaw.
Hello,
I noticed that version 0.21.0 was released on December 26, 2022.
According to the update policy, major releases usually come out every 1.5 to 3 years.
Does this mean that version 0.22.0 is expected to be released sometime in 2025?
Is there already a planned release schedule or roadmap that you could share?
Thanks a lot!
All good, thanks for the help!
Sorry, know nothing about ImageMagick internals.
Oh... Can't believe I didn't think of that. Exported a TIFF first try with
/usr/src/app/libraw/bin/dcraw_emu -dngsdk -T -Z out.tiff /usr/src/app/testfiles/unreadable.dng
.I'm assuming then that the reason it didn't actually work in ImageMagick is because their DNG code is missing support for it? https://github.com/ImageMagick/ImageMagick/blob/main/coders/dng.c
I don't see the dng_host object in here. That's all that is required to allow unpacking these DNGs right? I'm already compiling against the working libraw and ImageMagick has other DNG reading code, but is just missing the dng_host for the Adobe DNG SDK?
Thank you very much for the incredibly fast response though!
As mentioned in the README.DNGSDK.txt file in the LibRaw distribution:
mem_image sample does not have this pieces of code, so please test with dcraw_emu -dngsdk
I got a proper photo from my phone that I added to the repository now and set it as the default file to be tested with the script.
Please check out all the formats / crops with our RawDigger Beta:
https://www.rawdigger.com/news/rawdigger-1-4-10-beta
I am pretty sure that there are plenty of people expecting support for cameras not listed as supported - I am asking a slightly different question. I notice Nikon Z50 is supported and works, but Z50II is neither listed not works. Clearly thet images are different with respect to thumbnails. What can I as a z50II user do to help/assist with adding support for this model?
Does this lead to any incorrect consequences?
I made a powershell script to convert all raw files with dcraw-emu and use exiftool to set original capture date and assign camera icc profile to the tiff.
LibRaw is opensource;
We will be glad to accept your patch that will support the functionality you need.
(using github copy of dcraw.c 1.478 to highlight lines)
-p switch sets cam_profile variable: https://github.com/ncruces/dcraw/blob/master/dcraw.c#L10187
The only code line where this variable is used is apply_profile call: https://github.com/ncruces/dcraw/blob/master/dcraw.c#L10458
The apply_profile function applies the profile, not embed it: https://github.com/ncruces/dcraw/blob/master/dcraw.c#L9651
The -p switch in dcraw was to apply a camera icc profile or embed
Thanks for your reply. But the -z switch to keep capture date was in dcraw. Why is not in libraw anymore. What is the logic behind that?
1) Yes, there is no code that adjusts timestamps
2) dcraw's -p camera-profile is not 'assign camera profile', but covert from camera profile to output profile. This option is supported by dcraw_emu if compiled with LCMS support
Sorry, it is of course 202502, just a mistype
I found the problem. I forgot to update the libraw header files for my project and it was using the old data structures, causing heap overflow and all sorts of weird problems.
It is all good now.
By the way, I only see 202502 snapshot on Github. Where is 202503? Is the master branch 202503? I downloaded the one from the master branch.
Thanks.
Thank you for your feedback.
1) Downloaded latest master (commit ID: ad067c510bacea51755711c1b624da78b1812fba) and commit just before 202503 snapshot (commit ID: 29d9785c2d5f71db7c6ae2834003cd211bd6a421)
2) Compiled both as make CC=clang CXX=clang -f Makefile.dist on my home FreeBSD router (14.2)
3) Checked with Fuji GFX100 test files from rawdb.dnglab.org: four compressed files and two uncompressed via
(to check decode time only)
Results
202403 snapshot (+all patches):
202503 snapshot + two newer changes (PhaseOne checks + CVE numbers):
The new one looks slightly faster (that could be test variation).
So, please check you're using same compile/etc/ mode for both versions (e.g. same OpenMP support: Fuji decoder is OpenMP-capable).
Regarding your 2nd complain:
It is useless to discuss colors/tint/etc without reference to specific RAW file/processing options used.
The result I see from same files set via dcraw_emu -w -T looks absolutely normal: https://www.dropbox.com/scl/fi/46fz50mtg77ddzytccbpa/Fujifilm-GFX100S-14...
That means that system swab() call is broken in this specific environment. A very strange story...
Alex, I'd like to confirm that your suggestion worked and the issue is now fixed.
I used the following flags in my Docker container:
With code tagged 0.21.4 found in the GitHub repo, compiled with
make install
.Thank you!
LibRaw-cmake is separate project, not supported by LibRaw team (although still linked to LibRaw account on github)
Please ask your question via issues here: https://github.com/LibRaw/LibRaw-cmake
0.21 branch (0.21.0....0.21.4) is based on 0.21.0 (released in 2022) and contains bugfixes and stability improvements (like move all allocations from non-initialized malloc to zero-filled calloc).
No new cameras, no new RAW formats, stability-only changes.
Snapshots contains new cameras/new raw formats support, but may be not as stable as 0.21.xx
This is explained in details in the update policy section on this site frontpage: https://www.libraw.org/#updatepolicy
This is messy crap with different versions of autoconf.
Use an older one or just build via make -f Makefile.dist (you may need to edit Makefile.dist to ajust build option)
Thank you for looking into this for me, Alex! I will test and get back.
Pages