Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
bilateralcl.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2012 johannes hanika.
4 Copyright (C) 2012-2014, 2016 Tobias Ellinghaus.
5 Copyright (C) 2012, 2014 Ulrich Pegelow.
6 Copyright (C) 2016 Roman Lebedev.
7 Copyright (C) 2019 Marcus Rückert.
8 Copyright (C) 2020 Pascal Obry.
9 Copyright (C) 2022 Martin Bařinka.
10
11 darktable is free software: you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
15
16 darktable is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with darktable. If not, see <http://www.gnu.org/licenses/>.
23*/
24
25#ifndef DT_PIXEL_BILATERALCL_H
26#define DT_PIXEL_BILATERALCL_H
27
28#ifdef HAVE_OPENCL
29#ifdef HAVE_CONFIG_H
30#include "config.h"
31#endif
32
33#include <CL/cl.h> // for cl_mem, _cl_mem
34#include <stddef.h> // for size_t
35
40
52
54
56
58 const int width, // width of input image
59 const int height, // height of input image
60 const float sigma_s, // spatial sigma (blur pixel coords)
61 const float sigma_r); // range sigma (blur luma values)
62
63cl_int dt_bilateral_splat_cl(dt_bilateral_cl_t *b, cl_mem in);
64
66
67cl_int dt_bilateral_slice_to_output_cl(dt_bilateral_cl_t *b, cl_mem in, cl_mem out, const float detail);
68
69cl_int dt_bilateral_slice_cl(dt_bilateral_cl_t *b, cl_mem in, cl_mem out, const float detail);
70
72
73#endif // HAVE_OPENCL
74
75#endif // DT_PIXEL_BILATERALCL_H
76
77// clang-format off
78// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
79// vim: shiftwidth=2 expandtab tabstop=2 cindent
80// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
81// clang-format on
82
float sigma_s
Definition bilateral.h:3
float sigma_r
Definition bilateral.h:3
void dt_bilateral_init_cl_global(void)
Definition bilateralcl.c:46
void dt_bilateral_free_cl(dt_bilateral_cl_t *b)
Definition bilateralcl.c:60
cl_int dt_bilateral_slice_cl(dt_bilateral_cl_t *b, cl_mem in, cl_mem out, const float detail)
cl_int dt_bilateral_slice_to_output_cl(dt_bilateral_cl_t *b, cl_mem in, cl_mem out, const float detail)
dt_bilateral_cl_t * dt_bilateral_init_cl(const int devid, const int width, const int height, const float sigma_s, const float sigma_r)
Definition bilateralcl.c:91
cl_int dt_bilateral_blur_cl(dt_bilateral_cl_t *b)
void dt_bilateral_free_cl_global(void)
cl_int dt_bilateral_splat_cl(dt_bilateral_cl_t *b, cl_mem in)
const dt_colormatrix_t dt_aligned_pixel_t out
uint32_t width
Definition mipmap_cache.c:0
uint32_t height
Definition mipmap_cache.c:1
dt_bilateral_cl_global_t * global
Definition bilateralcl.h:43