ktgw0316 / LightZone

LightZone is a photo editor for Mac, Windows, and Linux.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Replace DCRaw with Libraw

sfink16 opened this issue · comments

DCRaw hasn't been update in nearly 4 years. I think DCRaw is dead. Canon has since changed to a new format called CR3. I noticed that the supported camera list is much more extensive than DCRaw, see link below. FYI, Darktable switched to Libraw as did Rawtherpee.

Is it possible for LZ to changed to Libraw?

https://www.libraw.org/supported-cameras

Thanks! Steve

Although it is absolutely worth replacing, there are some reasons it is hard to do so:

  • LightZone modifies the original DCRaw for its own color space conversion, so we cannot use vanilla libraw.
  • I've once tried to use libraw in LightZone and it worked, but it was far slower than dcraw_lz that is multi-threaded using OpenMP.
  • Backward compatibility will be broken if we changed the raw decoder

I'm not saying it is impossible, but it will take a lot effort.

  • Can you expand your first point? I looked at the code and admittedly, I'm not sure that I'm following the color space code and what it specifically is doing. Are there any options in libraw to do the same and if not, what happens if no conversion is done?
  • If DCRaw is never going to be updated, than LZ is dead to all new cameras anyway. As time goes by more and more users will be upgrading their cameras. Lets say that half the users use cameras currently in version the latest version of 4.2.5, while the other half of the users purchased new cameras not included in 4.2.5. Is it possible to call LZ version 4.2.5 Lightzone 1 and subsequent versions with the new raw decoder Lightzone 2?
  • Is it possible to review the Darktable and/or Rawtherpee code to determine why those programs seemed to be working fast?
  • Is there any way any non-coders can help?

If backwards compatibility is a problem maybe consider LightZone Legacy - basically LightZone as it is now (or the next release if you are near a new one), gets no new features / enhancements - if maintained at all just what it needs to work on an upgraded O/S from current O/S versions.
Then LightZone 5 is the main focus, integration of Libraw (or similar), gets the new features, etc, etc.
Or just consider the cold turkey option - next version of LightZone will not be compatible with previous file edits, its not like it can’t be justified with DCRAW no longer being developed and you being the only developer for LightZone I think it would be reasonable for you to take that path for the advantages it brings going forward. Then you only have one version to worry about.

Another idea about the compatibility -- Keep both dcraw 9.28 and another new decoder, then let dcraw handle what current LZ supports, and let the new decoder handle new cameras.

Another idea about the compatibility -- Keep both dcraw 9.28 and another new decoder, then let dcraw handle what current LZ supports, and let the new decoder handle new cameras.

Great idea!