47#define DT_IMGSZ_CH_MASK 0x000FFFF
49#define DT_IMGSZ_ROI_MASK 0x0100000
50#define DT_IMGSZ_OUTPUT 0x0000000
51#define DT_IMGSZ_INPUT 0x0100000
53#define DT_IMGSZ_PERTHREAD 0x0200000
54#define DT_IMGSZ_CLEARBUF 0x0400000
56#define DT_IMGSZ_DIM_MASK 0x00F0000
57#define DT_IMGSZ_FULL 0x0000000
58#define DT_IMGSZ_HEIGHT 0x0010000
59#define DT_IMGSZ_WIDTH 0x0020000
60#define DT_IMGSZ_LONGEST 0x0030000
65 float *
const __restrict__ out,
66 const size_t num_elem)
72#pragma omp parallel for simd default(none) \
73dt_omp_firstprivate(in, out, num_elem) \
74schedule(simd:static) aligned(in, out:64)
76 for(
size_t k = 0; k < num_elem; k++)
83void dt_iop_image_copy(
float *
const __restrict__ out,
const float *
const __restrict__ in,
const size_t nfloats);
89 const size_t width,
const size_t height,
const size_t ch)
97void dt_iop_copy_image_roi(
float *
const __restrict__ out,
const float *
const __restrict__ in,
const size_t ch,
99 const dt_iop_roi_t *
const __restrict__ roi_out,
const int zero_pad);
103 const size_t width,
const size_t height,
const size_t ch);
135 const size_t width,
const size_t height,
const size_t ch);
int width
Definition bilateral.h:1
int height
Definition bilateral.h:1
static float * dt_alloc_align_float(size_t pixels)
Definition darktable.h:345
#define __DT_CLONE_TARGETS__
Definition darktable.h:249
void dt_iop_image_div_const(float *const buf, const float div_value, const size_t width, const size_t height, const size_t ch)
Definition imagebuf.c:372
static __DT_CLONE_TARGETS__ void dt_simd_memcpy(const float *const __restrict__ in, float *const __restrict__ out, const size_t num_elem)
Definition imagebuf.h:64
void dt_iop_image_scaled_copy(float *const __restrict__ buf, const float *const __restrict__ src, const float scale, const size_t width, const size_t height, const size_t ch)
void dt_iop_image_fill(float *const buf, const float fill_value, const size_t width, const size_t height, const size_t ch)
Definition imagebuf.c:210
void dt_iop_image_mul_const(float *const buf, const float mul_value, const size_t width, const size_t height, const size_t ch)
Definition imagebuf.c:347
static void dt_iop_image_copy_by_size(float *const __restrict__ out, const float *const __restrict__ in, const size_t width, const size_t height, const size_t ch)
Definition imagebuf.h:88
void dt_iop_copy_image_roi(float *const __restrict__ out, const float *const __restrict__ in, const size_t ch, const dt_iop_roi_t *const __restrict__ roi_in, const dt_iop_roi_t *const __restrict__ roi_out, const int zero_pad)
Definition imagebuf.c:156
void dt_iop_image_add_image(float *const buf, const float *const other_buf, const size_t width, const size_t height, const size_t ch)
Definition imagebuf.c:272
void dt_iop_image_invert(float *const buf, const float max_value, const size_t width, const size_t height, const size_t ch)
Definition imagebuf.c:322
void dt_iop_image_sub_image(float *const buf, const float *const other_buf, const size_t width, const size_t height, const size_t ch)
Definition imagebuf.c:297
static float *__restrict__ dt_iop_image_alloc(const size_t width, const size_t height, const size_t ch)
Definition imagebuf.h:32
gboolean dt_iop_alloc_image_buffers(struct dt_iop_module_t *const module, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out,...)
Definition imagebuf.c:28
void dt_iop_image_add_const(float *const buf, const float add_value, const size_t width, const size_t height, const size_t ch)
Definition imagebuf.c:247
void dt_iop_image_copy(float *const __restrict__ out, const float *const __restrict__ in, const size_t nfloats)
Definition imagebuf.c:134
void dt_iop_image_linear_blend(float *const __restrict__ buf, const float lambda, const float *const __restrict__ other_buf, const size_t width, const size_t height, const size_t ch)