Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_colorspaces_conversion_t Struct Reference
+ Collaboration diagram for dt_colorspaces_conversion_t:

Data Fields

dt_colorspaces_color_profile_type_t from_type
 
dt_colorspaces_color_profile_type_t to_type
 
gboolean is_matrix
 
gboolean has_clipping
 
dt_colormatrix_t matrix
 source -> target, or source -> clip when clipping
 
dt_colormatrix_t clip_matrix
 clip -> target; meaningless unless has_clipping
 
dt_colormatrix_t source_matrix
 
gboolean have_source_matrix
 
float * lut_source [3]
 NULL when this conversion has no source curve stage.
 
float coeffs_source [3][3]
 9 contiguous floats: what the kernels upload verbatim
 
int nonlinear_source
 
float * lut_target [3]
 
float coeffs_target [3][3]
 
int nonlinear_target
 
cmsHTRANSFORM xform
 source -> target, or source -> clip when clipping
 
cmsHTRANSFORM clip_xform
 clip -> target; NULL unless has_clipping
 
gboolean gamutcheck
 
cmsHPROFILE owned [1]
 
int n_owned
 

Detailed Description

The prepared conversion. Two shapes live in here, and exactly one of them is active:

is_matrix == TRUE source curves -> matrix -> [clamp in clip primaries -> matrix] -> target curves is_matrix == FALSE one or two cmsHTRANSFORM, with the clamp between them when the conversion clips.

The sentinel encodings the two IOPs used to dispatch on from the outside – isnan(m[0][0]) for "no matrix", lut[c][0] < 0 for "this channel is linear" – are still how the curves are stored, because that is what dt_ioppr_eval_trc() and the OpenCL kernels read. The difference is that they are now read here and by the kernels, not by module logic.

Definition at line 49 of file conversion.c.

Field Documentation

◆ clip_matrix

dt_colormatrix_t dt_colorspaces_conversion_t::clip_matrix

clip -> target; meaningless unless has_clipping

Definition at line 58 of file conversion.c.

Referenced by dt_colorspaces_conversion_clip_matrix(), and dt_colorspaces_prepare_conversion().

◆ clip_xform

cmsHTRANSFORM dt_colorspaces_conversion_t::clip_xform

clip -> target; NULL unless has_clipping

Definition at line 75 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().

◆ coeffs_source

float dt_colorspaces_conversion_t::coeffs_source[3][3]

9 contiguous floats: what the kernels upload verbatim

Definition at line 67 of file conversion.c.

Referenced by dt_colorspaces_conversion_source_coeffs(), and dt_colorspaces_prepare_conversion().

◆ coeffs_target

float dt_colorspaces_conversion_t::coeffs_target[3][3]

◆ from_type

dt_colorspaces_color_profile_type_t dt_colorspaces_conversion_t::from_type

Definition at line 51 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().

◆ gamutcheck

gboolean dt_colorspaces_conversion_t::gamutcheck

Definition at line 76 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().

◆ has_clipping

gboolean dt_colorspaces_conversion_t::has_clipping

◆ have_source_matrix

gboolean dt_colorspaces_conversion_t::have_source_matrix

◆ is_matrix

◆ lut_source

float* dt_colorspaces_conversion_t::lut_source[3]

NULL when this conversion has no source curve stage.

Definition at line 66 of file conversion.c.

Referenced by dt_colorspaces_conversion_source_coeffs(), dt_colorspaces_conversion_source_curve(), and dt_colorspaces_prepare_conversion().

◆ lut_target

float* dt_colorspaces_conversion_t::lut_target[3]

◆ matrix

dt_colormatrix_t dt_colorspaces_conversion_t::matrix

source -> target, or source -> clip when clipping

Definition at line 57 of file conversion.c.

Referenced by dt_colorspaces_conversion_matrix(), and dt_colorspaces_prepare_conversion().

◆ n_owned

int dt_colorspaces_conversion_t::n_owned

Definition at line 82 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().

◆ nonlinear_source

int dt_colorspaces_conversion_t::nonlinear_source

Definition at line 68 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().

◆ nonlinear_target

int dt_colorspaces_conversion_t::nonlinear_target

Definition at line 72 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().

◆ owned

cmsHPROFILE dt_colorspaces_conversion_t::owned[1]

Definition at line 81 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().

◆ source_matrix

dt_colormatrix_t dt_colorspaces_conversion_t::source_matrix

◆ to_type

dt_colorspaces_color_profile_type_t dt_colorspaces_conversion_t::to_type

Definition at line 52 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().

◆ xform

cmsHTRANSFORM dt_colorspaces_conversion_t::xform

source -> target, or source -> clip when clipping

Definition at line 74 of file conversion.c.

Referenced by dt_colorspaces_prepare_conversion().


The documentation for this struct was generated from the following file: