78 return _(
"this module is deprecated. please use the vibrance slider in the color balance rgb module instead.");
88 return _(
"saturation");
110 "to make the colors more vivid."),
112 _(
"linear or non-linear, Lab, display-referred"),
113 _(
"non-linear, Lab"),
114 _(
"non-linear, Lab, display-referred"));
124 const float *
const restrict in = (
float *)ivoid;
125 float *
const restrict
out = (
float *)
ovoid;
127 const float amount = (
d->amount * 0.01);
128 const int npixels = roi_out->
height * roi_out->
width;
130 for(
int k = 0;
k < 4 * npixels;
k += 4)
133 const float sw = sqrtf((in[
k + 1] * in[
k + 1]) + (in[
k + 2] * in[
k + 2])) / 256.0f;
134 const float ls = 1.0f - ((amount * sw) * .25f);
135 const float ss = 1.0f + (amount * sw);
138 for (
int c = 0; c < 4; c++)
140 out[
k + c] = in[
k + c] * weights[c];
151 d->amount =
p->amount;
179 gtk_widget_set_tooltip_text(
g->amount_scale, _(
"the amount of vibrance"));
void dt_bauhaus_slider_set(GtkWidget *widget, float pos)
void dt_bauhaus_slider_set_format(GtkWidget *widget, const char *format)
static const dt_aligned_pixel_simd_t const dt_adaptation_t const float p
const dt_colormatrix_t dt_aligned_pixel_t out
#define dt_free_align(ptr)
static void * dt_calloc_align(size_t size)
#define __OMP_SIMD__(...)
#define DT_MODULE_INTROSPECTION(MODVER, PARAMSTYPE)
#define __DT_CLONE_TARGETS__
#define __OMP_PARALLEL_FOR__(...)
const char ** dt_iop_set_description(dt_iop_module_t *module, const char *main_text, const char *purpose, const char *input, const char *process, const char *output)
@ IOP_FLAGS_INCLUDE_IN_STYLES
@ IOP_FLAGS_SUPPORTS_BLENDING
#define IOP_GUI_ALLOC(module)
GtkWidget * dt_bauhaus_slider_from_params(dt_iop_module_t *self, const char *param)
float *const restrict const size_t k
float dt_aligned_pixel_t[4]
struct _GtkWidget GtkWidget
struct dt_iop_module_t *void * data
dt_iop_gui_data_t * gui_data
Region of interest passed through the pixelpipe.
void commit_params(struct dt_iop_module_t *self, dt_iop_params_t *p1, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
const char ** description(struct dt_iop_module_t *self)
__DT_CLONE_TARGETS__ int process(struct dt_iop_module_t *self, const dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid)
void init_pipe(struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
void gui_update(struct dt_iop_module_t *self)
Refresh GUI controls from current params and configuration.
void gui_init(struct dt_iop_module_t *self)
int default_colorspace(dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece)
void cleanup_pipe(struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
const char * deprecated_msg()