I'm building an time-lapse app that needs to convert CR2 files (from 5DM3) as fast as possible (using some automated/predefined/default settings, i.e. no user interaction). This is Windoze app (yeah, yeah, I know...). I tried dcraw (needed to dance around for couple hours to make it work in VS2012), and then Canon's native EDSDK. Both gave me about same speed (~6 to 6.3s CR2 to TIF conversion on a pretty good machine - I7-3960, 64GB RAM, SATA3-RAID0 SDD array, etc, etc). I'm currently looking for the [way!] faster alternative; namely LibRaw and RawSpeed (or may be someone can recommend something else?). Problem is, every new library, especially UNIX-oriented, takes quite some time to learn and build even simplest test app (hey, I can live with hardcoded file names, if it helps!). And to spend several hours to several days just to figure out that library is no faster than previous one - is very, hmm, how to phrase it politely, unproductive.
So, because there is no simple "Hello world" (for Windoze) for LibRaw or RawSpeed, my question is this: did anyone run any sort of a comparative benchmark, to say, "product X is Y times faster(slower) than product Z for such and such case"? Mainly I'm interested in the comparison with dcRaw just to get a rough idea.
Thank you in advance for answers!
There are two phases on raw
There are two phases on raw processing:
- raw data decoding (decompressing)
- and postprocessing (black subtraction, white balance, demosaic, color conversion)
For Canon files, decoding is relatively slow, thanks for huffman compression used. RawSpeed is faster than LibRaw for these files (but you can use RawSpeed indirectly via LibRaw).
Postprocessing speed varies from method to method. For timelapse (e.g. video output in 1080p?) you don't need full resolution, so 'half' demosaic may be used.
The LibRaw's benchmark is 'samples/postprocessing-benchmark.cpp' which is included in LibRaw since v0.15
-- Alex Tutubalin @LibRaw LLC