Krita Source Code Documentation
Loading...
Searching...
No Matches
LcmsPredefinedPipelineFunctions.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2026 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 */
6#ifndef LCMSPREDFINEDPIPELINEFUNCTIONS_H
7#define LCMSPREDFINEDPIPELINEFUNCTIONS_H
8
9#include <lcms2.h>
11
20{
21public:
22
23/******************
24 * Rec2100 PQ dummy functions.
25 * PQ cannot be represented correctly in ICC due scaling issues. Therefore, we
26 * create a pipeline that's good enough to represent the data in a pinch,
27 * but it is combined with cicp values in the profile.
28 *****************/
29
30 static bool setPerceptualQuantizerAToBDummyPipeline(cmsHPROFILE iccProfile, cmsTagSignature tag, ColorPrimaries primaries, double diffuseWhiteNits = 80.0);
31 static bool setPerceptualQuantizerBToADummyPipeline(cmsHPROFILE iccProfile, cmsTagSignature tag, ColorPrimaries primaries, double diffuseWhiteNits = 80.0);
37 static bool setDiffuseWhitePerceptualQuantizer(cmsHPROFILE iccProfile, double diffuseWhiteNits = 80.0);
38
39};
40
41#endif // LCMSPREDEFINEDPIPELINEFUNCTIONS_H
ColorPrimaries
The colorPrimaries enum Enum of colorants, follows ITU H.273 for values 0 to 255, and has extra known...
The LcmsPredfinedPipelineFunctions class This class defines static functions to help create ICC profi...
static bool setPerceptualQuantizerAToBDummyPipeline(cmsHPROFILE iccProfile, cmsTagSignature tag, ColorPrimaries primaries, double diffuseWhiteNits=80.0)
static bool setDiffuseWhitePerceptualQuantizer(cmsHPROFILE iccProfile, double diffuseWhiteNits=80.0)
setDiffuseWhitePerceptualQuantizer This adds a dictionary with an CRWL entry to the profile.
static bool setPerceptualQuantizerBToADummyPipeline(cmsHPROFILE iccProfile, cmsTagSignature tag, ColorPrimaries primaries, double diffuseWhiteNits=80.0)