Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
locallaplaciancl.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2016 johannes hanika.
4 Copyright (C) 2019 Aurélien PIERRE.
5 Copyright (C) 2020 Pascal Obry.
6 Copyright (C) 2021 Chris Elston.
7 Copyright (C) 2022 Martin Bařinka.
8
9 darktable is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 darktable is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with darktable. If not, see <http://www.gnu.org/licenses/>.
21*/
22#ifndef DT_PIXEL_LOCALLAPLACIANCL_H
23#define DT_PIXEL_LOCALLAPLACIANCL_H
24#ifdef HAVE_OPENCL
35
37{
38 int devid;
40
46 size_t bwidth, bheight;
47
48 // pyramid of padded monochrome input buffer
49 cl_mem *dev_padded;
50 // pyramid of padded output buffer, monochrome, too:
51 cl_mem *dev_output;
52 // one pyramid of padded monochrome buffers for every value
53 // of gamma (curve parameter) that we process:
54 cl_mem **dev_processed;
55}
57
61 const int devid,
62 const int width, // width of input image
63 const int height, // height of input image
64 const float sigma, // user param: separate shadows/mid-tones/highlights
65 const float shadows, // user param: lift shadows
66 const float highlights, // user param: compress highlights
67 const float clarity); // user param: increase clarity/local contrast
69cl_int dt_local_laplacian_cl(dt_local_laplacian_cl_t *g, cl_mem input, cl_mem output);
70#endif
71
72#endif // DT_PIXEL_LOCALLAPLACIANCL_H
73
74// clang-format off
75// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
76// vim: shiftwidth=2 expandtab tabstop=2 cindent
77// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
78// clang-format on
void dt_local_laplacian_init_cl_global(void)
cl_int dt_local_laplacian_cl(dt_local_laplacian_cl_t *g, cl_mem input, cl_mem output)
dt_local_laplacian_cl_t * dt_local_laplacian_init_cl(const int devid, const int width, const int height, const float sigma, const float shadows, const float highlights, const float clarity)
void dt_local_laplacian_free_cl(dt_local_laplacian_cl_t *g)
void dt_local_laplacian_free_cl_global(void)
uint32_t width
Definition mipmap_cache.c:0
uint32_t height
Definition mipmap_cache.c:1
const float sigma
dt_local_laplacian_cl_global_t * global