29 for(
int j = 0; j < roi_out->
height; j++)
31 for(
int i = 0;
i < roi_out->
width;
i++)
33 for(
int c = 0; c < 3; c++)
35 out[(size_t)4 * ((
size_t)j * roi_out->
width +
i) + c]
36 = in[(
size_t)((size_t)j + roi_out->
y) * roi_in->
width +
i + roi_out->
x];
45 const uint32_t filters,
const uint8_t (*
const xtrans)[6])
57 for(
int col = 0; col < (roi_out->
width); col++)
59 const float val = in[col + roi_out->
x + ((
row + roi_out->
y) * roi_in->
width)];
60 const uint32_t offset = (size_t)4 * ((
size_t)
row * roi_out->
width + col);
61 const uint32_t
ch =
FC(
row + roi_out->
y, col + roi_out->
x, filters);
63 out[offset] =
out[offset + 1] =
out[offset + 2] = 0.0f;
64 out[offset +
ch] = val;
75 for(
int col = 0; col < (roi_out->
width); col++)
77 const float val = in[col + roi_out->
x + ((
row + roi_out->
y) * roi_in->
width)];
78 const uint32_t offset = (size_t)4 * ((
size_t)
row * roi_out->
width + col);
81 out[offset] =
out[offset + 1] =
out[offset + 2] = 0.0f;
82 out[offset +
ch] = val;
const dt_colormatrix_t dt_aligned_pixel_t out
#define __DT_CLONE_TARGETS__
#define __OMP_PARALLEL_FOR__(...)
static int FCxtrans(const int row, const int col, global const unsigned char(*const xtrans)[6])
static int FC(const int row, const int col, const unsigned int filters)
float *const restrict const size_t const size_t ch
static __DT_CLONE_TARGETS__ void passthrough_monochrome(float *out, const float *const in, dt_iop_roi_t *const roi_out, const dt_iop_roi_t *const roi_in)
static __DT_CLONE_TARGETS__ void passthrough_color(float *out, const float *const in, dt_iop_roi_t *const roi_out, const dt_iop_roi_t *const roi_in, const uint32_t filters, const uint8_t(*const xtrans)[6])
Region of interest passed through the pixelpipe.