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 <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 155 of file LcmsColorProfileContainer.cpp.

Function Documentation

◆ fromCIExyY()

KoColorimetryUtils::xyY fromCIExyY ( const cmsCIExyY & xyY)

Definition at line 432 of file LcmsColorProfileContainer.cpp.

References KoColorimetryUtils::xyY::x.

◆ fromCieXYZ()

KoColorimetryUtils::XYZ fromCieXYZ ( const cmsCIEXYZ & xyz)

Definition at line 428 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 693 of file LcmsColorProfileContainer.cpp.

693 {
694 cmsFloat32Number CurveVals[1024];
695 for (int i = 0; i < 1024; i++) {
696 float val = float(i)/1023.0;
698 CurveVals[i] = (removeSmpte2048Curve(val)/125.0);
699 }
700 return cmsBuildTabulatedToneCurveFloat(NULL, 1024, CurveVals);
701}
ALWAYS_INLINE float removeSmpte2048Curve(float x) noexcept

References removeSmpte2048Curve().