34dt_rgb_norm(
const float4 in,
const int norm,
const int work_profile,
43 return max(in.x,
max(in.y, in.z));
47 return (in.x + in.y + in.z) / 3.0f;
51 return in.x + in.y + in.z;
55 return native_powr(in.x * in.x + in.y * in.y + in.z * in.z, 0.5f);
63 return (in.x *
R + in.y * G + in.z *
B) / (
R + G +
B);
65 else return (in.x + in.y + in.z) / 3.0f;
static float dt_camera_rgb_luminance(const float4 rgb)
Definition color_conversion.h:166
static float get_rgb_matrix_luminance(const float4 rgb, constant const dt_colorspaces_iccprofile_info_cl_t *const profile_info, constant const float *const matrix, read_only image2d_t lut)
Definition color_conversion.h:130
#define B(y, x)
Definition colorspaces.c:187
const float max
Definition colorspaces_inline_conversions.h:721
static float dt_rgb_norm(const float4 in, const int norm, const int work_profile, constant dt_colorspaces_iccprofile_info_cl_t *profile_info, read_only image2d_t lut)
Definition data/kernels/rgb_norms.h:34
dt_iop_rgb_norms_t
Definition data/kernels/rgb_norms.h:23
@ DT_RGB_NORM_AVERAGE
Definition data/kernels/rgb_norms.h:27
@ DT_RGB_NORM_NORM
Definition data/kernels/rgb_norms.h:29
@ DT_RGB_NORM_NONE
Definition data/kernels/rgb_norms.h:24
@ DT_RGB_NORM_LUMINANCE
Definition data/kernels/rgb_norms.h:25
@ DT_RGB_NORM_SUM
Definition data/kernels/rgb_norms.h:28
@ DT_RGB_NORM_POWER
Definition data/kernels/rgb_norms.h:30
@ DT_RGB_NORM_MAX
Definition data/kernels/rgb_norms.h:26
static const float *const lut
Definition iop_profile.h:246
Definition color_conversion.h:42