39 float vmax[4] = { 1e9f, 1e9f, 1e9f, 1e9f };
40 float vmin[4] = { -1e9f, -1e9f, -1e9f, -1e9f };
71 const float vmax[4] = { 1e9f, 1e9f, 1e9f, 1e9f };
72 const float vmin[4] = { -1e9f, -1e9f, -1e9f, -1e9f };
76cl_int
_region_blur_cl(
const int devid, cl_mem in, cl_mem
out,
const int region_w,
const int region_h,
static __thread _hl_gauss_slot_t _hl_gauss_cache[HL_GAUSS_SLOTS]
dt_gaussian_t * _hl_gauss_get(const int width, const int height, const int channels, const float sigma)
static __thread int _hl_gauss_rr
void _hl_gauss_cache_flush(void)
cl_int _region_blur_cl(const int devid, cl_mem in, cl_mem out, const int region_w, const int region_h, const float sigma)
dt_gaussian_cl_t * _region_blur_handle(const int devid, const int region_w, const int region_h, const float sigma)
const dt_colormatrix_t dt_aligned_pixel_t out
static float gaussian(float x, float std)
void dt_gaussian_free(dt_gaussian_t *g)
void dt_gaussian_free_cl(dt_gaussian_cl_t *g)
cl_int dt_gaussian_blur_cl(dt_gaussian_cl_t *g, cl_mem dev_in, cl_mem dev_out)
dt_gaussian_cl_t * dt_gaussian_init_cl(const int devid, const int width, const int height, const int channels, const float *max, const float *min, const float sigma, const int order)
dt_gaussian_t * dt_gaussian_init(const int width, const int height, const int channels, const float *max, const float *min, const float sigma, const int order)
#define DT_OPENCL_DEFAULT_ERROR