diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b9073512a44..49ec7d216501 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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' diff --git a/src/common/imageio_dng.h b/src/common/imageio_dng.h index b522fb552b80..f99ac2b701ab 100644 --- a/src/common/imageio_dng.h +++ b/src/common/imageio_dng.h @@ -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); diff --git a/src/iop/colorbalance.c b/src/iop/colorbalance.c index c4adec7f6308..27d4cc5471e7 100644 --- a/src/iop/colorbalance.c +++ b/src/iop/colorbalance.c @@ -1407,6 +1407,10 @@ 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: @@ -1414,19 +1418,19 @@ 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; @@ -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; diff --git a/src/win/win.h b/src/win/win.h index 0567374e93e1..f1d18b314fbf 100644 --- a/src/win/win.h +++ b/src/win/win.h @@ -5,7 +5,6 @@ #endif #define __MSVCRT_VERSION__ 0x0700 -#undef __STRICT_ANSI__ #define XMD_H #undef _WIN32_WINNT