![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
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 |
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.
| 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().
| 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().
| 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().
| float dt_colorspaces_conversion_t::coeffs_target[3][3] |
Definition at line 71 of file conversion.c.
Referenced by dt_colorspaces_conversion_target_coeffs(), and dt_colorspaces_prepare_conversion().
| 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().
| gboolean dt_colorspaces_conversion_t::gamutcheck |
Definition at line 76 of file conversion.c.
Referenced by dt_colorspaces_prepare_conversion().
| gboolean dt_colorspaces_conversion_t::has_clipping |
Definition at line 55 of file conversion.c.
Referenced by dt_colorspaces_conversion_clip_matrix(), dt_colorspaces_conversion_has_clipping(), and dt_colorspaces_prepare_conversion().
| gboolean dt_colorspaces_conversion_t::have_source_matrix |
Definition at line 64 of file conversion.c.
Referenced by dt_colorspaces_conversion_source_matrix(), and dt_colorspaces_prepare_conversion().
| gboolean dt_colorspaces_conversion_t::is_matrix |
Definition at line 54 of file conversion.c.
Referenced by dt_colorspaces_apply_conversion_hooked(), dt_colorspaces_conversion_clip_matrix(), dt_colorspaces_conversion_is_matrix(), dt_colorspaces_conversion_matrix(), and dt_colorspaces_prepare_conversion().
| 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().
| float* dt_colorspaces_conversion_t::lut_target[3] |
Definition at line 70 of file conversion.c.
Referenced by dt_colorspaces_conversion_target_coeffs(), dt_colorspaces_conversion_target_curve(), and dt_colorspaces_prepare_conversion().
| 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().
| int dt_colorspaces_conversion_t::n_owned |
Definition at line 82 of file conversion.c.
Referenced by dt_colorspaces_prepare_conversion().
| int dt_colorspaces_conversion_t::nonlinear_source |
Definition at line 68 of file conversion.c.
Referenced by dt_colorspaces_prepare_conversion().
| int dt_colorspaces_conversion_t::nonlinear_target |
Definition at line 72 of file conversion.c.
Referenced by dt_colorspaces_prepare_conversion().
| cmsHPROFILE dt_colorspaces_conversion_t::owned[1] |
Definition at line 81 of file conversion.c.
Referenced by dt_colorspaces_prepare_conversion().
| dt_colormatrix_t dt_colorspaces_conversion_t::source_matrix |
Definition at line 63 of file conversion.c.
Referenced by dt_colorspaces_conversion_source_matrix(), and dt_colorspaces_prepare_conversion().
| 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().
| 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().