![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "bauhaus/bauhaus.h"#include "common/bilateral.h"#include "common/bilateralcl.h"#include "common/debug.h"#include "common/gaussian.h"#include "common/opencl.h"#include "control/control.h"#include "develop/develop.h"#include "develop/imageop.h"#include "develop/imageop_math.h"#include "develop/imageop_gui.h"#include "develop/tiling.h"#include "dtgtk/togglebutton.h"#include "gui/gtk.h"#include "gui/presets.h"#include "iop/iop_api.h"#include <assert.h>#include <math.h>#include <stdlib.h>#include <string.h>#include <gtk/gtk.h>#include <inttypes.h>
Include dependency graph for shadhi.c:Data Structures | |
| struct | dt_iop_shadhi_params1_t |
| struct | dt_iop_shadhi_params2_t |
| struct | dt_iop_shadhi_params3_t |
| struct | dt_iop_shadhi_params4_t |
| struct | dt_iop_shadhi_params_t |
| struct | dt_iop_shadhi_gui_data_t |
| struct | dt_iop_shadhi_data_t |
| struct | dt_iop_shadhi_global_data_t |
Macros | |
| #define | UNBOUND_L 1 |
| #define | UNBOUND_A 2 |
| #define | UNBOUND_B 4 |
| #define | UNBOUND_SHADOWS_L UNBOUND_L |
| #define | UNBOUND_SHADOWS_A UNBOUND_A |
| #define | UNBOUND_SHADOWS_B UNBOUND_B |
| #define | UNBOUND_HIGHLIGHTS_L (UNBOUND_L << 3) /* 8 */ |
| #define | UNBOUND_HIGHLIGHTS_A (UNBOUND_A << 3) /* 16 */ |
| #define | UNBOUND_HIGHLIGHTS_B (UNBOUND_B << 3) /* 32 */ |
| #define | UNBOUND_GAUSSIAN 64 |
| #define | UNBOUND_BILATERAL 128 /* not implemented yet */ |
| #define | UNBOUND_DEFAULT |
Typedefs | |
| typedef enum dt_iop_shadhi_algo_t | dt_iop_shadhi_algo_t |
| typedef struct dt_iop_shadhi_params1_t | dt_iop_shadhi_params1_t |
| typedef struct dt_iop_shadhi_params2_t | dt_iop_shadhi_params2_t |
| typedef struct dt_iop_shadhi_params3_t | dt_iop_shadhi_params3_t |
| typedef struct dt_iop_shadhi_params4_t | dt_iop_shadhi_params4_t |
| typedef struct dt_iop_shadhi_params_t | dt_iop_shadhi_params_t |
| typedef struct dt_iop_shadhi_gui_data_t | dt_iop_shadhi_gui_data_t |
| typedef struct dt_iop_shadhi_data_t | dt_iop_shadhi_data_t |
| typedef struct dt_iop_shadhi_global_data_t | dt_iop_shadhi_global_data_t |
Enumerations | |
| enum | dt_iop_shadhi_algo_t { SHADHI_ALGO_GAUSSIAN , SHADHI_ALGO_BILATERAL } |
| #define UNBOUND_A 2 |
| #define UNBOUND_B 4 |
| #define UNBOUND_BILATERAL 128 /* not implemented yet */ |
| #define UNBOUND_DEFAULT |
| #define UNBOUND_GAUSSIAN 64 |
| #define UNBOUND_HIGHLIGHTS_A (UNBOUND_A << 3) /* 16 */ |
| #define UNBOUND_HIGHLIGHTS_B (UNBOUND_B << 3) /* 32 */ |
| #define UNBOUND_HIGHLIGHTS_L (UNBOUND_L << 3) /* 8 */ |
| #define UNBOUND_L 1 |
| #define UNBOUND_SHADOWS_A UNBOUND_A |
| #define UNBOUND_SHADOWS_B UNBOUND_B |
| #define UNBOUND_SHADOWS_L UNBOUND_L |
| typedef enum dt_iop_shadhi_algo_t dt_iop_shadhi_algo_t |
| typedef struct dt_iop_shadhi_data_t dt_iop_shadhi_data_t |
| typedef struct dt_iop_shadhi_global_data_t dt_iop_shadhi_global_data_t |
| typedef struct dt_iop_shadhi_gui_data_t dt_iop_shadhi_gui_data_t |
| typedef struct dt_iop_shadhi_params1_t dt_iop_shadhi_params1_t |
| typedef struct dt_iop_shadhi_params2_t dt_iop_shadhi_params2_t |
| typedef struct dt_iop_shadhi_params3_t dt_iop_shadhi_params3_t |
| typedef struct dt_iop_shadhi_params4_t dt_iop_shadhi_params4_t |
| typedef struct dt_iop_shadhi_params_t dt_iop_shadhi_params_t |
| enum dt_iop_shadhi_algo_t |
| void cleanup_global | ( | dt_iop_module_so_t * | module | ) |
| void cleanup_pipe | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
References dt_dev_pixelpipe_iop_t::data.
| 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 | ||
| ) |
References dt_iop_shadhi_data_t::compress, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_t::devid, dt_iop_shadhi_data_t::flags, dt_iop_shadhi_data_t::highlights, dt_iop_shadhi_data_t::highlights_ccorrect, dt_iop_shadhi_data_t::low_approximation, dt_iop_shadhi_data_t::order, dt_dev_pixelpipe_iop_t::process_cl_ready, dt_iop_shadhi_data_t::radius, dt_iop_shadhi_data_t::shadhi_algo, SHADHI_ALGO_BILATERAL, dt_iop_shadhi_data_t::shadows, dt_iop_shadhi_data_t::shadows_ccorrect, and dt_iop_shadhi_data_t::whitepoint.
| int default_colorspace | ( | dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
References IOP_CS_LAB.
| int default_group | ( | ) |
References IOP_GROUP_TONES.
| const char ** description | ( | struct dt_iop_module_t * | self | ) |
References dt_iop_set_description().
| int flags | ( | ) |
References IOP_FLAGS_ALLOW_TILING, IOP_FLAGS_DEPRECATED, IOP_FLAGS_INCLUDE_IN_STYLES, and IOP_FLAGS_SUPPORTS_BLENDING.
Referenced by process().
| void gui_init | ( | struct dt_iop_module_t * | self | ) |
| void init_global | ( | dt_iop_module_so_t * | module | ) |
| void init_pipe | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
References dt_dev_pixelpipe_iop_t::data, and dt_dev_pixelpipe_iop_t::data_size.
| int legacy_params | ( | dt_iop_module_t * | self, |
| const void *const | old_params, | ||
| const int | old_version, | ||
| void * | new_params, | ||
| const int | new_version | ||
| ) |
References dt_iop_shadhi_params1_t::compress, dt_iop_shadhi_params2_t::compress, dt_iop_shadhi_params3_t::compress, dt_iop_shadhi_params4_t::compress, dt_iop_shadhi_params3_t::flags, dt_iop_shadhi_params4_t::flags, dt_iop_shadhi_params1_t::highlights, dt_iop_shadhi_params2_t::highlights, dt_iop_shadhi_params3_t::highlights, dt_iop_shadhi_params4_t::highlights, dt_iop_shadhi_params2_t::highlights_ccorrect, dt_iop_shadhi_params3_t::highlights_ccorrect, dt_iop_shadhi_params4_t::highlights_ccorrect, dt_iop_shadhi_params4_t::low_approximation, dt_iop_shadhi_params1_t::order, dt_iop_shadhi_params2_t::order, dt_iop_shadhi_params3_t::order, dt_iop_shadhi_params4_t::order, dt_iop_shadhi_params_t::order, dt_iop_shadhi_params1_t::radius, dt_iop_shadhi_params2_t::radius, dt_iop_shadhi_params3_t::radius, dt_iop_shadhi_params4_t::radius, dt_iop_shadhi_params1_t::reserved1, dt_iop_shadhi_params2_t::reserved1, dt_iop_shadhi_params3_t::reserved1, dt_iop_shadhi_params1_t::reserved2, dt_iop_shadhi_params2_t::reserved2, dt_iop_shadhi_params3_t::reserved2, dt_iop_shadhi_params4_t::reserved2, SHADHI_ALGO_BILATERAL, SHADHI_ALGO_GAUSSIAN, dt_iop_shadhi_params1_t::shadows, dt_iop_shadhi_params2_t::shadows, dt_iop_shadhi_params3_t::shadows, dt_iop_shadhi_params4_t::shadows, dt_iop_shadhi_params2_t::shadows_ccorrect, dt_iop_shadhi_params3_t::shadows_ccorrect, dt_iop_shadhi_params4_t::shadows_ccorrect, and dt_iop_shadhi_params4_t::whitepoint.
| const char * name | ( | ) |
| void process | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_iop_t * | piece, | ||
| const void *const | ivoid, | ||
| void *const | ovoid, | ||
| const dt_iop_roi_t *const | roi_in, | ||
| const dt_iop_roi_t *const | roi_out | ||
| ) |
References _Lab_rescale(), _Lab_scale(), dt_dev_pixelpipe_iop_t::colors, dt_dev_pixelpipe_iop_t::data, dt_bilateral_blur(), dt_bilateral_free(), dt_bilateral_init(), dt_bilateral_slice(), dt_bilateral_splat(), DT_DEV_PIXELPIPE_DISPLAY_MASK, dt_gaussian_blur_4c(), dt_gaussian_free(), dt_gaussian_init(), dt_iop_alpha_copy(), flags(), height, dt_iop_roi_t::height, dt_dev_pixelpipe_iop_t::pipe, dt_iop_roi_t::scale, SHADHI_ALGO_BILATERAL, SHADHI_ALGO_GAUSSIAN, sigma_r, sigma_s, sign(), UNBOUND_BILATERAL, UNBOUND_GAUSSIAN, UNBOUND_HIGHLIGHTS_A, UNBOUND_HIGHLIGHTS_B, UNBOUND_HIGHLIGHTS_L, UNBOUND_SHADOWS_A, UNBOUND_SHADOWS_B, UNBOUND_SHADOWS_L, width, and dt_iop_roi_t::width.
|
inlinestatic |
Referenced by process().
| void tiling_callback | ( | struct dt_iop_module_t * | self, |
| struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const dt_iop_roi_t * | roi_in, | ||
| const dt_iop_roi_t * | roi_out, | ||
| struct dt_develop_tiling_t * | tiling | ||
| ) |
References dt_dev_pixelpipe_iop_t::colors, dt_dev_pixelpipe_iop_t::data, dt_bilateral_memory_use(), dt_bilateral_singlebuffer_size(), dt_gaussian_memory_use(), dt_gaussian_singlebuffer_size(), height, dt_iop_roi_t::height, dt_iop_shadhi_data_t::radius, dt_iop_roi_t::scale, dt_iop_shadhi_data_t::shadhi_algo, SHADHI_ALGO_BILATERAL, sigma_r, sigma_s, width, and dt_iop_roi_t::width.