40 work_profile->unbounded_coeffs_in,
47 return fmaxf(in[0], fmaxf(in[1], in[2]));
51 return (in[0] + in[1] + in[2]) / 3.0f;
55 return in[0] + in[1] + in[2];
59 return powf(in[0] * in[0] + in[1] * in[1] + in[2] * in[2], 0.5f);
67 return (in[0] *
R + in[1] * G + in[2] *
B) / (
R + G +
B);
69 else return (in[0] + in[1] + in[2]) / 3.0f;
static float dt_camera_rgb_luminance(const float4 rgb)
Definition color_conversion.h:152
#define B(y, x)
Definition colorspaces.c:149
dt_iop_rgb_norms_t
Definition data/kernels/rgb_norms.h:20
static float dt_ioppr_get_rgb_matrix_luminance(const dt_aligned_pixel_t rgb, const dt_colormatrix_t matrix_in, float *const lut_in[3], const float unbounded_coeffs_in[3][3], const int lutsize, const int nonlinearlut)
Definition iop_profile.h:258
dt_iop_rgb_norms_t
Definition src/common/rgb_norms.h:22
@ DT_RGB_NORM_AVERAGE
Definition src/common/rgb_norms.h:26
@ DT_RGB_NORM_NORM
Definition src/common/rgb_norms.h:28
@ DT_RGB_NORM_NONE
Definition src/common/rgb_norms.h:23
@ DT_RGB_NORM_LUMINANCE
Definition src/common/rgb_norms.h:24
@ DT_RGB_NORM_SUM
Definition src/common/rgb_norms.h:27
@ DT_RGB_NORM_POWER
Definition src/common/rgb_norms.h:29
@ DT_RGB_NORM_MAX
Definition src/common/rgb_norms.h:25
static float dt_rgb_norm(const float *in, const int norm, const dt_iop_order_iccprofile_info_t *const work_profile)
Definition src/common/rgb_norms.h:32
Definition iop_profile.h:41
int nonlinearlut
Definition iop_profile.h:52
int lutsize
Definition iop_profile.h:47
float * lut_in[3]
Definition iop_profile.h:48
dt_colormatrix_t matrix_in
Definition iop_profile.h:45