44 work_profile->unbounded_coeffs_in,
51 return fmaxf(in[0], fmaxf(in[1], in[2]));
55 return (in[0] + in[1] + in[2]) / 3.0f;
59 return in[0] + in[1] + in[2];
63 return powf(in[0] * in[0] + in[1] * in[1] + in[2] * in[2], 0.5f);
71 return (in[0] *
R + in[1] * G + in[2] *
B) / (
R + G +
B);
73 else return (in[0] + in[1] + in[2]) / 3.0f;
static float dt_camera_rgb_luminance(const float4 rgb)
Definition color_conversion.h:166
#define B(y, x)
Definition colorspaces.c:187
dt_iop_rgb_norms_t
Definition data/kernels/rgb_norms.h:23
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:276
dt_iop_rgb_norms_t
Definition src/common/rgb_norms.h:26
@ DT_RGB_NORM_AVERAGE
Definition src/common/rgb_norms.h:30
@ DT_RGB_NORM_NORM
Definition src/common/rgb_norms.h:32
@ DT_RGB_NORM_NONE
Definition src/common/rgb_norms.h:27
@ DT_RGB_NORM_LUMINANCE
Definition src/common/rgb_norms.h:28
@ DT_RGB_NORM_SUM
Definition src/common/rgb_norms.h:31
@ DT_RGB_NORM_POWER
Definition src/common/rgb_norms.h:33
@ DT_RGB_NORM_MAX
Definition src/common/rgb_norms.h:29
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:36
Definition iop_profile.h:52
int nonlinearlut
Definition iop_profile.h:63
int lutsize
Definition iop_profile.h:58
float * lut_in[3]
Definition iop_profile.h:59
dt_colormatrix_t matrix_in
Definition iop_profile.h:56