Krita Source Code Documentation
Loading...
Searching...
No Matches
LcmsColorProfileContainer.cpp File Reference
#include "LcmsColorProfileContainer.h"
#include <QGenericMatrix>
#include <QTransform>
#include <array>
#include <cfloat>
#include <cmath>
#include <QDebug>
#include "DebugPigment.h"
#include "kis_debug.h"
#include "kis_dom_utils.h"
#include <KisLazyStorage.h>
#include <KisLazyValueWrapper.h>
#include <lcms2.h>
#include <KoColorTransferFunctions.h>

Go to the source code of this file.

Classes

class  LcmsColorProfileContainer::Private
 

Macros

#define _BUFFER_SIZE_   1000
 

Functions

KoColorimetryUtils::xyY fromCIExyY (const cmsCIExyY &xyY)
 
KoColorimetryUtils::XYZ fromCieXYZ (const cmsCIEXYZ &xyz)
 
cmsToneCurve * perceptualQuantizerDummy ()
 

Macro Definition Documentation

◆ _BUFFER_SIZE_

#define _BUFFER_SIZE_   1000

Definition at line 157 of file LcmsColorProfileContainer.cpp.

Function Documentation

◆ fromCIExyY()

KoColorimetryUtils::xyY fromCIExyY ( const cmsCIExyY & xyY)

Definition at line 442 of file LcmsColorProfileContainer.cpp.

References KoColorimetryUtils::xyY::x.

◆ fromCieXYZ()

KoColorimetryUtils::XYZ fromCieXYZ ( const cmsCIEXYZ & xyz)

Definition at line 438 of file LcmsColorProfileContainer.cpp.

References KoColorimetryUtils::XYZ::X.

◆ perceptualQuantizerDummy()

cmsToneCurve * perceptualQuantizerDummy ( )

IMPORTANT: 125.0 is the maximum output of the curve and is controlled by the diffuse white!

Definition at line 708 of file LcmsColorProfileContainer.cpp.

708 {
709 cmsFloat32Number CurveVals[1024];
710 for (int i = 0; i < 1024; i++) {
711 float val = float(i)/1023.0;
713 CurveVals[i] = (removeSmpte2048Curve(val)/125.0);
714 }
715 return cmsBuildTabulatedToneCurveFloat(NULL, 1024, CurveVals);
716}
ALWAYS_INLINE float removeSmpte2048Curve(float x, float refWhite=203.0) noexcept

References removeSmpte2048Curve().