Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
develop/iop_profile.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2018-2019 Edgardo Hoszowski.
4 Copyright (C) 2019-2021, 2025 Aurélien PIERRE.
5 Copyright (C) 2019 Hanno Schwalm.
6 Copyright (C) 2019 luzpaz.
7 Copyright (C) 2019 Marcus Rückert.
8 Copyright (C) 2019-2020 Pascal Obry.
9 Copyright (C) 2020-2021 Dan Torop.
10 Copyright (C) 2020 Harold le Clément de Saint-Marcq.
11 Copyright (C) 2021 Heiko Bauke.
12 Copyright (C) 2021 Hubert Kowalski.
13 Copyright (C) 2021 Ralf Brown.
14 Copyright (C) 2021 Sakari Kapanen.
15 Copyright (C) 2022 Martin Bařinka.
16
17 darktable is free software: you can redistribute it and/or modify
18 it under the terms of the GNU Lesser General Public License as published by
19 the Free Software Foundation, either version 3 of the License, or
20 (at your option) any later version.
21
22 darktable is distributed in the hope that it will be useful,
23 but WITHOUT ANY WARRANTY; without even the implied warranty of
24 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 GNU Lesser General Public License for more details.
26
27 You should have received a copy of the GNU Lesser General Public License
28 along with darktable. If not, see <http://www.gnu.org/licenses/>.
29*/
30#ifndef DT_DEVELOP_IOP_PROFILE_H
31#define DT_DEVELOP_IOP_PROFILE_H
32
33/* The pipeline-facing half of the colour-profile module: which profile a module, pipe or
34 * export should use, and transforming an image with it. Everything declared here takes a
35 * develop/ type, which is exactly why it is here and not in colorprofiles/iop_profile.h. */
36
39
40#ifdef __cplusplus
41extern "C" {
42#endif
43
44struct dt_iop_module_t;
45struct dt_develop_t;
48
62 GList *iop_list);
63
65 GList *iop_list);
66
73 struct dt_dev_pixelpipe_t *pipe,
75 const char *filename,
76 const int intent);
77
80 struct dt_dev_pixelpipe_t *pipe,
82 const char *filename,
83 const int intent, const dt_colormatrix_t matrix_in);
84
87 struct dt_dev_pixelpipe_t *pipe,
89 const char *filename,
90 const int intent);
91
96
99
101
103
106 const struct dt_dev_pixelpipe_t *pipe);
107
111 const char **profile_filename);
112
116 const char **profile_filename);
117
121 const char **profile_filename);
122
125#ifdef HAVE_OPENCL
126
127
129#endif // HAVE_OPENCL
130
131#ifdef __cplusplus
132}
133#endif
134
135#endif // DT_DEVELOP_IOP_PROFILE_H
136
137// clang-format off
138// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
139// vim: shiftwidth=2 expandtab tabstop=2 cindent
140// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
141// clang-format on
The colour-profile struct and the maths over it: the derived matrix/LUT engine.
dt_iop_order_iccprofile_info_t * dt_ioppr_get_pipe_output_profile_info(const struct dt_dev_pixelpipe_t *pipe)
void dt_ioppr_get_work_profile_type(struct dt_develop_t *dev, dt_colorspaces_color_profile_type_t *profile_type, const char **profile_filename)
dt_iop_order_iccprofile_info_t * dt_ioppr_get_pipe_work_profile_info(const struct dt_dev_pixelpipe_t *pipe)
dt_iop_order_iccprofile_info_t * dt_ioppr_set_pipe_work_profile_info(struct dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const dt_colorspaces_color_profile_type_t type, const char *filename, const int intent)
dt_iop_order_iccprofile_info_t * dt_ioppr_set_pipe_output_profile_info(struct dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const dt_colorspaces_color_profile_type_t type, const char *filename, const int intent)
dt_iop_order_iccprofile_info_t * dt_ioppr_get_iop_input_profile_info(struct dt_iop_module_t *module, GList *iop_list)
dt_iop_order_iccprofile_info_t * dt_ioppr_get_histogram_profile_info(struct dt_develop_t *dev)
dt_iop_order_iccprofile_info_t * dt_ioppr_get_pipe_input_profile_info(const struct dt_dev_pixelpipe_t *pipe)
void dt_ioppr_get_input_profile_type(struct dt_develop_t *dev, dt_colorspaces_color_profile_type_t *profile_type, const char **profile_filename)
dt_iop_order_iccprofile_info_t * dt_ioppr_get_iop_work_profile_info(struct dt_iop_module_t *module, GList *iop_list)
dt_iop_order_iccprofile_info_t * dt_ioppr_set_pipe_input_profile_info(struct dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const dt_colorspaces_color_profile_type_t type, const char *filename, const int intent, const dt_colormatrix_t matrix_in)
void dt_ioppr_get_export_profile_type(struct dt_develop_t *dev, dt_colorspaces_color_profile_type_t *profile_type, const char **profile_filename)
dt_iop_order_iccprofile_info_t * dt_ioppr_get_pipe_current_profile_info(struct dt_iop_module_t *module, const struct dt_dev_pixelpipe_t *pipe)
_lib_location_type_t type
Definition location.c:1
float DT_ALIGNED_ARRAY dt_colormatrix_t[4][4]
Definition matrices.h:34
The colour-profile vocabulary, and nothing else.
dt_colorspaces_color_profile_type_t
A profile reduced to the arithmetic the pixel loop can run: two matrices and six tone-curve LUTs,...