Modularizing RawTherapee's demosaicing code

So I have discovered that Libraw is discontinuing support for its GPL2 and GPL3 demosaic packs in version 0.19. The algorithms were added years ago, and have had no bug-fixes or performance enhancements in the years since, so they decided to focus on the decoding side of things rather than the processing.

Unfortunately, this affects Filmulator and HDRMerge, which both use amaze demosaicing and CA auto correction from one of the demosaic packs.

Now this is both a problem to be overcome and a great opportunity. Either both programs must fall back to lower functionality, or work must be done to integrate newer, faster, more bug-free versions of these algorithms from RawTherapee, which will take effort but yield significant speed improvements.

In discussion with @heckflosse we decided it would be a good opportunity to better modularize some of the code used in RawTherapee so that we can better support the open-source photo editor ecosystem. The objective here is to allow dependent projects like Filmulator, HDRMerge, or PhotoFlow to use the source files for some of the key algorithms from RawTherapee verbatim, so that any further improvements made in RT can be easily transferred.

3 Likes

and LuminanceHdr

Does libRaw have the same functionality as RawSpeed?

Afaik LibRaw and RawSpeed are mainly raw decoders. In past, libraw (don’t know about rawspeed) also supported demosaic and some raw preprocessing.

The topic is about the steps after decoding the raw files until they are demosaiced (or pixelshift combined)

rawproc is in the same boat. I’m coming up on some sort of catharsis here, about libraries, so this consideration will be in the mix.

1 Like

Correct, (basically) no post-decoding algorithms in rawspeed. (no demosaic, dng opcode list 3, …)

1 Like