Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
|
Go to the source code of this file.
Classes | |
class | CIccInfo |
Type: Class. More... | |
class | CIccPixelBuf |
class | IIccCmmEnvVarLookup |
Type: Class. More... | |
Macros | |
#define | icDefaultPixelBufSize 100 |
Type: Class. | |
#define | icNegInfinity (-std::numeric_limits<icFloatNumber>::infinity()) |
#define | icNotANumber (std::numeric_limits<icFloatNumber>::quiet_NaN()) |
#define | icNotZero(v) ((v)>1.0e-8 || (v)<-1.0e-8) |
#define | icPiNum 3.14159265358979323846 |
#define | icPosInfinity (std::numeric_limits<icFloatNumber>::infinity()) |
#define | icSwab16(flt) icSwab16Ptr(&flt) |
#define | icSwab32(flt) icSwab32Ptr(&flt) |
#define | icSwab64(flt) icSwab64Ptr(&flt) |
#define | icUtf8StrCmp(x, y) strcmp((const char*)x, (const char*)y) |
Variables | |
icFloatNumber | icD50XYZ [3] |
icFloatNumber | icD50XYZxx [3] |
CIccInfo | icInfo |
const char * | icMsgValidateCriticalError |
const char * | icMsgValidateInformation |
const char * | icMsgValidateNonCompliant |
const char * | icMsgValidateWarning |
File: IccUtil.h.
Contains: Implementation of utility classes/functions
Version: V1
Copyright: � see ICC Software License
Definition in file IccUtil.h.
#define icDefaultPixelBufSize 100 |
Type: Class.
Purpose: This is a utility class which can be for pixel sample storage. It features constant allocation access time when the pixel buffer size is less thatn icDefaultPixelBufSize
Definition at line 373 of file IccUtil.h.
Referenced by CIccPixelBuf::CIccPixelBuf().
#define icNegInfinity (-std::numeric_limits<icFloatNumber>::infinity()) |
Definition at line 87 of file IccUtil.h.
Referenced by CIccOpDefNegInfinity::Exec(), and CIccOpDefRealNumber::Exec().
#define icNotANumber (std::numeric_limits<icFloatNumber>::quiet_NaN()) |
Definition at line 88 of file IccUtil.h.
Referenced by CIccOpDefEqual::Exec(), CIccOpDefNotANumber::Exec(), CIccOpDefNotEqual::Exec(), and CIccOpDefRealNumber::Exec().
#define icNotZero | ( | v | ) | ((v)>1.0e-8 || (v)<-1.0e-8) |
Definition at line 89 of file IccUtil.h.
Referenced by CIccMpeMatrix::Begin(), CIccSparseMatrix::FillFromFullMatrix(), CIccTagSpectralViewingConditions::setIlluminant(), and CIccMpeXmlMatrix::ToXml().
#define icPiNum 3.14159265358979323846 |
Definition at line 85 of file IccUtil.h.
Referenced by CIccCamConverter::ab2chDeg(), CIccOpDefCartesianToPolar::Exec(), CIccOpDefPi::Exec(), CIccOpDefPolarToCartesian::Exec(), CIccCamConverter::JabToXYZ(), and CIccCamConverter::XYZToJab().
#define icPosInfinity (std::numeric_limits<icFloatNumber>::infinity()) |
Definition at line 86 of file IccUtil.h.
Referenced by CIccOpDefPosInfinity::Exec(), and CIccOpDefRealNumber::Exec().
#define icSwab16 | ( | flt | ) | icSwab16Ptr(&flt) |
Definition at line 288 of file IccUtil.h.
Referenced by CIccIO::Write16().
#define icSwab32 | ( | flt | ) | icSwab32Ptr(&flt) |
Definition at line 289 of file IccUtil.h.
Referenced by CIccIO::Write32().
#define icSwab64 | ( | flt | ) | icSwab64Ptr(&flt) |
Definition at line 290 of file IccUtil.h.
Referenced by CIccIO::Write64().
#define icUtf8StrCmp | ( | x, | |
y ) strcmp((const char*)x, (const char*)y) |
icUInt8Number icABtoU8 | ( | icFloatNumber | num | ) |
Definition at line 766 of file IccUtil.cpp.
void icColorIndexName | ( | icChar * | szName, |
icColorSpaceSignature | csSig, | ||
int | nIndex, | ||
int | nColors, | ||
const icChar * | szUnknown ) |
Definition at line 295 of file IccUtil.cpp.
References icSigUnknownData, and szName.
Referenced by CIccMBB::Describe(), CIccTagNamedColor2::Describe(), and CIccCLUT::DumpLut().
void icColorValue | ( | icChar * | szValue, |
icFloatNumber | nValue, | ||
icColorSpaceSignature | csSig, | ||
int | nIndex, | ||
bool | bUseLegacy = false ) |
Definition at line 330 of file IccUtil.cpp.
References icSigLabData, and icSigUnknownData.
Referenced by CIccTagCurve::Describe(), CIccTagNamedColor2::Describe(), CIccCLUT::DumpLut(), CIccTagCurve::DumpLut(), and CIccCLUT::Iterate().
icFloatNumber icCubeth | ( | icFloatNumber | v | ) |
Definition at line 805 of file IccUtil.cpp.
References ICC_CBRTF.
Referenced by CIccOpDefToLab::Exec(), and icXYZtoLab().
icFloatNumber icDeltaE | ( | const icFloatNumber * | Lab1, |
const icFloatNumber * | Lab2 ) |
Definition at line 527 of file IccUtil.cpp.
References icSq().
Referenced by CIccMinMaxEval::Compare(), CIccPRMG::EvaluateProfile(), CIccTagNamedColor2::FindCachedPCSColor(), and CIccArrayNamedColor::FindPcsColor().
void icDeNormXYZ | ( | icFloatNumber * | XYZ, |
icFloatNumber * | WhiteXYZ = NULL ) |
icS15Fixed16Number icDtoF | ( | icFloatNumber | num | ) |
Definition at line 545 of file IccUtil.cpp.
References icRoundOffset().
Referenced by CIccTagLut16::CIccTagLut16(), CIccTagLut8::CIccTagLut8(), CIccDefaultEncProfileConverter::ConvertFromParams(), main(), CIccProfileXml::ParseBasic(), CIccTagXmlFixedNum< T, Tsig >::ParseXml(), CIccTagXmlMeasurement::ParseXml(), CIccTagXmlResponseCurveSet16::ParseXml(), CIccTagXmlViewingConditions::ParseXml(), CIccTagXmlXYZ::ParseXml(), CIccTagLut16::SetColorSpaces(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::Write(), CIccTagLut8::Write(), CIccTagLutAtoB::Write(), and CIccTagParametricCurve::Write().
icU8Fixed8Number icDtoUCF | ( | icFloatNumber | num | ) |
Definition at line 608 of file IccUtil.cpp.
References icRoundOffset().
icU16Fixed16Number icDtoUF | ( | icFloatNumber | num | ) |
Definition at line 566 of file IccUtil.cpp.
References icRoundOffset().
Referenced by CIccTagXmlChromaticity::ParseXml(), CIccTagXmlFixedNum< T, Tsig >::ParseXml(), and CIccTagChromaticity::Validate().
icU1Fixed15Number icDtoUSF | ( | icFloatNumber | num | ) |
Definition at line 587 of file IccUtil.cpp.
References icRoundOffset().
icFloat32Number icF16toF | ( | icFloat16Number | num | ) |
Definition at line 629 of file IccUtil.cpp.
Referenced by CIccInfo::CheckData(), CIccMpeSpectralMatrix::Describe(), CIccMpeSpectralObserver::Describe(), CIccTagEmbeddedProfile::Describe(), CIccTagSpectralDataInfo::Describe(), CIccTagSpectralViewingConditions::Describe(), CIccSparseMatrixFloat16::get(), main(), main(), MyChild::MyChild(), CIccSampledCurveSegmentXml::ParseXml(), CIccSinglSampledeCurveXml::ParseXml(), CIccIO::ReadFloat16Float(), CIccMatrixMath::SetRange(), CIccMpeXmlEmissionCLUT::ToXml(), CIccMpeXmlEmissionMatrix::ToXml(), CIccMpeXmlEmissionObserver::ToXml(), CIccMpeXmlInvEmissionMatrix::ToXml(), CIccMpeXmlReflectanceCLUT::ToXml(), CIccMpeXmlReflectanceObserver::ToXml(), CIccTagXmlSpectralDataInfo::ToXml(), CIccTagXmlSpectralViewingConditions::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
icFloatNumber icFtoD | ( | icS15Fixed16Number | num | ) |
Definition at line 559 of file IccUtil.cpp.
Referenced by CIccResponseCurveStruct::Describe(), CIccTagEmbeddedProfile::Describe(), CIccTagFixedNum< T, Tsig >::Describe(), CIccTagMeasurement::Describe(), CIccTagViewingConditions::Describe(), CIccTagXYZ::Describe(), CIccTagFixedNum< T, Tsig >::GetValues(), icIsS15Fixed16NumberNear(), icMatrixDump(), CIccTagFixedNum< T, Tsig >::Interpolate(), main(), MyChild::MyChild(), CIccTagLutAtoB::Read(), CIccTagParametricCurve::Read(), CIccTagLut16::SetColorSpaces(), CIccTagLut8::SetColorSpaces(), CIccTagXmlFixedNum< T, Tsig >::ToXml(), CIccTagXmlMeasurement::ToXml(), CIccTagXmlResponseCurveSet16::ToXml(), CIccTagXmlViewingConditions::ToXml(), CIccTagXmlXYZ::ToXml(), CIccProfileXml::ToXmlWithBlanks(), and CIccTagFixedNum< T, Tsig >::ValuePos().
icFloat16Number icFtoF16 | ( | icFloat32Number | num | ) |
Definition at line 673 of file IccUtil.cpp.
Referenced by CIccProfileXml::ParseBasic(), CIccMpeXmlEmissionCLUT::ParseXml(), CIccMpeXmlEmissionMatrix::ParseXml(), CIccMpeXmlEmissionObserver::ParseXml(), CIccMpeXmlInvEmissionMatrix::ParseXml(), CIccMpeXmlReflectanceCLUT::ParseXml(), CIccMpeXmlReflectanceObserver::ParseXml(), CIccTagXmlSpectralDataInfo::ParseXml(), CIccTagXmlSpectralViewingConditions::ParseXml(), CIccSparseMatrixFloat16::set(), and CIccIO::WriteFloat16Float().
icUInt16Number icFtoU16 | ( | icFloatNumber | num | ) |
Definition at line 745 of file IccUtil.cpp.
References icRoundOffset().
Referenced by CIccTagXmlColorantTable::ParseXml().
icUInt8Number icFtoU8 | ( | icFloatNumber | num | ) |
Definition at line 724 of file IccUtil.cpp.
References icRoundOffset().
const icChar * icGet16bitSig | ( | icChar * | pBuf, |
icUInt16Number | sig, | ||
bool | bGetHexVal = true ) |
Definition at line 1000 of file IccUtil.cpp.
References sig.
const icChar * icGetColorSig | ( | icChar * | pBuf, |
icUInt32Number | sig, | ||
bool | bGetHexVal = true ) |
Definition at line 1088 of file IccUtil.cpp.
References icGetColorSpaceType, icNumColorSpaceChannels, icSigBiSpectralReflectanceData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigSparseMatrixReflectanceData, icSigTransmisionSpectralData, and sig.
Referenced by CIccCfgColorData::toLegacy().
const icChar * icGetColorSigStr | ( | icChar * | pBuf, |
icUInt32Number | nSig ) |
Definition at line 1139 of file IccUtil.cpp.
References icGetColorSpaceType, icNumColorSpaceChannels, icSigBiSpectralReflectanceData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigSparseMatrixReflectanceData, icSigTransmisionSpectralData, and sig.
Referenced by CIccTagSpectralDataInfo::Describe(), CIccCfgColorData::toJson(), CIccCfgDataApply::toJson(), CIccTagXmlSpectralDataInfo::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
icSignature icGetFirstSigPathSig | ( | std::string | sigPath | ) |
Definition at line 1201 of file IccUtil.cpp.
References icGetSigVal(), and icSigEmbeddedV5ProfileTag.
Referenced by CIccCLUT::Validate(), CIccMatrix::Validate(), CIccMBB::Validate(), CIccTagArray::Validate(), CIccTagColorantTable::Validate(), CIccTagCurve::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagLut16::Validate(), CIccTagLut8::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagParametricCurve::Validate(), CIccTagSignature::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagSpectralDataInfo::Validate(), and CIccTagText::Validate().
icSignature icGetLastSigPathSig | ( | std::string | sigPath | ) |
Definition at line 1220 of file IccUtil.cpp.
References icGetSigVal(), and sig.
icUInt32Number icGetMaterialColorSpaceSamples | ( | icMaterialColorSignature | sig | ) |
Definition at line 1391 of file IccUtil.cpp.
References icGetColorSpaceType, icNumColorSpaceChannels, icSigSrcMCSChannelData, and sig.
Referenced by CIccTagArray::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagMultiProcessElement::Validate(), and CIccTagNum< T, Tsig >::Validate().
icSignature icGetSecondSigPathSig | ( | std::string | sigPath | ) |
Definition at line 1238 of file IccUtil.cpp.
References icGetSigVal().
Referenced by CIccTagSparseMatrixArray::Validate().
const icChar * icGetSig | ( | icChar * | pBuf, |
icUInt32Number | sig, | ||
bool | bGetHexVal = true ) |
Definition at line 1028 of file IccUtil.cpp.
References sig.
Referenced by CIccMpeAcs::Describe(), CIccMpeUnknown::Describe(), CIccTagEmbeddedProfile::Describe(), CIccTagProfileSeqDesc::Describe(), SIccCalcOp::Describe(), DumpTag(), CIccBasicMpeFactory::GetElementSigName(), CIccInfo::GetUnknownName(), main(), MyChild::MyChild(), and CIccMpeUnknown::Validate().
std::string icGetSigPath | ( | icUInt32Number | sig | ) |
Definition at line 1191 of file IccUtil.cpp.
References icGetSigStr().
Referenced by CIccArrayColorantInfo::Validate(), CIccArrayUnknown::Validate(), CIccMpeCalculator::Validate(), CIccMpeCLUT::Validate(), CIccMpeCurveSet::Validate(), CIccMpeExtCLUT::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeSpectralObserver::Validate(), CIccMpeTintArray::Validate(), CIccMpeToneMap::Validate(), CIccMultiProcessElement::Validate(), CIccSegmentedCurve::Validate(), CIccStructUnknown::Validate(), CIccTagArray::Validate(), CIccTagColorantOrder::Validate(), CIccTagLut16::Validate(), CIccTagLut8::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagProfileSequenceId::Validate(), and CIccTagStruct::Validate().
const icChar * icGetSigStr | ( | icChar * | pBuf, |
icUInt32Number | nSig ) |
Definition at line 1056 of file IccUtil.cpp.
References sig.
Referenced by SIccCalcOp::Describe(), CIccBasicArrayFactory::GetArraySigName(), CIccBasicStructFactory::GetStructSigName(), icGetSigPath(), icProfDescToXml(), jsonFromEnvMap(), CIccMpeXmlBAcs::ToXml(), CIccMpeXmlEAcs::ToXml(), CIccMpeXmlTintArray::ToXml(), CIccMpeXmlUnknown::ToXml(), CIccTagXmlArray::ToXml(), CIccTagXmlDict::ToXml(), CIccTagXmlMultiLocalizedUnicode::ToXml(), CIccTagXmlProfileSequenceId::ToXml(), CIccTagXmlSignature::ToXml(), CIccTagXmlStruct::ToXml(), CIccTagXmlTextDescription::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
icUInt32Number icGetSigVal | ( | const icChar * | pBuf | ) |
Definition at line 1258 of file IccUtil.cpp.
Referenced by CIccCfgProfileSequence::fromArgs(), CIccCfgColorData::fromLegacy(), CIccInfo::GetSigPathName(), icGetFirstSigPathSig(), icGetLastSigPathSig(), icGetSecondSigPathSig(), icXmlGetChildSigVal(), icXmlStrToSig(), jsonToColorSpace(), jsonToValue(), main(), main(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccTagXmlDict::ParseXml(), CIccTagXmlMultiLocalizedUnicode::ParseXml(), CIccTagXmlProfileSequenceId::ParseXml(), CIccTagXmlSignature::ParseXml(), CIccTagXmlSpectralDataInfo::ParseXml(), CIccTagXmlStruct::ParseXml(), and CIccTagXmlUnknown::ParseXml().
icUInt32Number icGetSpaceSamples | ( | icColorSpaceSignature | sig | ) |
Definition at line 1303 of file IccUtil.cpp.
References icGetColorSpaceType, icHexDigit(), icNumColorSpaceChannels, icSig2colorData, icSig3colorData, icSig4colorData, icSigBiSpectralReflectanceData, icSigCmyData, icSigCmykData, icSigDevLabData, icSigDevXYZData, icSigGamutData, icSigGrayData, icSigHlsData, icSigHsvData, icSigLabData, icSigLuvData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigRgbData, icSigSparseMatrixReflectanceData, icSigSrcMCSChannelData, icSigTransmisionSpectralData, icSigXYZData, icSigYCbCrData, icSigYxyData, and sig.
Referenced by CIccCfgColorData::addFields(), CCubeWriter::begin(), CDevLinkWriter::begin(), CIccApplyBPC::calcSrcBlackPoint(), CIccEvalCompare::EvaluateProfile(), CIccCfgColorData::fromLegacy(), CIccInfo::GetColorSpaceSigName(), icGetSpectralSpaceSamples(), IsValidBitmapType(), IsValidColorType(), main(), main(), main(), CIccArrayNamedColor::SetColorSpaces(), CIccCfgColorData::spaceName(), CIccMBB::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagLut16::Validate(), CIccTagLut8::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagNamedColor2::Validate(), CIccTagResponseCurveSet16::Validate(), and CIccTagSparseMatrixArray::Validate().
icUInt32Number icGetSpectralSpaceSamples | ( | const icHeader * | pHdr | ) |
Definition at line 1367 of file IccUtil.cpp.
References icGetSpaceSamples(), icHeader::pcs, and icHeader::spectralPCS.
Referenced by CIccTagMultiProcessElement::Validate().
icUInt8Number icGetStorageTypeBytes | ( | icUInt16Number | nStorageType | ) |
Definition at line 1375 of file IccUtil.cpp.
References icValueTypeFloat16, icValueTypeFloat32, icValueTypeUInt16, and icValueTypeUInt8.
Referenced by CIccMpeExtCLUT::Read(), and CIccMpeSpectralCLUT::Read().
icFloatNumber icICubeth | ( | icFloatNumber | v | ) |
Definition at line 815 of file IccUtil.cpp.
Referenced by CIccOpDefFromLab::Exec(), and icLabtoXYZ().
icUInt32Number icIntMax | ( | icUInt32Number | v1, |
icUInt32Number | v2 ) |
Definition at line 913 of file IccUtil.cpp.
Referenced by CIccCalculatorFunc::CheckUnderflowOverflow(), main(), and main().
icUInt32Number icIntMin | ( | icUInt32Number | v1, |
icUInt32Number | v2 ) |
Definition at line 908 of file IccUtil.cpp.
Referenced by CIccCalculatorFunc::CheckUnderflowOverflow(), CIccCalculatorFunc::DescribeSequence(), CIccMpeXmlCalculator::ParseXml(), CIccCalculatorFunc::SequenceNeedTempReset(), and CIccToneMapFunc::SetFunction().
bool icIsIllumD50 | ( | icXYZNumber | xyz | ) |
Definition at line 363 of file IccUtil.cpp.
References icIsS15Fixed16NumberNear(), icXYZNumber::X, icXYZNumber::Y, and icXYZNumber::Z.
bool icIsNear | ( | icFloatNumber | v1, |
icFloatNumber | v2, | ||
icFloatNumber | nearRange ) |
Name: icIsNear.
Purpose: Checks if two numbers are close to each other in value
Args: v1 - first value v2 - second value range -
Return: true if v1 is near v2 within range
Definition at line 142 of file IccUtil.cpp.
Referenced by CIccFormulaCurveSegment::Begin(), CCubeWriter::begin(), CDevLinkWriter::begin(), CIccFormulaCurveSegment::Describe(), CubeFile::isCustomInputRange(), and CIccTagSpectralViewingConditions::setIlluminant().
bool icIsSpaceCLR | ( | icColorSpaceSignature | sig | ) |
Definition at line 262 of file IccUtil.cpp.
References icHexDigit(), and sig.
Referenced by CDevLinkWriter::begin().
void icLab2Lch | ( | icFloatNumber * | Lch, |
icFloatNumber * | Lab = NULL ) |
Definition at line 881 of file IccUtil.cpp.
References PI.
Referenced by CIccPRMG::InGamut().
void icLabFromPcs | ( | icFloatNumber * | Lab | ) |
Floating point encoding of Lab in PCS is in range 0.0 to 1.0.
Here are some conversion routines to convert to regular Lab encoding
Definition at line 919 of file IccUtil.cpp.
Referenced by CIccTagColorantTable::Describe(), CIccEvalCompare::EvaluateProfile(), CIccPRMG::EvaluateProfile(), CIccTagNamedColor2::FindCachedPCSColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), CIccApplyBPC::pcs2lab(), CIccTagXmlColorantTable::ToXml(), and CIccTagXmlNamedColor2::ToXml().
void icLabToPcs | ( | icFloatNumber * | Lab | ) |
Definition at line 927 of file IccUtil.cpp.
Referenced by CIccApplyBPC::lab2pcs(), main(), CIccTagXmlColorantTable::ParseXml(), and CIccTagXmlNamedColor2::ParseXml().
void icLabtoXYZ | ( | icFloatNumber * | XYZ, |
const icFloatNumber * | Lab = NULL, | ||
const icFloatNumber * | WhiteXYZ = NULL ) |
Definition at line 830 of file IccUtil.cpp.
References icD50XYZ, and icICubeth().
Referenced by CIccApplyBPC::calcDstBlackPoint(), CIccApplyBPC::calcSrcBlackPoint(), CIccApplyBPC::lab2pcs(), and main().
void icLch2Lab | ( | icFloatNumber * | Lab, |
icFloatNumber * | Lch = NULL ) |
Definition at line 866 of file IccUtil.cpp.
References PI.
void icMatrixDump | ( | std::string & | sDump, |
icS15Fixed16Number * | pMatrix ) |
Definition at line 988 of file IccUtil.cpp.
References icFtoD().
Referenced by CIccTagFixedNum< T, Tsig >::Describe().
bool icMatrixInvert3x3 | ( | icFloatNumber * | M | ) |
Name: icMatrixInvert3x3.
Purpose: Inversion of a 3x3 matrix using the Adjoint Cofactor and the determinant of the 3x3 matrix.
Note: Matrix index positions: 0 1 2 3 4 5 6 7 8
Args: M = matrix to invert.
Return: true = matrix is invertible and stored back into M, false = matrix is not invertible.
Definition at line 391 of file IccUtil.cpp.
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccMatrixMath::Invert(), CIccSimpleMatrixInverter::Invert(), and CIccSimpleMatrixSolver::Solve().
void icMatrixMultiply3x3 | ( | icFloatNumber * | result, |
const icFloatNumber * | l, | ||
const icFloatNumber * | r ) |
Name: icMatrixMultiply3x3.
Purpose: Multiply two 3x3 matricies resulting in a 3x3 matrix.
Note: Matrix index positions: 0 1 2 3 4 5 6 7 8
Args: result = matrix to recieve result. l = left matrix to multiply (matrix multiplication is order dependent) r = right matrix to multiply (matrix multiplicaiton is order dependent)
Definition at line 457 of file IccUtil.cpp.
icFloatNumber icMax | ( | icFloatNumber | v1, |
icFloatNumber | v2 ) |
Definition at line 903 of file IccUtil.cpp.
Referenced by CIccFormulaCurveSegment::Apply(), CIccOpDefMaximum::Exec(), and CIccOpDefVectorMaximum::Exec().
icValidateStatus icMaxStatus | ( | icValidateStatus | s1, |
icValidateStatus | s2 ) |
Name: icMaxStatus.
Purpose: return worst status
Args: s1, s2
Return:
Definition at line 244 of file IccUtil.cpp.
Referenced by CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), main(), MyDialog::MyDialog(), CIccArrayColorantInfo::Validate(), CIccArrayNamedColor::Validate(), CIccArrayUnknown::Validate(), CIccCLUT::Validate(), CIccFormulaCurveSegment::Validate(), CIccMBB::Validate(), CIccMpeCalculator::Validate(), CIccMpeCAM::Validate(), CIccMpeCurveSet::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeSpectralObserver::Validate(), CIccMpeToneMap::Validate(), CIccResponseCurveStruct::Validate(), CIccSampledCalculatorCurve::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), CIccStructBRDF::Validate(), CIccStructColorantInfo::Validate(), CIccStructNamedColor::Validate(), CIccStructUnknown::Validate(), CIccTagArray::Validate(), CIccTagChromaticity::Validate(), CIccTagCicp::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagCurve::Validate(), CIccTagData::Validate(), CIccTagDateTime::Validate(), CIccTagDict::Validate(), CIccTagEmbeddedHeightImage::Validate(), CIccTagEmbeddedNormalImage::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagGamutBoundaryDesc::Validate(), CIccTagLut16::Validate(), CIccTagLut8::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagMeasurement::Validate(), CIccTagMultiLocalizedUnicode::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagNamedColor2::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagParametricCurve::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagProfileSequenceId::Validate(), CIccTagResponseCurveSet16::Validate(), CIccTagSignature::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagStruct::Validate(), CIccTagText::Validate(), CIccTagTextDescription::Validate(), CIccTagUtf16Text::Validate(), CIccTagUtf8Text::Validate(), CIccTagViewingConditions::Validate(), CIccTagXYZ::Validate(), CIccTagZipUtf8Text::Validate(), CIccToneMapFunc::Validate(), and ValidateIccProfile().
void icMemDump | ( | std::string & | sDump, |
void * | pBuf, | ||
icUInt32Number | nNum ) |
Definition at line 951 of file IccUtil.cpp.
References DUMPBYTESPERLINE.
Referenced by CIccMpeAcs::Describe(), CIccMpeUnknown::Describe(), CIccTagData::Describe(), CIccTagUnknown::Describe(), CIccTagZipUtf8Text::Describe(), and MyTagDialog::MyTagDialog().
icFloatNumber icMin | ( | icFloatNumber | v1, |
icFloatNumber | v2 ) |
Definition at line 898 of file IccUtil.cpp.
Referenced by CIccEvalCompare::EvaluateProfile(), CIccOpDefMinimum::Exec(), and CIccOpDefVectorMinimum::Exec().
void icNormXYZ | ( | icFloatNumber * | XYZ, |
icFloatNumber * | WhiteXYZ = NULL ) |
void * icRealloc | ( | void * | ptr, |
size_t | size ) |
Name: icRealloc.
Purpose: realloc memory allocated by malloc or calloc freeing old memory on failure.
Args: ptr - memory block to realloc size - new size of memory block
Return: pointer to reallocated memory block or NULL on failure. Old memory is released on error.
Definition at line 111 of file IccUtil.cpp.
Referenced by CIccTagZipUtf8Text::AllocBuffer(), CIccUTF16String::FromUtf8(), CIccTagText::GetBuffer(), CIccTagTextDescription::GetBuffer(), CIccTagUtf16Text::GetBuffer(), CIccTagUtf8Text::GetBuffer(), CIccTagTextDescription::GetUnicodeBuffer(), CIccUTF16String::operator=(), CIccUTF16String::operator=(), CIccTagDict::Read(), CIccTagText::Release(), CIccTagTextDescription::Release(), CIccTagUtf16Text::Release(), CIccTagUtf8Text::Release(), CIccTagTextDescription::ReleaseUnicode(), CIccTagSparseMatrixArray::Reset(), CIccUTF16String::Resize(), CIccMpeCalculator::SetElem(), CIccLocalizedUnicode::SetSize(), CIccTagArray::SetSize(), CIccTagChromaticity::SetSize(), CIccTagColorantOrder::SetSize(), CIccTagColorantTable::SetSize(), CIccTagCurve::SetSize(), CIccTagData::SetSize(), CIccTagEmbeddedHeightImage::SetSize(), CIccTagEmbeddedNormalImage::SetSize(), CIccTagFixedNum< T, Tsig >::SetSize(), CIccTagFloatNum< T, Tsig >::SetSize(), CIccTagNum< T, Tsig >::SetSize(), and CIccTagXYZ::SetSize().
icFloatNumber icRmsDif | ( | const icFloatNumber * | v1, |
const icFloatNumber * | v2, | ||
icUInt32Number | nSample ) |
Definition at line 532 of file IccUtil.cpp.
References icSq().
Referenced by CIccArrayNamedColor::FindSpectralColor().
double icRoundOffset | ( | double | v | ) |
Name: icRoundOffset.
Purpose: Adds offset to floating point value for purposes of rounding by casting to and integer based value
Args: v - value to offset
Return: v with offset added - suitable for casting to some form of integer
Definition at line 223 of file IccUtil.cpp.
Referenced by icDtoF(), icDtoUCF(), icDtoUF(), icDtoUSF(), icFtoU16(), and icFtoU8().
bool icSameSpectralRange | ( | const icSpectralRange & | rng1, |
const icSpectralRange & | rng2 ) |
Definition at line 1399 of file IccUtil.cpp.
References icSpectralRange::end, icSpectralRange::start, and icSpectralRange::steps.
|
inline |
Definition at line 218 of file IccUtil.h.
Referenced by CIccIO::Read16().
|
inline |
|
inline |
Definition at line 239 of file IccUtil.h.
Referenced by CIccIO::Read32().
|
inline |
Definition at line 230 of file IccUtil.h.
|
inline |
Definition at line 264 of file IccUtil.h.
Referenced by CIccIO::Read64().
|
inline |
Definition at line 253 of file IccUtil.h.
icFloatNumber icU16toF | ( | icUInt16Number | num | ) |
Definition at line 759 of file IccUtil.cpp.
Referenced by CIccTagColorantTable::Describe(), CIccTagNum< T, Tsig >::GetValues(), CIccTagNum< T, Tsig >::Interpolate(), CIccTagXmlColorantTable::ToXml(), and CIccTagNum< T, Tsig >::ValuePos().
icFloatNumber icU8toAB | ( | icUInt8Number | num | ) |
Definition at line 777 of file IccUtil.cpp.
icFloatNumber icU8toF | ( | icUInt8Number | num | ) |
Definition at line 738 of file IccUtil.cpp.
Referenced by CIccTagNum< T, Tsig >::GetValues(), CIccTagNum< T, Tsig >::Interpolate(), and CIccTagNum< T, Tsig >::ValuePos().
icFloatNumber icUCFtoD | ( | icU8Fixed8Number | num | ) |
Definition at line 622 of file IccUtil.cpp.
icFloatNumber icUFtoD | ( | icU16Fixed16Number | num | ) |
Definition at line 580 of file IccUtil.cpp.
Referenced by CIccTagChromaticity::Describe(), CIccTagFixedNum< T, Tsig >::Describe(), CIccTagFixedNum< T, Tsig >::GetValues(), CIccTagFixedNum< T, Tsig >::Interpolate(), CIccTagXmlChromaticity::ToXml(), CIccTagXmlFixedNum< T, Tsig >::ToXml(), and CIccTagFixedNum< T, Tsig >::ValuePos().
icFloatNumber icUSFtoD | ( | icU1Fixed15Number | num | ) |
Definition at line 601 of file IccUtil.cpp.
Referenced by CIccTagColorantTable::Describe().
bool icValidOverlap | ( | const icPositionNumber & | pos1, |
const icPositionNumber & | pos2, | ||
bool | bAllowSame ) |
Name: icValidOverlap.
Purpose: Checks if pos overlap is acceptable
Args: pos1 - first positionNumber pos2 - second positionNumber bAllowSame - allow to positions to cover the same area
Return: true if v1 is near v2 within range
Definition at line 195 of file IccUtil.cpp.
References icPositionNumber::offset, and icPositionNumber::size.
Referenced by CIccMpeToneMap::Read().
bool icValidTagPos | ( | const icPositionNumber & | pos, |
icUInt32Number | nTagHeaderSize, | ||
icUInt32Number | nTagSize, | ||
bool | bAllowEmpty ) |
Name: icValidTagPos.
Purpose: Checks if pos is valid for data within a tag
Args: pos - first value nTagHeaderSize - size of tag header nTagSize - total size of tag data
Return: true pos is valid
Definition at line 163 of file IccUtil.cpp.
References icPositionNumber::offset, and icPositionNumber::size.
Referenced by CIccMpeToneMap::Read().
void icVectorApplyMatrix3x3 | ( | icFloatNumber * | result, |
const icFloatNumber * | m, | ||
const icFloatNumber * | v ) |
Name: icVectorApplyMatrix3x3.
Purpose: Applies a 3x3 matrix to a 3 element column vector.
Note: Matrix index positions: 0 1 2 3 4 5 6 7 8
Note: result = m x v
Args: result = vector to receive result. m = matrix to multiply v = vector to apply matrix to
Definition at line 502 of file IccUtil.cpp.
Referenced by CIccSimpleMatrixSolver::Solve().
void icXyzFromPcs | ( | icFloatNumber * | XYZ | ) |
Floating point encoding of XYZ in PCS is in range 0.0 to 1.0 (Note: X=1.0 is encoded as about 0.5)
Here are some conversion routines to convert to regular XYZ encoding
Definition at line 934 of file IccUtil.cpp.
Referenced by CIccTagNamedColor2::FindCachedPCSColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), CIccApplyBPC::pcs2lab(), and CIccTagXmlNamedColor2::ToXml().
void icXYZtoLab | ( | icFloatNumber * | Lab, |
const icFloatNumber * | XYZ = NULL, | ||
const icFloatNumber * | WhiteXYZ = NULL ) |
Definition at line 846 of file IccUtil.cpp.
References icCubeth(), and icD50XYZ.
Referenced by CIccMpeSpectralObserver::Apply(), CIccMpeEmissionCLUT::Begin(), CIccMpeReflectanceCLUT::Begin(), CIccApplyBPC::calcDstBlackPoint(), CIccTagNamedColor2::FindCachedPCSColor(), CIccArrayNamedColor::FindPcsColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), and CIccApplyBPC::pcs2lab().
void icXyzToPcs | ( | icFloatNumber * | XYZ | ) |
Definition at line 941 of file IccUtil.cpp.
Referenced by CIccApplyBPC::CalcFactors(), CIccApplyBPC::lab2pcs(), main(), and CIccTagXmlNamedColor2::ParseXml().
|
extern |
Definition at line 782 of file IccUtil.cpp.
|
extern |
Definition at line 783 of file IccUtil.cpp.
|
extern |
|
extern |
Definition at line 92 of file IccUtil.cpp.
Referenced by CIccCalculatorFunc::Validate(), CIccCLUT::Validate(), CIccFormulaCurveSegment::Validate(), CIccMBB::Validate(), CIccMpeCalculator::Validate(), CIccMpeCAM::Validate(), CIccMpeCLUT::Validate(), CIccMpeCurveSet::Validate(), CIccMpeExtCLUT::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeSpectralObserver::Validate(), CIccMpeTintArray::Validate(), CIccMpeToneMap::Validate(), CIccMpeUnknown::Validate(), CIccSampledCalculatorCurve::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), CIccTagArray::Validate(), CIccTagChromaticity::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagLut16::Validate(), CIccTagLut8::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagParametricCurve::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccToneMapFunc::Validate(), ValidateIccProfile(), and ValidateIccProfile().
|
extern |
Definition at line 93 of file IccUtil.cpp.
Referenced by CIccMpeToneMap::Validate().
|
extern |
Definition at line 91 of file IccUtil.cpp.
Referenced by CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), main(), MyDialog::MyDialog(), CIccCLUT::Validate(), CIccMatrix::Validate(), CIccMultiProcessElement::Validate(), CIccResponseCurveStruct::Validate(), CIccTag::Validate(), CIccTagChromaticity::Validate(), CIccTagCicp::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagData::Validate(), CIccTagEmbeddedHeightImage::Validate(), CIccTagEmbeddedNormalImage::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagMeasurement::Validate(), CIccTagNamedColor2::Validate(), CIccTagParametricCurve::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagSignature::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagText::Validate(), CIccTagTextDescription::Validate(), and CIccTagZipUtf8Text::Validate().
|
extern |
Definition at line 90 of file IccUtil.cpp.
Referenced by CIccInfo::CheckData(), CIccInfo::CheckLuminance(), main(), MyDialog::MyDialog(), CIccCalculatorFunc::Validate(), CIccFormulaCurveSegment::Validate(), CIccMBB::Validate(), CIccSampledCalculatorCurve::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), CIccStructBRDF::Validate(), CIccStructColorantInfo::Validate(), CIccStructNamedColor::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagCurve::Validate(), CIccTagData::Validate(), CIccTagDict::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagGamutBoundaryDesc::Validate(), CIccTagLut16::Validate(), CIccTagLut8::Validate(), CIccTagLutBtoA::Validate(), CIccTagMultiLocalizedUnicode::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagNamedColor2::Validate(), CIccTagParametricCurve::Validate(), CIccTagResponseCurveSet16::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagStruct::Validate(), CIccTagText::Validate(), CIccTagUtf16Text::Validate(), CIccTagUtf8Text::Validate(), CIccTagXYZ::Validate(), CIccTagZipUtf8Text::Validate(), and CIccToneMapFunc::Validate().