Skip to content

Commit

Permalink
Merge branch 'patch-1' of https://github.com/kmilos/darktable
Browse files Browse the repository at this point in the history
  • Loading branch information
TurboGit committed Nov 5, 2021
2 parents b97af8b + f1da10c commit 2d8c546
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,9 @@ if(NOT WIN32)
else()
add_definitions("-D_XOPEN_SOURCE=700")
endif(CMAKE_SYSTEM MATCHES "SunOS.*")
endif(NOT WIN32)
else()
add_definitions("-D_USE_MATH_DEFINES")
endif()

# Set default component name - that way external modules like RawSpeed will install their
# materials under the default component and not under 'Unspecified'
Expand Down
4 changes: 2 additions & 2 deletions src/common/imageio_dng.h
Original file line number Diff line number Diff line change
Expand Up @@ -207,12 +207,12 @@ static inline void dt_imageio_write_dng(
const uint8_t xtrans[6][6],
const float whitelevel,
const dt_aligned_pixel_t wb_coeffs,
const char camera_model[24])
const char camera_makermodel[128])
{
FILE *f = g_fopen(filename, "wb");
if(f)
{
dt_imageio_dng_write_tiff_header(f, wd, ht, 1.0f / 100.0f, 1.0f / 4.0f, 50.0f, 100.0f, filter, xtrans, whitelevel, wb_coeffs, camera_model);
dt_imageio_dng_write_tiff_header(f, wd, ht, 1.0f / 100.0f, 1.0f / 4.0f, 50.0f, 100.0f, filter, xtrans, whitelevel, wb_coeffs, camera_makermodel);
const int k = fwrite(pixel, sizeof(float), (size_t)wd * ht, f);
if(k != wd * ht) fprintf(stderr, "[dng_write] Error writing image data to %s\n", filename);
fclose(f);
Expand Down
17 changes: 11 additions & 6 deletions src/iop/colorbalance.c
Original file line number Diff line number Diff line change
Expand Up @@ -1407,26 +1407,30 @@ void commit_params(struct dt_iop_module_t *self, dt_iop_params_t *p1, dt_dev_pix

d->mode = p->mode;

const dt_aligned_pixel_t lift = { p->lift[CHANNEL_RED], p->lift[CHANNEL_GREEN], p->lift[CHANNEL_BLUE] };
const dt_aligned_pixel_t gamma = { p->gamma[CHANNEL_RED], p->gamma[CHANNEL_GREEN], p->gamma[CHANNEL_BLUE] };
const dt_aligned_pixel_t gain = { p->gain[CHANNEL_RED], p->gain[CHANNEL_GREEN], p->gain[CHANNEL_BLUE] };

switch(d->mode)
{
case SLOPE_OFFSET_POWER:
{
// Correct the luminance in RGB parameters so we don't affect it
dt_aligned_pixel_t XYZ;

dt_prophotorgb_to_XYZ((const float *)&p->lift[CHANNEL_RED], XYZ);
dt_prophotorgb_to_XYZ(lift, XYZ);
d->lift[CHANNEL_FACTOR] = p->lift[CHANNEL_FACTOR];
d->lift[CHANNEL_RED] = (p->lift[CHANNEL_RED] - XYZ[1]) + 1.f;
d->lift[CHANNEL_GREEN] = (p->lift[CHANNEL_GREEN] - XYZ[1]) + 1.f;
d->lift[CHANNEL_BLUE] = (p->lift[CHANNEL_BLUE] - XYZ[1]) + 1.f;

dt_prophotorgb_to_XYZ((const float *)&p->gamma[CHANNEL_RED], XYZ);
dt_prophotorgb_to_XYZ(gamma, XYZ);
d->gamma[CHANNEL_FACTOR] = p->gamma[CHANNEL_FACTOR];
d->gamma[CHANNEL_RED] = (p->gamma[CHANNEL_RED] - XYZ[1]) + 1.f;
d->gamma[CHANNEL_GREEN] = (p->gamma[CHANNEL_GREEN] - XYZ[1]) + 1.f;
d->gamma[CHANNEL_BLUE] = (p->gamma[CHANNEL_BLUE] - XYZ[1]) + 1.f;

dt_prophotorgb_to_XYZ((const float *)&p->gain[CHANNEL_RED], XYZ);
dt_prophotorgb_to_XYZ(gain, XYZ);
d->gain[CHANNEL_FACTOR] = p->gain[CHANNEL_FACTOR];
d->gain[CHANNEL_RED] = (p->gain[CHANNEL_RED] - XYZ[1]) + 1.f;
d->gain[CHANNEL_GREEN] = (p->gain[CHANNEL_GREEN] - XYZ[1]) + 1.f;
Expand All @@ -1452,19 +1456,20 @@ void commit_params(struct dt_iop_module_t *self, dt_iop_params_t *p1, dt_dev_pix
{
// Correct the luminance in RGB parameters so we don't affect it
dt_aligned_pixel_t XYZ;
dt_prophotorgb_to_XYZ((const float *)&p->lift[CHANNEL_RED], XYZ);

dt_prophotorgb_to_XYZ(lift, XYZ);
d->lift[CHANNEL_FACTOR] = p->lift[CHANNEL_FACTOR];
d->lift[CHANNEL_RED] = (p->lift[CHANNEL_RED] - XYZ[1]) + 1.f;
d->lift[CHANNEL_GREEN] = (p->lift[CHANNEL_GREEN] - XYZ[1]) + 1.f;
d->lift[CHANNEL_BLUE] = (p->lift[CHANNEL_BLUE] - XYZ[1]) + 1.f;

dt_prophotorgb_to_XYZ((const float *)&p->gamma[CHANNEL_RED], XYZ);
dt_prophotorgb_to_XYZ(gamma, XYZ);
d->gamma[CHANNEL_FACTOR] = p->gamma[CHANNEL_FACTOR];
d->gamma[CHANNEL_RED] = (p->gamma[CHANNEL_RED] - XYZ[1]) + 1.f;
d->gamma[CHANNEL_GREEN] = (p->gamma[CHANNEL_GREEN] - XYZ[1]) + 1.f;
d->gamma[CHANNEL_BLUE] = (p->gamma[CHANNEL_BLUE] - XYZ[1]) + 1.f;

dt_prophotorgb_to_XYZ((const float *)&p->gain[CHANNEL_RED], XYZ);
dt_prophotorgb_to_XYZ(gain, XYZ);
d->gain[CHANNEL_FACTOR] = p->gain[CHANNEL_FACTOR];
d->gain[CHANNEL_RED] = (p->gain[CHANNEL_RED] - XYZ[1]) + 1.f;
d->gain[CHANNEL_GREEN] = (p->gain[CHANNEL_GREEN] - XYZ[1]) + 1.f;
Expand Down
1 change: 0 additions & 1 deletion src/win/win.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
#endif
#define __MSVCRT_VERSION__ 0x0700

#undef __STRICT_ANSI__
#define XMD_H

#undef _WIN32_WINNT
Expand Down

0 comments on commit 2d8c546

Please sign in to comment.