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
25
typedef
struct
dt_local_laplacian_cl_global_t
26
{
27
int
kernel_pad_input
;
28
int
kernel_gauss_expand
;
29
int
kernel_gauss_reduce
;
30
int
kernel_laplacian_assemble
;
31
int
kernel_process_curve
;
32
int
kernel_write_back
;
33
}
34
dt_local_laplacian_cl_global_t
;
35
36
typedef
struct
dt_local_laplacian_cl_t
37
{
38
int
devid
;
39
dt_local_laplacian_cl_global_t
*
global
;
40
41
int
width
,
height
;
42
int
num_levels
;
43
float
sigma
,
highlights
,
shadows
,
clarity
;
44
int
blocksize
,
blockwd
,
blockht
;
45
int
max_supp
;
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
}
56
dt_local_laplacian_cl_t
;
57
58
void
dt_local_laplacian_init_cl_global
(
void
);
59
void
dt_local_laplacian_free_cl_global
(
void
);
60
dt_local_laplacian_cl_t
*
dt_local_laplacian_init_cl
(
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
68
void
dt_local_laplacian_free_cl
(
dt_local_laplacian_cl_t
*
g
);
69
cl_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
g
const float g
Definition
colorspaces_inline_conversions.h:675
dt_local_laplacian_init_cl_global
void dt_local_laplacian_init_cl_global(void)
Definition
locallaplaciancl.c:49
dt_local_laplacian_cl
cl_int dt_local_laplacian_cl(dt_local_laplacian_cl_t *g, cl_mem input, cl_mem output)
Definition
locallaplaciancl.c:153
dt_local_laplacian_init_cl
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)
Definition
locallaplaciancl.c:100
dt_local_laplacian_free_cl
void dt_local_laplacian_free_cl(dt_local_laplacian_cl_t *g)
Definition
locallaplaciancl.c:79
dt_local_laplacian_free_cl_global
void dt_local_laplacian_free_cl_global(void)
Definition
locallaplaciancl.c:63
width
uint32_t width
Definition
mipmap_cache.c:0
height
uint32_t height
Definition
mipmap_cache.c:1
sigma
const float sigma
Definition
src/iop/noise_generator.h:74
dt_local_laplacian_cl_global_t
Definition
locallaplaciancl.h:26
dt_local_laplacian_cl_global_t::kernel_pad_input
int kernel_pad_input
Definition
locallaplaciancl.h:27
dt_local_laplacian_cl_global_t::kernel_laplacian_assemble
int kernel_laplacian_assemble
Definition
locallaplaciancl.h:30
dt_local_laplacian_cl_global_t::kernel_write_back
int kernel_write_back
Definition
locallaplaciancl.h:32
dt_local_laplacian_cl_global_t::kernel_gauss_reduce
int kernel_gauss_reduce
Definition
locallaplaciancl.h:29
dt_local_laplacian_cl_global_t::kernel_gauss_expand
int kernel_gauss_expand
Definition
locallaplaciancl.h:28
dt_local_laplacian_cl_global_t::kernel_process_curve
int kernel_process_curve
Definition
locallaplaciancl.h:31
dt_local_laplacian_cl_t
Definition
locallaplaciancl.h:37
dt_local_laplacian_cl_t::dev_output
cl_mem * dev_output
Definition
locallaplaciancl.h:51
dt_local_laplacian_cl_t::dev_padded
cl_mem * dev_padded
Definition
locallaplaciancl.h:49
dt_local_laplacian_cl_t::height
int height
Definition
locallaplaciancl.h:41
dt_local_laplacian_cl_t::sigma
float sigma
Definition
locallaplaciancl.h:43
dt_local_laplacian_cl_t::blockwd
int blockwd
Definition
locallaplaciancl.h:44
dt_local_laplacian_cl_t::blocksize
int blocksize
Definition
locallaplaciancl.h:44
dt_local_laplacian_cl_t::global
dt_local_laplacian_cl_global_t * global
Definition
locallaplaciancl.h:39
dt_local_laplacian_cl_t::width
int width
Definition
locallaplaciancl.h:41
dt_local_laplacian_cl_t::highlights
float highlights
Definition
locallaplaciancl.h:43
dt_local_laplacian_cl_t::bwidth
size_t bwidth
Definition
locallaplaciancl.h:46
dt_local_laplacian_cl_t::max_supp
int max_supp
Definition
locallaplaciancl.h:45
dt_local_laplacian_cl_t::dev_processed
cl_mem ** dev_processed
Definition
locallaplaciancl.h:54
dt_local_laplacian_cl_t::bheight
size_t bheight
Definition
locallaplaciancl.h:46
dt_local_laplacian_cl_t::clarity
float clarity
Definition
locallaplaciancl.h:43
dt_local_laplacian_cl_t::blockht
int blockht
Definition
locallaplaciancl.h:44
dt_local_laplacian_cl_t::devid
int devid
Definition
locallaplaciancl.h:38
dt_local_laplacian_cl_t::num_levels
int num_levels
Definition
locallaplaciancl.h:42
dt_local_laplacian_cl_t::shadows
float shadows
Definition
locallaplaciancl.h:43
src
pixel
locallaplaciancl.h
Generated by
1.9.8