Ansel
0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
format.h
Go to the documentation of this file.
1
/*
2
This file is part of darktable,
3
Copyright (C) 2010-2011 Henrik Andersson.
4
Copyright (C) 2010 johannes hanika.
5
Copyright (C) 2010 Pascal de Bruijn.
6
Copyright (C) 2012 Richard Wonka.
7
Copyright (C) 2013-2014 Jérémy Rosen.
8
Copyright (C) 2014-2015, 2020 Pascal Obry.
9
Copyright (C) 2015-2016 Tobias Ellinghaus.
10
Copyright (C) 2016 Roman Lebedev.
11
Copyright (C) 2018 Edgardo Hoszowski.
12
Copyright (C) 2020 Aurélien PIERRE.
13
Copyright (C) 2021 Ralf Brown.
14
Copyright (C) 2022 Martin Bařinka.
15
16
darktable is free software: you can redistribute it and/or modify
17
it under the terms of the GNU General Public License as published by
18
the Free Software Foundation, either version 3 of the License, or
19
(at your option) any later version.
20
21
darktable is distributed in the hope that it will be useful,
22
but WITHOUT ANY WARRANTY; without even the implied warranty of
23
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24
GNU General Public License for more details.
25
26
You should have received a copy of the GNU General Public License
27
along with darktable. If not, see <http://www.gnu.org/licenses/>.
28
*/
29
30
#pragma once
31
32
#include <stddef.h>
33
#include <stdint.h>
34
#include "
common/darktable.h
"
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
40
struct
dt_dev_pixelpipe_iop_t
;
41
struct
dt_dev_pixelpipe_t
;
42
struct
dt_iop_module_t
;
43
44
typedef
enum
dt_iop_buffer_type_t
{
45
TYPE_UNKNOWN
,
46
TYPE_FLOAT
,
47
TYPE_UINT16
,
48
TYPE_UINT8
,
49
}
dt_iop_buffer_type_t
;
50
51
typedef
struct
dt_iop_buffer_dsc_t
52
{
54
unsigned
int
channels
;
56
dt_iop_buffer_type_t
datatype
;
58
size_t
bpp
;
60
uint32_t
filters
;
70
uint8_t
xtrans
[6][6];
71
72
struct
73
{
74
uint16_t
raw_black_level
;
75
uint16_t
raw_white_point
;
76
}
rawprepare
;
77
78
struct
79
{
80
int
enabled
;
81
dt_aligned_pixel_t
coeffs
;
82
}
temperature
;
83
85
dt_aligned_pixel_t
processed_maximum
;
86
88
int
cst
;
89
90
}
dt_iop_buffer_dsc_t
;
91
92
void
dt_iop_buffer_dsc_update_bpp
(
struct
dt_iop_buffer_dsc_t
*dsc);
93
size_t
dt_iop_buffer_dsc_to_bpp
(
const
struct
dt_iop_buffer_dsc_t
*dsc);
94
95
void
default_input_format
(
struct
dt_iop_module_t
*self,
struct
dt_dev_pixelpipe_t
*pipe,
96
struct
dt_dev_pixelpipe_iop_t
*piece,
struct
dt_iop_buffer_dsc_t
*dsc);
97
98
void
default_output_format
(
struct
dt_iop_module_t
*self,
struct
dt_dev_pixelpipe_t
*pipe,
99
struct
dt_dev_pixelpipe_iop_t
*piece,
struct
dt_iop_buffer_dsc_t
*dsc);
100
101
int
default_blend_colorspace
(
struct
dt_iop_module_t
*self,
struct
dt_dev_pixelpipe_t
*pipe,
const
struct
dt_dev_pixelpipe_iop_t
*piece);
102
103
#ifdef __cplusplus
104
}
105
#endif
106
107
108
// clang-format off
109
// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
110
// vim: shiftwidth=2 expandtab tabstop=2 cindent
111
// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
112
// clang-format on
darktable.h
default_input_format
void default_input_format(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece, struct dt_iop_buffer_dsc_t *dsc)
Definition
format.c:57
default_blend_colorspace
int default_blend_colorspace(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece)
default_output_format
void default_output_format(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece, struct dt_iop_buffer_dsc_t *dsc)
Definition
format.c:75
dt_iop_buffer_dsc_update_bpp
void dt_iop_buffer_dsc_update_bpp(struct dt_iop_buffer_dsc_t *dsc)
Definition
format.c:28
dt_iop_buffer_dsc_to_bpp
size_t dt_iop_buffer_dsc_to_bpp(const struct dt_iop_buffer_dsc_t *dsc)
Definition
format.c:52
dt_iop_buffer_type_t
dt_iop_buffer_type_t
Definition
format.h:44
TYPE_FLOAT
@ TYPE_FLOAT
Definition
format.h:46
TYPE_UNKNOWN
@ TYPE_UNKNOWN
Definition
format.h:45
TYPE_UINT8
@ TYPE_UINT8
Definition
format.h:48
TYPE_UINT16
@ TYPE_UINT16
Definition
format.h:47
dt_aligned_pixel_t
float dt_aligned_pixel_t[4]
Definition
noiseprofile.c:28
dt_dev_pixelpipe_iop_t
Definition
pixelpipe_hb.h:96
dt_dev_pixelpipe_t
Definition
pixelpipe_hb.h:217
dt_iop_buffer_dsc_t
Definition
format.h:52
dt_iop_buffer_dsc_t::cst
int cst
Definition
format.h:88
dt_iop_buffer_dsc_t::coeffs
dt_aligned_pixel_t coeffs
Definition
format.h:81
dt_iop_buffer_dsc_t::filters
uint32_t filters
Definition
format.h:60
dt_iop_buffer_dsc_t::rawprepare
struct dt_iop_buffer_dsc_t::@29 rawprepare
dt_iop_buffer_dsc_t::raw_black_level
uint16_t raw_black_level
Definition
format.h:74
dt_iop_buffer_dsc_t::temperature
struct dt_iop_buffer_dsc_t::@30 temperature
dt_iop_buffer_dsc_t::channels
unsigned int channels
Definition
format.h:54
dt_iop_buffer_dsc_t::bpp
size_t bpp
Definition
format.h:58
dt_iop_buffer_dsc_t::xtrans
uint8_t xtrans[6][6]
Definition
format.h:70
dt_iop_buffer_dsc_t::datatype
dt_iop_buffer_type_t datatype
Definition
format.h:56
dt_iop_buffer_dsc_t::enabled
int enabled
Definition
format.h:80
dt_iop_buffer_dsc_t::processed_maximum
dt_aligned_pixel_t processed_maximum
Definition
format.h:85
dt_iop_buffer_dsc_t::raw_white_point
uint16_t raw_white_point
Definition
format.h:75
dt_iop_module_t
Definition
imageop.h:246
src
develop
format.h
Generated by
1.9.8