![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/colorspaces_inline_conversions.h"#include "common/imagebuf.h"#include "common/math.h"#include "develop/blend.h"#include "develop/imageop.h"#include "develop/openmp_maths.h"
Include dependency graph for blendif_lab.c:Macros | |
| #define | DT_BLENDIF_LAB_CH 4 |
| #define | DT_BLENDIF_LAB_BCH 3 |
Typedefs | |
| typedef void() | _blend_row_func(const float *const restrict a, const float *const restrict b, float *const restrict out, const float *const restrict mask, const size_t stride, const dt_aligned_pixel_t min, const dt_aligned_pixel_t max) |
Functions | |
| static float | _CLAMP (const float x, const float min, const float max) |
| static void | _CLAMP_XYZ (dt_aligned_pixel_t XYZ, const dt_aligned_pixel_t min, const dt_aligned_pixel_t max) |
| static float | _blendif_compute_factor (const float value, const unsigned int invert_mask, const float *const restrict parameters) |
| __OMP_DECLARE_SIMD__ (aligned(pixels:16) uniform(parameters, invert_mask, stride)) | |
| __OMP_DECLARE_SIMD__ (aligned(pixels, invert_mask:16) uniform(parameters, invert_mask, stride)) | |
| __OMP_DECLARE_SIMD__ (aligned(pixels:16) uniform(stride, blendif, parameters)) | |
| void | dt_develop_blendif_lab_make_mask (const struct dt_dev_pixelpipe_iop_t *piece, const float *const restrict a, const float *const restrict b, float *const restrict mask) |
| static void | _blend_Lab_scale (const float *i, float *o) |
| static void | _blend_Lab_rescale (const float *i, float *o) |
| __OMP_DECLARE_SIMD__ (aligned(a, b, out, min, max:16) uniform(stride, min, max)) | |
| static _blend_row_func * | _choose_blend_func (const unsigned int blend_mode) |
| static void | _display_channel_value (dt_aligned_pixel_t out, const float value, const float mask) |
| __OMP_DECLARE_SIMD__ (aligned(a, b:16) uniform(channel, stride)) | |
| __OMP_DECLARE_SIMD__ (aligned(a, b:16) uniform(stride)) | |
| void | dt_develop_blendif_lab_blend (const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, const float *const a, float *const b, const float *const restrict mask, const dt_dev_pixelpipe_display_mask_t request_mask_display) |
| #define DT_BLENDIF_LAB_BCH 3 |
| #define DT_BLENDIF_LAB_CH 4 |
| typedef void() _blend_row_func(const float *const restrict a, const float *const restrict b, float *const restrict out, const float *const restrict mask, const size_t stride, const dt_aligned_pixel_t min, const dt_aligned_pixel_t max) |
References _blend_Lab_rescale(), _blend_Lab_scale(), _CLAMP(), DT_BLENDIF_LAB_BCH, DT_BLENDIF_LAB_CH, for_each_channel, i, max, min, out, and x.
| __OMP_DECLARE_SIMD__ | ( | aligned(a, b:16) uniform(channel, stride) | ) |
References _display_channel_value(), clamp_simd(), DEVELOP_BLENDIF_A_in, DEVELOP_BLENDIF_A_out, DEVELOP_BLENDIF_B_in, DEVELOP_BLENDIF_B_out, DEVELOP_BLENDIF_C_in, DEVELOP_BLENDIF_C_out, DEVELOP_BLENDIF_L_in, DEVELOP_BLENDIF_L_out, DT_BLENDIF_LAB_CH, DT_DEV_PIXELPIPE_DISPLAY_a, DT_DEV_PIXELPIPE_DISPLAY_b, DT_DEV_PIXELPIPE_DISPLAY_L, DT_DEV_PIXELPIPE_DISPLAY_LCH_C, DT_DEV_PIXELPIPE_DISPLAY_LCH_h, DT_DEV_PIXELPIPE_DISPLAY_OUTPUT, factor, i, and LCH.
| __OMP_DECLARE_SIMD__ | ( | aligned(a, b:16) uniform(stride) | ) |
References __OMP_SIMD__, DT_BLENDIF_LAB_BCH, DT_BLENDIF_LAB_CH, and x.
| __OMP_DECLARE_SIMD__ | ( | aligned(pixels, invert_mask:16) uniform(parameters, invert_mask, stride) | ) |
References _blendif_compute_factor(), DEVELOP_BLENDIF_PARAMETER_ITEMS, DT_BLENDIF_LAB_CH, factor, LCH, and x.
| __OMP_DECLARE_SIMD__ | ( | aligned(pixels:16) uniform(parameters, invert_mask, stride) | ) |
References _blendif_compute_factor(), DT_BLENDIF_LAB_CH, and x.
| __OMP_DECLARE_SIMD__ | ( | aligned(pixels:16) uniform(stride, blendif, parameters) | ) |
|
inlinestatic |
References for_each_channel, and i.
Referenced by __OMP_DECLARE_SIMD__().
|
inlinestatic |
References for_each_channel, and i.
Referenced by __OMP_DECLARE_SIMD__().
|
inlinestatic |
Referenced by __OMP_DECLARE_SIMD__(), and __OMP_DECLARE_SIMD__().
|
static |
References DEVELOP_BLEND_ADD, DEVELOP_BLEND_AVERAGE, DEVELOP_BLEND_BOUNDED, DEVELOP_BLEND_CHROMATICITY, DEVELOP_BLEND_COLOR, DEVELOP_BLEND_COLORADJUST, DEVELOP_BLEND_DARKEN, DEVELOP_BLEND_DIFFERENCE, DEVELOP_BLEND_DIFFERENCE2, DEVELOP_BLEND_HARDLIGHT, DEVELOP_BLEND_HUE, DEVELOP_BLEND_LAB_A, DEVELOP_BLEND_LAB_B, DEVELOP_BLEND_LAB_COLOR, DEVELOP_BLEND_LAB_L, DEVELOP_BLEND_LAB_LIGHTNESS, DEVELOP_BLEND_LIGHTEN, DEVELOP_BLEND_LIGHTNESS, DEVELOP_BLEND_LINEARLIGHT, DEVELOP_BLEND_MODE_MASK, DEVELOP_BLEND_MULTIPLY, DEVELOP_BLEND_NORMAL2, DEVELOP_BLEND_OVERLAY, DEVELOP_BLEND_PINLIGHT, DEVELOP_BLEND_SCREEN, DEVELOP_BLEND_SOFTLIGHT, DEVELOP_BLEND_SUBTRACT, and DEVELOP_BLEND_VIVIDLIGHT.
Referenced by dt_develop_blendif_lab_blend().
|
inlinestatic |
Referenced by __OMP_DECLARE_SIMD__().
|
inlinestatic |
References for_each_channel, i, max, min, and XYZ.
|
inlinestatic |
Referenced by __OMP_DECLARE_SIMD__().
| void dt_develop_blendif_lab_blend | ( | const struct dt_dev_pixelpipe_t * | pipe, |
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const float *const | a, | ||
| float *const | b, | ||
| const float *const restrict | mask, | ||
| const dt_dev_pixelpipe_display_mask_t | request_mask_display | ||
| ) |
References __OMP_FOR_SIMD__, __OMP_PARALLEL_FOR__, _choose_blend_func(), dt_dev_pixelpipe_iop_t::blendop_data, dt_iop_buffer_dsc_t::channels, d, DEVELOP_BLEND_REVERSE, dt_dev_pixelpipe_iop_t::dsc_in, DT_BLENDIF_LAB_CH, DT_DEV_PIXELPIPE_DISPLAY_ANY, DT_DEV_PIXELPIPE_DISPLAY_MASK, dt_iop_image_copy(), dt_ioppr_get_pipe_work_profile_info(), dt_pixelpipe_cache_alloc_align_float_cache, dt_pixelpipe_cache_free_align, dt_Rec709_to_XYZ_D50(), dt_XYZ_to_Lab(), for_each_channel, dt_iop_roi_t::height, IS_NULL_PTR, dt_iop_order_iccprofile_info_t::lut_in, dt_iop_order_iccprofile_info_t::lutsize, dt_dev_pixelpipe_t::mask_display, dt_iop_order_iccprofile_info_t::matrix_in_transposed, max, min, dt_iop_order_iccprofile_info_t::nonlinearlut, dt_dev_pixelpipe_iop_t::roi_in, dt_dev_pixelpipe_iop_t::roi_out, dt_iop_roi_t::width, dt_iop_roi_t::x, XYZ, and dt_iop_roi_t::y.
| void dt_develop_blendif_lab_make_mask | ( | const struct dt_dev_pixelpipe_iop_t * | piece, |
| const float *const restrict | a, | ||
| const float *const restrict | b, | ||
| float *const restrict | mask | ||
| ) |
References __OMP_FOR__, __OMP_FOR_SIMD__, __OMP_PARALLEL__, __OMP_PARALLEL_FOR_SIMD__, dt_dev_pixelpipe_iop_t::blendop_data, dt_iop_buffer_dsc_t::channels, clamp_simd(), d, DEVELOP_BLENDIF_L_out, DEVELOP_BLENDIF_Lab_MASK, DEVELOP_BLENDIF_PARAMETER_ITEMS, DEVELOP_BLENDIF_SIZE, DEVELOP_COMBINE_INCL, DEVELOP_COMBINE_INV, DEVELOP_MASK_CONDITIONAL, dt_dev_pixelpipe_iop_t::dsc_in, DT_ALIGNED_ARRAY, DT_BLENDIF_LAB_CH, dt_develop_blendif_process_parameters(), dt_iop_image_fill(), dt_iop_image_mul_const(), dt_pixelpipe_cache_alloc_align_float_cache, dt_pixelpipe_cache_free_align, dt_iop_roi_t::height, IS_NULL_PTR, dt_dev_pixelpipe_iop_t::roi_in, dt_dev_pixelpipe_iop_t::roi_out, dt_iop_roi_t::width, x, dt_iop_roi_t::x, and dt_iop_roi_t::y.