53#ifndef DT_IOP_HIGHLIGHTS_GATHER_H
54#define DT_IOP_HIGHLIGHTS_GATHER_H
84 const uint32_t filters,
const size_t width,
const size_t height);
94 const uint32_t filters,
const uint8_t (*
const xtrans)[6],
104 const uint8_t (*
const xtrans)[6]);
115 const int32_t
lookup[6][6][32],
const uint8_t (*
const xtrans)[6],
131 const float *
const restrict interpolated,
const float *
const restrict clipping_mask,
145 const float *
const restrict interpolated,
146 const float *
const restrict clipping_mask,
float *
const restrict output,
148 const int clip_is_floor,
const size_t width,
const size_t height);
152 const float *
const restrict interpolated,
153 const float *
const restrict clipping_mask,
float *
const restrict output,
155 const int clip_is_floor,
const dt_iop_roi_t *
const roi_in,
156 const uint8_t (*
const xtrans)[6],
const size_t width,
const size_t height);
static float lookup(read_only image2d_t lut, const float x)
static dt_hl_cfa_t _hl_cfa_strategy(const uint32_t filters)
void _build_xtrans_bilinear_lookup(int32_t lookup[6][6][32], const dt_iop_roi_t *const roi_in, const uint8_t(*const xtrans)[6])
void _interpolate_and_mask_xtrans(const float *const restrict input, float *const restrict interpolated, float *const restrict clipping_mask, const dt_aligned_pixel_t clips, const dt_aligned_pixel_t white_balance, const dt_iop_roi_t *const roi_in, const int32_t lookup[6][6][32], const uint8_t(*const xtrans)[6], const size_t width, const size_t height)
void _compute_laplacian_normalization(const float *const restrict input, const dt_iop_roi_t *const roi_in, const uint32_t filters, const uint8_t(*const xtrans)[6], dt_aligned_pixel_t normalization)
void _remosaic_and_replace_passthrough(const float *const restrict input, const float *const restrict input_raw, const float *const restrict interpolated, const float *const restrict clipping_mask, float *const restrict output, const dt_aligned_pixel_t white_balance, const dt_aligned_pixel_t clips, const int clip_is_floor, const size_t width, const size_t height)
void _interpolate_and_mask_passthrough(const float *const restrict input, float *const restrict interpolated, float *const restrict clipping_mask, const dt_aligned_pixel_t clips, const dt_aligned_pixel_t white_balance, const size_t width, const size_t height)
void _remosaic_and_replace(const float *const restrict input, const float *const restrict input_raw, const float *const restrict interpolated, const float *const restrict clipping_mask, float *const restrict output, const dt_aligned_pixel_t white_balance, const dt_aligned_pixel_t clips, const int clip_is_floor, const uint32_t filters, const size_t width, const size_t height)
void _remosaic_and_replace_xtrans(const float *const restrict input, const float *const restrict input_raw, const float *const restrict interpolated, const float *const restrict clipping_mask, float *const restrict output, const dt_aligned_pixel_t white_balance, const dt_aligned_pixel_t clips, const int clip_is_floor, const dt_iop_roi_t *const roi_in, const uint8_t(*const xtrans)[6], const size_t width, const size_t height)
void _interpolate_and_mask(const float *const restrict input, float *const restrict interpolated, float *const restrict clipping_mask, const dt_aligned_pixel_t clips_in, const dt_aligned_pixel_t det_scale, const dt_aligned_pixel_t white_balance, const uint32_t filters, const size_t width, const size_t height)
DT_ALIGNED_PIXEL float dt_aligned_pixel_t[4]
Region of interest passed through the pixelpipe.