![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/darktable.h"
#include "common/imagebuf.h"
#include "common/image_cache.h"
#include "common/interpolation.h"
#include "common/math.h"
#include "common/opencl.h"
#include "control/control.h"
#include "develop/blend.h"
#include "develop/develop.h"
#include "develop/imageop.h"
#include "develop/imageop_math.h"
#include "develop/imageop_gui.h"
#include "develop/masks.h"
#include "develop/openmp_maths.h"
#include "develop/tiling.h"
#include "bauhaus/bauhaus.h"
#include "common/colorspaces.h"
#include "control/conf.h"
#include "common/colorspaces_inline_conversions.h"
#include "gui/gtk.h"
#include "iop/iop_api.h"
#include <memory.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <complex.h>
#include <glib.h>
#include "demosaic/basic.c"
#include "demosaic/passthrough.c"
#include "demosaic/rcd.c"
#include "demosaic/lmmse.c"
#include "demosaic/ppg.c"
#include "demosaic/vng.c"
#include "demosaic/markesteijn.c"
#include "demosaic/dual.c"
Data Structures | |
struct | dt_iop_demosaic_global_data_t |
struct | dt_iop_demosaic_data_t |
struct | dt_iop_demosaic_params_t |
struct | dt_iop_demosaic_gui_data_t |
Macros | |
#define | INLINE inline |
#define | DEMOSAIC_XTRANS 1024 |
#define | DEMOSAIC_DUAL 2048 |
#define | REDUCESIZE 64 |
#define | XTRANS_SNAPPER 3 |
#define | BAYER_SNAPPER 2 |
Typedefs | |
typedef enum dt_iop_demosaic_method_t | dt_iop_demosaic_method_t |
typedef enum dt_iop_demosaic_greeneq_t | dt_iop_demosaic_greeneq_t |
typedef enum dt_iop_demosaic_smooth_t | dt_iop_demosaic_smooth_t |
typedef enum dt_iop_demosaic_lmmse_t | dt_iop_demosaic_lmmse_t |
typedef struct dt_iop_demosaic_global_data_t | dt_iop_demosaic_global_data_t |
typedef struct dt_iop_demosaic_data_t | dt_iop_demosaic_data_t |
typedef enum dt_iop_demosaic_quality_t | dt_iop_demosaic_quality_t |
typedef struct dt_iop_demosaic_params_t | dt_iop_demosaic_params_t |
typedef struct dt_iop_demosaic_gui_data_t | dt_iop_demosaic_gui_data_t |
#define BAYER_SNAPPER 2 |
#define DEMOSAIC_DUAL 2048 |
#define DEMOSAIC_XTRANS 1024 |
#define INLINE inline |
#define REDUCESIZE 64 |
#define XTRANS_SNAPPER 3 |
typedef struct dt_iop_demosaic_data_t dt_iop_demosaic_data_t |
typedef struct dt_iop_demosaic_global_data_t dt_iop_demosaic_global_data_t |
typedef enum dt_iop_demosaic_greeneq_t dt_iop_demosaic_greeneq_t |
typedef struct dt_iop_demosaic_gui_data_t dt_iop_demosaic_gui_data_t |
typedef enum dt_iop_demosaic_lmmse_t dt_iop_demosaic_lmmse_t |
typedef enum dt_iop_demosaic_method_t dt_iop_demosaic_method_t |
typedef struct dt_iop_demosaic_params_t dt_iop_demosaic_params_t |
typedef enum dt_iop_demosaic_quality_t dt_iop_demosaic_quality_t |
typedef enum dt_iop_demosaic_smooth_t dt_iop_demosaic_smooth_t |
|
static |
References darktable, dt_iop_module_t::dev, dt_bauhaus_widget_get_quad_active(), dt_dev_invalidate, dt_dev_refresh_ui_images, darktable_t::gui, dt_iop_module_t::gui_data, and dt_gui_gtk_t::reset.
Referenced by gui_init().
void amaze_demosaic_RT | ( | dt_dev_pixelpipe_iop_t * | piece, |
const float *const | in, | ||
float * | out, | ||
const dt_iop_roi_t *const | roi_in, | ||
const dt_iop_roi_t *const | roi_out, | ||
const uint32_t | filters | ||
) |
Referenced by process().
void cleanup_global | ( | dt_iop_module_so_t * | module | ) |
References dt_iop_module_so_t::data, dt_free_align, dt_opencl_free_kernel(), dt_iop_demosaic_global_data_t::kernel_border_interpolate, dt_iop_demosaic_global_data_t::kernel_color_smoothing, dt_iop_demosaic_global_data_t::kernel_downsample, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_apply, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_reduce_first, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_reduce_second, dt_iop_demosaic_global_data_t::kernel_green_eq_lavg, dt_iop_demosaic_global_data_t::kernel_markesteijn_accu, dt_iop_demosaic_global_data_t::kernel_markesteijn_convert_yuv, dt_iop_demosaic_global_data_t::kernel_markesteijn_differentiate, dt_iop_demosaic_global_data_t::kernel_markesteijn_final, dt_iop_demosaic_global_data_t::kernel_markesteijn_green_minmax, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_max, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_max_corr, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_quench, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_set, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_sum, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_threshold, dt_iop_demosaic_global_data_t::kernel_markesteijn_initial_copy, dt_iop_demosaic_global_data_t::kernel_markesteijn_interpolate_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_interpolate_twoxtwo, dt_iop_demosaic_global_data_t::kernel_markesteijn_recalculate_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_red_and_blue, dt_iop_demosaic_global_data_t::kernel_markesteijn_solitary_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_zero, dt_iop_demosaic_global_data_t::kernel_passthrough_color, dt_iop_demosaic_global_data_t::kernel_passthrough_monochrome, dt_iop_demosaic_global_data_t::kernel_ppg_green, dt_iop_demosaic_global_data_t::kernel_ppg_redblue, dt_iop_demosaic_global_data_t::kernel_pre_median, dt_iop_demosaic_global_data_t::kernel_rcd_border_green, dt_iop_demosaic_global_data_t::kernel_rcd_border_redblue, dt_iop_demosaic_global_data_t::kernel_rcd_populate, dt_iop_demosaic_global_data_t::kernel_rcd_step_1_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_1_2, dt_iop_demosaic_global_data_t::kernel_rcd_step_2_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_3_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_4_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_4_2, dt_iop_demosaic_global_data_t::kernel_rcd_step_5_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_5_2, dt_iop_demosaic_global_data_t::kernel_rcd_write_output, dt_iop_demosaic_global_data_t::kernel_vng_border_interpolate, dt_iop_demosaic_global_data_t::kernel_vng_green_equilibrate, dt_iop_demosaic_global_data_t::kernel_vng_interpolate, dt_iop_demosaic_global_data_t::kernel_vng_lin_interpolate, dt_iop_demosaic_global_data_t::kernel_write_blended_dual, dt_iop_demosaic_global_data_t::kernel_zoom_half_size, dt_iop_demosaic_global_data_t::kernel_zoom_passthrough_monochrome, dt_iop_demosaic_global_data_t::kernel_zoom_third_size, dt_iop_demosaic_global_data_t::lmmse_gamma_in, and dt_iop_demosaic_global_data_t::lmmse_gamma_out.
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 * | params, | ||
dt_dev_pixelpipe_t * | pipe, | ||
dt_dev_pixelpipe_iop_t * | piece | ||
) |
References dt_image_t::adobe_XYZ_to_CAM, dt_image_t::buf_dsc, dt_iop_demosaic_data_t::CAM_to_RGB, dt_image_t::camera_makermodel, dt_iop_demosaic_data_t::color_smoothing, dt_image_t::d65_color_matrix, dt_dev_pixelpipe_iop_t::data, DEMOSAIC_DUAL, DEMOSAIC_XTRANS, dt_iop_demosaic_data_t::demosaicing_method, dt_iop_module_t::dev, dt_colorspaces_conversion_matrices_rgb(), dt_control_log(), DT_DEV_DETAIL_MASK_DEMOSAIC, DT_DEV_DETAIL_MASK_REQUIRED, DT_IMAGE_4BAYER, DT_IOP_DEMOSAIC_AMAZE, DT_IOP_DEMOSAIC_AMAZE_VNG, DT_IOP_DEMOSAIC_FDC, DT_IOP_DEMOSAIC_LMMSE, DT_IOP_DEMOSAIC_MARKEST3_VNG, DT_IOP_DEMOSAIC_MARKESTEIJN, DT_IOP_DEMOSAIC_MARKESTEIJN_3, DT_IOP_DEMOSAIC_PASSTHR_COLORX, DT_IOP_DEMOSAIC_PASSTHR_MONOX, DT_IOP_DEMOSAIC_PASSTHROUGH_COLOR, DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME, DT_IOP_DEMOSAIC_PPG, DT_IOP_DEMOSAIC_RCD, DT_IOP_DEMOSAIC_RCD_VNG, DT_IOP_DEMOSAIC_VNG, DT_IOP_DEMOSAIC_VNG4, DT_IOP_GREEN_EQ_BOTH, DT_IOP_GREEN_EQ_FULL, DT_IOP_GREEN_EQ_NO, dt_iop_demosaic_data_t::dual_thrs, dt_iop_buffer_dsc_t::filters, dt_image_t::flags, dt_iop_demosaic_data_t::green_eq, dt_develop_t::image_storage, dt_iop_demosaic_data_t::lmmse_refine, dt_iop_demosaic_data_t::median_thrs, dt_dev_pixelpipe_iop_t::pipe, dt_dev_pixelpipe_iop_t::process_cl_ready, and dt_dev_pixelpipe_iop_t::process_tiling_ready.
int default_colorspace | ( | dt_iop_module_t * | self, |
dt_dev_pixelpipe_t * | pipe, | ||
dt_dev_pixelpipe_iop_t * | piece | ||
) |
References IOP_CS_RAW.
int default_group | ( | ) |
References IOP_GROUP_TECHNICAL.
const char ** description | ( | struct dt_iop_module_t * | self | ) |
References dt_iop_set_description().
void distort_mask | ( | struct dt_iop_module_t * | self, |
struct dt_dev_pixelpipe_iop_t * | piece, | ||
const float *const | in, | ||
float *const | out, | ||
const dt_iop_roi_t *const | roi_in, | ||
const dt_iop_roi_t *const | roi_out | ||
) |
int flags | ( | ) |
References IOP_FLAGS_ALLOW_TILING, IOP_FLAGS_FENCE, and IOP_FLAGS_ONE_INSTANCE.
gboolean force_enable | ( | struct dt_iop_module_t * | self, |
const gboolean | current_state | ||
) |
References dt_iop_module_t::dev, dt_image_is_raw(), FALSE, dt_develop_t::image_storage, and TRUE.
void gui_changed | ( | dt_iop_module_t * | self, |
GtkWidget * | w, | ||
void * | previous | ||
) |
References dt_image_t::buf_dsc, darktable, DEMOSAIC_DUAL, DEMOSAIC_XTRANS, dt_iop_module_t::dev, dt_bauhaus_combobox_set_from_value(), dt_image_cache_get(), DT_IMAGE_CACHE_RELAXED, dt_image_cache_write_release(), DT_IMAGE_MONOCHROME_BAYER, DT_IOP_DEMOSAIC_LMMSE, DT_IOP_DEMOSAIC_MARKESTEIJN, DT_IOP_DEMOSAIC_PASSTHR_COLORX, DT_IOP_DEMOSAIC_PASSTHR_MONOX, DT_IOP_DEMOSAIC_PASSTHROUGH_COLOR, DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME, DT_IOP_DEMOSAIC_PPG, DT_IOP_DEMOSAIC_RCD, dt_iop_buffer_dsc_t::filters, dt_image_t::flags, dt_iop_module_t::gui_data, dt_image_t::id, darktable_t::image_cache, dt_develop_t::image_storage, and dt_iop_module_t::params.
Referenced by gui_update().
void gui_focus | ( | struct dt_iop_module_t * | self, |
gboolean | in | ||
) |
void gui_init | ( | struct dt_iop_module_t * | self | ) |
References _visualize_callback(), dt_bauhaus_combobox_from_params(), dt_bauhaus_combobox_remove_at(), dt_bauhaus_slider_from_params(), dt_bauhaus_slider_set_digits(), DT_BAUHAUS_SPACE, dt_bauhaus_widget_set_quad_active(), dt_bauhaus_widget_set_quad_paint(), dt_bauhaus_widget_set_quad_toggle(), dt_ui_label_new(), dtgtk_cairo_paint_showmask(), FALSE, IOP_GUI_ALLOC, TRUE, and dt_iop_module_t::widget.
void gui_update | ( | struct dt_iop_module_t * | self | ) |
void init_global | ( | dt_iop_module_so_t * | module | ) |
References dt_opencl_create_kernel(), dt_iop_demosaic_global_data_t::kernel_border_interpolate, dt_iop_demosaic_global_data_t::kernel_color_smoothing, dt_iop_demosaic_global_data_t::kernel_downsample, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_apply, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_reduce_first, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_reduce_second, dt_iop_demosaic_global_data_t::kernel_green_eq_lavg, dt_iop_demosaic_global_data_t::kernel_markesteijn_accu, dt_iop_demosaic_global_data_t::kernel_markesteijn_convert_yuv, dt_iop_demosaic_global_data_t::kernel_markesteijn_differentiate, dt_iop_demosaic_global_data_t::kernel_markesteijn_final, dt_iop_demosaic_global_data_t::kernel_markesteijn_green_minmax, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_max, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_max_corr, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_quench, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_set, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_sum, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_threshold, dt_iop_demosaic_global_data_t::kernel_markesteijn_initial_copy, dt_iop_demosaic_global_data_t::kernel_markesteijn_interpolate_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_interpolate_twoxtwo, dt_iop_demosaic_global_data_t::kernel_markesteijn_recalculate_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_red_and_blue, dt_iop_demosaic_global_data_t::kernel_markesteijn_solitary_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_zero, dt_iop_demosaic_global_data_t::kernel_passthrough_color, dt_iop_demosaic_global_data_t::kernel_passthrough_monochrome, dt_iop_demosaic_global_data_t::kernel_ppg_green, dt_iop_demosaic_global_data_t::kernel_ppg_redblue, dt_iop_demosaic_global_data_t::kernel_pre_median, dt_iop_demosaic_global_data_t::kernel_rcd_border_green, dt_iop_demosaic_global_data_t::kernel_rcd_border_redblue, dt_iop_demosaic_global_data_t::kernel_rcd_populate, dt_iop_demosaic_global_data_t::kernel_rcd_step_1_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_1_2, dt_iop_demosaic_global_data_t::kernel_rcd_step_2_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_3_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_4_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_4_2, dt_iop_demosaic_global_data_t::kernel_rcd_step_5_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_5_2, dt_iop_demosaic_global_data_t::kernel_rcd_write_output, dt_iop_demosaic_global_data_t::kernel_vng_border_interpolate, dt_iop_demosaic_global_data_t::kernel_vng_green_equilibrate, dt_iop_demosaic_global_data_t::kernel_vng_interpolate, dt_iop_demosaic_global_data_t::kernel_vng_lin_interpolate, dt_iop_demosaic_global_data_t::kernel_write_blended_dual, dt_iop_demosaic_global_data_t::kernel_zoom_half_size, dt_iop_demosaic_global_data_t::kernel_zoom_passthrough_monochrome, dt_iop_demosaic_global_data_t::kernel_zoom_third_size, dt_iop_demosaic_global_data_t::lmmse_gamma_in, and dt_iop_demosaic_global_data_t::lmmse_gamma_out.
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 input_colorspace | ( | dt_iop_module_t * | self, |
dt_dev_pixelpipe_t * | pipe, | ||
dt_dev_pixelpipe_iop_t * | piece | ||
) |
References IOP_CS_RAW.
|
inlinestatic |
int legacy_params | ( | dt_iop_module_t * | self, |
const void *const | old_params, | ||
const int | old_version, | ||
void * | new_params, | ||
const int | new_version | ||
) |
|
static |
References DT_IOP_DEMOSAIC_AMAZE, DT_IOP_DEMOSAIC_AMAZE_VNG, DT_IOP_DEMOSAIC_FDC, DT_IOP_DEMOSAIC_LMMSE, DT_IOP_DEMOSAIC_MARKEST3_VNG, DT_IOP_DEMOSAIC_MARKESTEIJN, DT_IOP_DEMOSAIC_MARKESTEIJN_3, DT_IOP_DEMOSAIC_PASSTHR_COLORX, DT_IOP_DEMOSAIC_PASSTHR_MONOX, DT_IOP_DEMOSAIC_PASSTHROUGH_COLOR, DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME, DT_IOP_DEMOSAIC_PPG, DT_IOP_DEMOSAIC_RCD, DT_IOP_DEMOSAIC_RCD_VNG, DT_IOP_DEMOSAIC_VNG, and DT_IOP_DEMOSAIC_VNG4.
Referenced by process().
void modify_roi_in | ( | struct dt_iop_module_t * | self, |
struct dt_dev_pixelpipe_iop_t * | piece, | ||
const dt_iop_roi_t * | roi_out, | ||
dt_iop_roi_t * | roi_in | ||
) |
void modify_roi_out | ( | struct dt_iop_module_t * | self, |
struct dt_dev_pixelpipe_iop_t * | piece, | ||
dt_iop_roi_t * | roi_out, | ||
const dt_iop_roi_t *const | roi_in | ||
) |
References dt_iop_roi_t::x, and dt_iop_roi_t::y.
const char * name | ( | ) |
int output_colorspace | ( | dt_iop_module_t * | self, |
dt_dev_pixelpipe_t * | pipe, | ||
dt_dev_pixelpipe_iop_t * | piece | ||
) |
References IOP_CS_RGB.
void process | ( | struct dt_iop_module_t * | self, |
dt_dev_pixelpipe_iop_t * | piece, | ||
const void *const | i, | ||
void *const | o, | ||
const dt_iop_roi_t *const | roi_in, | ||
const dt_iop_roi_t *const | roi_out | ||
) |
References amaze_demosaic_RT(), dt_iop_demosaic_data_t::CAM_to_RGB, dt_times_t::clock, dt_iop_demosaic_data_t::color_smoothing, color_smoothing(), darktable, dt_dev_pixelpipe_iop_t::data, DEMOSAIC_DUAL, demosaic_ppg(), dt_iop_demosaic_data_t::demosaicing_method, dt_iop_module_t::dev, double(), dt_alloc_align_float(), dt_colorspaces_cygm_to_rgb(), DT_DEBUG_DEMOSAIC, DT_DEBUG_PERF, dt_dev_clear_rawdetail_mask(), DT_DEV_DETAIL_MASK_DEMOSAIC, DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU, DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU_MONO, DT_DEV_PIXELPIPE_FULL, dt_dev_write_rawdetail_mask(), dt_free_align, dt_get_times(), DT_IMAGE_4BAYER, DT_IOP_DEMOSAIC_AMAZE, DT_IOP_DEMOSAIC_FDC, DT_IOP_DEMOSAIC_LMMSE, DT_IOP_DEMOSAIC_MARKEST3_VNG, DT_IOP_DEMOSAIC_MARKESTEIJN, DT_IOP_DEMOSAIC_PASSTHROUGH_COLOR, DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME, DT_IOP_DEMOSAIC_RCD, DT_IOP_DEMOSAIC_VNG4, DT_IOP_GREEN_EQ_BOTH, DT_IOP_GREEN_EQ_FULL, DT_IOP_GREEN_EQ_LOCAL, DT_IOP_GREEN_EQ_NO, dual_demosaic(), dt_iop_demosaic_data_t::dual_thrs, dt_image_t::exif_iso, FALSE, dt_image_t::flags, dt_iop_module_t::global_data, dt_iop_demosaic_data_t::green_eq, green_equilibration_favg(), green_equilibration_lavg(), dt_develop_t::gui_attached, dt_iop_module_t::gui_data, dt_iop_roi_t::height, dt_develop_t::image_storage, lmmse_demosaic(), dt_iop_demosaic_global_data_t::lmmse_gamma_in, dt_iop_demosaic_global_data_t::lmmse_gamma_out, dt_iop_demosaic_data_t::lmmse_refine, dt_iop_demosaic_data_t::median_thrs, method2string(), passthrough_color(), passthrough_monochrome(), dt_dev_pixelpipe_iop_t::pipe, rcd_demosaic(), darktable_t::unmuted, dt_times_t::user, vng_interpolate(), dt_iop_roi_t::width, dt_iop_roi_t::x, xtrans_fdc_interpolate(), xtrans_markesteijn_interpolate(), and dt_iop_roi_t::y.
void reload_defaults | ( | dt_iop_module_t * | module | ) |
References dt_image_t::buf_dsc, dt_iop_module_t::default_enabled, dt_iop_module_t::default_params, dt_iop_demosaic_params_t::demosaicing_method, dt_iop_module_t::dev, dt_image_is_monochrome(), DT_IOP_DEMOSAIC_MARKESTEIJN, DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME, DT_IOP_DEMOSAIC_RCD, dt_iop_buffer_dsc_t::filters, dt_develop_t::image_storage, and dt_iop_module_t::widget.
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_iop_demosaic_data_t::color_smoothing, darktable, dt_dev_pixelpipe_iop_t::data, DEMOSAIC_DUAL, dt_iop_demosaic_data_t::demosaicing_method, DT_IOP_DEMOSAIC_AMAZE, DT_IOP_DEMOSAIC_FDC, DT_IOP_DEMOSAIC_LMMSE, DT_IOP_DEMOSAIC_MARKESTEIJN, DT_IOP_DEMOSAIC_MARKESTEIJN_3, DT_IOP_DEMOSAIC_PASSTHROUGH_COLOR, DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME, DT_IOP_DEMOSAIC_PPG, DT_IOP_DEMOSAIC_RCD, DT_IOP_GREEN_EQ_NO, dt_iop_demosaic_data_t::green_eq, dt_iop_roi_t::height, LMMSE_GRP, MAX, darktable_t::num_openmp_threads, dt_dev_pixelpipe_iop_t::pipe, RCD_TILESIZE, dt_iop_roi_t::width, and XTRANS_SNAPPER.