Hi Aurélien

Fist, thank you for showing me this interesting video.
I just compiled your branch.

My first question is, is it possible to find shift power slope values that
reproduce the result we had before with linear and gamma?
If yes, I think you should compute the new parameters values from the old
ones.
You can take a look at function "legacy_param" in denoiseprofile.c to see
an example.
If that is not possible, we could imagine to have a "mode" selector in the
GUI to switch between "linear and gamma" and "shift power slope".

Considering opencl, I cannot help you here as I have never coded in opencl
and I do not have a GPU.
Yet, even without opencl, code seems already quite fast.

Considering the code itself, my only remarks are for this line:
      for(size_t k = 1; k < (size_t)ch * roi_out->width * roi_out->height;
k++)
First, is there a reason why you are using a size_t type? int or unsigned
would be fine I think, and you wouldn't need a cast.
Second, in C, array indexes start at 0, so the red value of the pixel at
the top left corner is not processed by your loop (you can see it on
exported image)

Sso I guess you want the for loop to be:
     for(unsigned k = 0; k < ch * roi_out->width * roi_out->height; k++)

I know that C is hard to learn, so congratulations Aurélien! :-)

rawfiner


Le mer. 12 sept. 2018 à 14:46, Aurélien Pierre <rese...@aurelienpierre.com>
a écrit :

> Hi everyone,
>
> when working with color profiles, the main historic issue was the
> non-linearity of the sensors/films. Now, it is rather that the color
> profile is performed on a chart having 6-7 EV of dynamic range while modern
> cameras have 12-15 EV. Simple gamma corrections (invented for CRT screens)
> don't work anymore, and video editors have invented a new standard able to
> remap the dynamic range and to fix the mid-tones at once :
> https://www.youtube.com/watch?v=kVKnhJN-BrQ&index=7&list=PLa1F2ddGya_9XER0wnFS6Mgnp3T-hgSZO
>
> I have embedded the formula used in Blender (
> https://en.wikipedia.org/wiki/ASC_CDL) into the profile correction module
> of dt (using the same parameters for each RGB channel). The result looks
> more natural than the current version, without gamut or saturation issues
> in the highlights. It also speeds-up the worflow, since all is needed is
> this module to adjust the dynamic range, then a tone curve in auto RGB mode
> shaped as a stiff S to bring back the contrast. The result is much better
> than with the tonemapping modules, with less color fixes.
>
> I'm a newbie at C and it's the first time I achieve something inside dt,
> so I could use some reviews on my code and also some help on the OpenCL
> part (the kernel does not load, I don't know why) :
> https://github.com/aurelienpierre/darktable/tree/color-grading
>
> Thanks a lot !
>
> Aurélien.
>
> ___________________________________________________________________________
> darktable developer mailing list to unsubscribe send a mail to
> darktable-dev+unsubscr...@lists.darktable.org
>

___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org

Reply via email to