digiKam has a new friend: LibRaw…
3 weeks ago, i have received a mail from a contributor named Holger Berger. He send me a patch against dcraw implementation included in libkdcraw, to parallelize demosaicing operations using OpenMP library. After some tests on my dual core computer i have immediately felt the power of parallelized code: it's faster.
We have tried to contact Dave Coffin to include this patch officially in dcraw... without success (no response). Why ? He don't like OpenMp certainly... So we have looked for another way to use this patch.
On LGM 2008, Alexander Prokoudine dropped a few words about a new library named LibRaw. This library re-uses dcraw implementation and wraps code around a C++ interface.
I have contacted Alex Tutubalin, the Libraw author, and a crazy thread have been started to port libkdcraw to libraw and improve API. After 2 weeks, KDE3 and KDE4 libkdcraw code leave dcraw.c and work fine with LibRaw as well.
With the last LibRaw release 0.6.0, Alex and Holger have started to patch code using OpenMp. It's not yet complete, but work is in progress.
Using Libraw instead dcraw.c brings huge improvements for digiKam: less memory allocation, no pipe to stream raw data generated by a separated process, pure multi-threading, more meta-data and settings to play with RAW files. To resume: Libraw become a new friend for digiKam...