IccMAX 2.1.27
Color Profile Tools
|
Go to the source code of this file.
Data Structures | |
class | CIccInfo |
class | CIccPixelBuf |
class | IIccCmmEnvVarLookup |
Macros | |
#define | icDefaultPixelBufSize 100 |
#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 | |
ICCPROFLIB_API icFloatNumber | icD50XYZ [3] |
ICCPROFLIB_API icFloatNumber | icD50XYZxx [3] |
ICCPROFLIB_API CIccInfo | icInfo |
ICCPROFLIB_API const char * | icMsgValidateCriticalError |
ICCPROFLIB_API const char * | icMsgValidateInformation |
ICCPROFLIB_API const char * | icMsgValidateNonCompliant |
ICCPROFLIB_API 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
#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) |
ICCPROFLIB_API icUInt8Number icABtoU8 | ( | icFloatNumber | num | ) |
ICCPROFLIB_API void icColorIndexName | ( | icChar * | szName, |
icColorSpaceSignature | csSig, | ||
int | nIndex, | ||
int | nColors, | ||
const icChar * | szUnknown | ||
) |
Referenced by CIccTagNamedColor2::Describe(), CIccMBB::Describe(), and CIccCLUT::DumpLut().
ICCPROFLIB_API void icColorValue | ( | icChar * | szValue, |
icFloatNumber | nValue, | ||
icColorSpaceSignature | csSig, | ||
int | nIndex, | ||
bool | bUseLegacy = false |
||
) |
References icSigLabData.
Referenced by CIccTagNamedColor2::Describe(), CIccTagCurve::Describe(), CIccCLUT::DumpLut(), CIccTagCurve::DumpLut(), and CIccCLUT::Iterate().
ICCPROFLIB_API icFloatNumber icCubeth | ( | icFloatNumber | v | ) |
Referenced by CIccOpDefToLab::Exec(), and icXYZtoLab().
ICCPROFLIB_API icFloatNumber icDeltaE | ( | const icFloatNumber * | Lab1, |
const icFloatNumber * | Lab2 | ||
) |
References icSq().
Referenced by CIccMinMaxEval::Compare(), CIccPRMG::EvaluateProfile(), CIccTagNamedColor2::FindCachedPCSColor(), and CIccArrayNamedColor::FindPcsColor().
ICCPROFLIB_API void icDeNormXYZ | ( | icFloatNumber * | XYZ, |
icFloatNumber * | WhiteXYZ = NULL |
||
) |
ICCPROFLIB_API icS15Fixed16Number icDtoF | ( | icFloatNumber | num | ) |
References icRoundOffset().
Referenced by CIccTagLut16::CIccTagLut16(), CIccTagLut8::CIccTagLut8(), CIccDefaultEncProfileConverter::ConvertFromParams(), main(), CIccProfileXml::ParseBasic(), CIccTagXmlXYZ::ParseXml(), CIccTagXmlFixedNum< T, Tsig >::ParseXml(), CIccTagXmlMeasurement::ParseXml(), CIccTagXmlViewingConditions::ParseXml(), CIccTagXmlResponseCurveSet16::ParseXml(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::SetColorSpaces(), CIccTagParametricCurve::Write(), CIccTagLutAtoB::Write(), CIccTagLut8::Write(), and CIccTagLut16::Write().
ICCPROFLIB_API icU8Fixed8Number icDtoUCF | ( | icFloatNumber | num | ) |
References icRoundOffset().
ICCPROFLIB_API icU16Fixed16Number icDtoUF | ( | icFloatNumber | num | ) |
References icRoundOffset().
Referenced by CIccTagXmlChromaticity::ParseXml(), CIccTagXmlFixedNum< T, Tsig >::ParseXml(), and CIccTagChromaticity::Validate().
ICCPROFLIB_API icU1Fixed15Number icDtoUSF | ( | icFloatNumber | num | ) |
References icRoundOffset().
ICCPROFLIB_API icFloat32Number icF16toF | ( | icFloat16Number | num | ) |
Referenced by CIccInfo::CheckData(), CIccMpeSpectralMatrix::Describe(), CIccMpeSpectralObserver::Describe(), CIccTagSpectralDataInfo::Describe(), CIccTagSpectralViewingConditions::Describe(), CIccTagEmbeddedProfile::Describe(), CIccSparseMatrixFloat16::get(), main(), main(), CIccSampledCurveSegmentXml::ParseXml(), CIccSinglSampledeCurveXml::ParseXml(), CIccIO::ReadFloat16Float(), CIccMatrixMath::SetRange(), CIccMpeXmlEmissionMatrix::ToXml(), CIccMpeXmlInvEmissionMatrix::ToXml(), CIccMpeXmlEmissionCLUT::ToXml(), CIccMpeXmlReflectanceCLUT::ToXml(), CIccMpeXmlEmissionObserver::ToXml(), CIccMpeXmlReflectanceObserver::ToXml(), CIccTagXmlSpectralDataInfo::ToXml(), CIccTagXmlSpectralViewingConditions::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
ICCPROFLIB_API icFloatNumber icFtoD | ( | icS15Fixed16Number | num | ) |
Referenced by CIccTagXYZ::Describe(), CIccTagMeasurement::Describe(), CIccTagViewingConditions::Describe(), CIccResponseCurveStruct::Describe(), CIccTagEmbeddedProfile::Describe(), icIsS15Fixed16NumberNear(), icMatrixDump(), main(), CIccTagParametricCurve::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::SetColorSpaces(), CIccTagXmlXYZ::ToXml(), CIccTagXmlMeasurement::ToXml(), CIccTagXmlViewingConditions::ToXml(), CIccTagXmlResponseCurveSet16::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
ICCPROFLIB_API icFloat16Number icFtoF16 | ( | icFloat32Number | num | ) |
Referenced by CIccProfileXml::ParseBasic(), CIccMpeXmlEmissionMatrix::ParseXml(), CIccMpeXmlInvEmissionMatrix::ParseXml(), CIccMpeXmlEmissionCLUT::ParseXml(), CIccMpeXmlReflectanceCLUT::ParseXml(), CIccMpeXmlEmissionObserver::ParseXml(), CIccMpeXmlReflectanceObserver::ParseXml(), CIccTagXmlSpectralDataInfo::ParseXml(), CIccTagXmlSpectralViewingConditions::ParseXml(), CIccSparseMatrixFloat16::set(), and CIccIO::WriteFloat16Float().
ICCPROFLIB_API icUInt16Number icFtoU16 | ( | icFloatNumber | num | ) |
References icRoundOffset().
Referenced by CIccTagXmlColorantTable::ParseXml().
ICCPROFLIB_API icUInt8Number icFtoU8 | ( | icFloatNumber | num | ) |
References icRoundOffset().
ICCPROFLIB_API const icChar * icGet16bitSig | ( | icChar * | pBuf, |
icUInt16Number | sig, | ||
bool | bGetHexVal = true |
||
) |
ICCPROFLIB_API const icChar * icGetColorSig | ( | icChar * | pBuf, |
icUInt32Number | sig, | ||
bool | bGetHexVal = true |
||
) |
References icSigBiSpectralReflectanceData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigSparseMatrixReflectanceData, and icSigTransmisionSpectralData.
Referenced by CIccCfgColorData::toLegacy().
ICCPROFLIB_API const icChar * icGetColorSigStr | ( | icChar * | pBuf, |
icUInt32Number | nSig | ||
) |
References icSigBiSpectralReflectanceData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigSparseMatrixReflectanceData, and icSigTransmisionSpectralData.
Referenced by CIccTagSpectralDataInfo::Describe(), CIccCfgDataApply::toJson(), CIccCfgColorData::toJson(), CIccTagXmlSpectralDataInfo::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
ICCPROFLIB_API icSignature icGetFirstSigPathSig | ( | std::string | sigPath | ) |
References icGetSigVal(), and icSigEmbeddedV5ProfileTag.
Referenced by CIccMBB::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccTagText::Validate(), CIccTagSignature::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagColorantTable::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagArray::Validate(), CIccTagCurve::Validate(), CIccTagParametricCurve::Validate(), CIccMatrix::Validate(), CIccCLUT::Validate(), and CIccTagMultiProcessElement::Validate().
ICCPROFLIB_API icSignature icGetLastSigPathSig | ( | std::string | sigPath | ) |
References icGetSigVal().
ICCPROFLIB_API icUInt32Number icGetMaterialColorSpaceSamples | ( | icMaterialColorSignature | sig | ) |
References icSigSrcMCSChannelData.
Referenced by CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagArray::Validate(), and CIccTagMultiProcessElement::Validate().
ICCPROFLIB_API icSignature icGetSecondSigPathSig | ( | std::string | sigPath | ) |
References icGetSigVal().
Referenced by CIccTagSparseMatrixArray::Validate().
ICCPROFLIB_API const icChar * icGetSig | ( | icChar * | pBuf, |
icUInt32Number | sig, | ||
bool | bGetHexVal = true |
||
) |
Referenced by SIccCalcOp::Describe(), CIccMpeAcs::Describe(), CIccTagProfileSeqDesc::Describe(), CIccTagEmbeddedProfile::Describe(), CIccMpeUnknown::Describe(), DumpTag(), CIccBasicMpeFactory::GetElementSigName(), CIccInfo::GetUnknownName(), main(), and CIccMpeUnknown::Validate().
ICCPROFLIB_API std::string icGetSigPath | ( | icUInt32Number | sig | ) |
References icGetSigStr().
Referenced by CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccArrayUnknown::Validate(), CIccArrayColorantInfo::Validate(), CIccStructUnknown::Validate(), CIccTagColorantOrder::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagStruct::Validate(), CIccTagArray::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagProfileSequenceId::Validate(), CIccSegmentedCurve::Validate(), CIccMpeCurveSet::Validate(), CIccMpeTintArray::Validate(), CIccMpeToneMap::Validate(), CIccMpeMatrix::Validate(), CIccMpeCLUT::Validate(), CIccMpeExtCLUT::Validate(), CIccMpeCalculator::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralObserver::Validate(), and CIccMultiProcessElement::Validate().
ICCPROFLIB_API const icChar * icGetSigStr | ( | icChar * | pBuf, |
icUInt32Number | nSig | ||
) |
Referenced by SIccCalcOp::Describe(), CIccBasicArrayFactory::GetArraySigName(), CIccBasicStructFactory::GetStructSigName(), icGetSigPath(), icProfDescToXml(), jsonFromEnvMap(), CIccMpeXmlUnknown::ToXml(), CIccMpeXmlTintArray::ToXml(), CIccMpeXmlBAcs::ToXml(), CIccMpeXmlEAcs::ToXml(), CIccTagXmlTextDescription::ToXml(), CIccTagXmlSignature::ToXml(), CIccTagXmlMultiLocalizedUnicode::ToXml(), CIccTagXmlProfileSequenceId::ToXml(), CIccTagXmlDict::ToXml(), CIccTagXmlStruct::ToXml(), CIccTagXmlArray::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
ICCPROFLIB_API icUInt32Number icGetSigVal | ( | const icChar * | pBuf | ) |
Referenced by CIccCfgProfileSequence::fromArgs(), CIccCfgColorData::fromLegacy(), CIccInfo::GetSigPathName(), icGetFirstSigPathSig(), icGetLastSigPathSig(), icGetSecondSigPathSig(), icXmlGetChildSigVal(), icXmlStrToSig(), jsonToColorSpace(), jsonToValue(), main(), main(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlUnknown::ParseXml(), CIccTagXmlSignature::ParseXml(), CIccTagXmlMultiLocalizedUnicode::ParseXml(), CIccTagXmlSpectralDataInfo::ParseXml(), CIccTagXmlProfileSequenceId::ParseXml(), CIccTagXmlDict::ParseXml(), CIccTagXmlStruct::ParseXml(), and CIccTagXmlArray::ParseXml().
ICCPROFLIB_API icUInt32Number icGetSpaceSamples | ( | icColorSpaceSignature | sig | ) |
References icHexDigit(), icSig2colorData, icSig3colorData, icSig4colorData, icSigBiSpectralReflectanceData, icSigCmyData, icSigCmykData, icSigGrayData, icSigHlsData, icSigHsvData, icSigLabData, icSigLuvData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigRgbData, icSigSparseMatrixReflectanceData, icSigSrcMCSChannelData, icSigTransmisionSpectralData, icSigXYZData, icSigYCbCrData, and icSigYxyData.
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(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccTagNamedColor2::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagResponseCurveSet16::Validate(), and CIccTagMultiProcessElement::Validate().
ICCPROFLIB_API icUInt32Number icGetSpectralSpaceSamples | ( | const icHeader * | pHdr | ) |
References icGetSpaceSamples(), icHeader::pcs, and icHeader::spectralPCS.
Referenced by CIccTagMultiProcessElement::Validate().
ICCPROFLIB_API icUInt8Number icGetStorageTypeBytes | ( | icUInt16Number | nStorageType | ) |
References icValueTypeFloat16, icValueTypeFloat32, icValueTypeUInt16, and icValueTypeUInt8.
Referenced by CIccMpeExtCLUT::Read(), and CIccMpeSpectralCLUT::Read().
ICCPROFLIB_API icFloatNumber icICubeth | ( | icFloatNumber | v | ) |
Referenced by CIccOpDefFromLab::Exec(), and icLabtoXYZ().
ICCPROFLIB_API icUInt32Number icIntMax | ( | icUInt32Number | v1, |
icUInt32Number | v2 | ||
) |
Referenced by CIccCalculatorFunc::CheckUnderflowOverflow(), main(), and main().
ICCPROFLIB_API icUInt32Number icIntMin | ( | icUInt32Number | v1, |
icUInt32Number | v2 | ||
) |
Referenced by CIccCalculatorFunc::CheckUnderflowOverflow(), CIccCalculatorFunc::DescribeSequence(), CIccMpeXmlCalculator::ParseXml(), CIccCalculatorFunc::SequenceNeedTempReset(), and CIccToneMapFunc::SetFunction().
ICCPROFLIB_API bool icIsIllumD50 | ( | icXYZNumber | xyz | ) |
References icIsS15Fixed16NumberNear(), icXYZNumber::X, icXYZNumber::Y, and icXYZNumber::Z.
ICCPROFLIB_API 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
Referenced by CIccFormulaCurveSegment::Begin(), CCubeWriter::begin(), CDevLinkWriter::begin(), CIccFormulaCurveSegment::Describe(), CubeFile::isCustomInputRange(), and CIccTagSpectralViewingConditions::setIlluminant().
ICCPROFLIB_API bool icIsSpaceCLR | ( | icColorSpaceSignature | sig | ) |
References icHexDigit().
Referenced by CDevLinkWriter::begin().
ICCPROFLIB_API void icLab2Lch | ( | icFloatNumber * | Lch, |
icFloatNumber * | Lab = NULL |
||
) |
Referenced by CIccPRMG::InGamut().
ICCPROFLIB_API void icLabFromPcs | ( | icFloatNumber * | Lab | ) |
Here are some conversion routines to convert to regular Lab encoding.
Floating point encoding of Lab in PCS is in range 0.0 to 1.0
Referenced by CIccTagColorantTable::Describe(), CIccPRMG::EvaluateProfile(), CIccEvalCompare::EvaluateProfile(), CIccTagNamedColor2::FindCachedPCSColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), CIccApplyBPC::pcs2lab(), CIccTagXmlNamedColor2::ToXml(), and CIccTagXmlColorantTable::ToXml().
ICCPROFLIB_API void icLabToPcs | ( | icFloatNumber * | Lab | ) |
Referenced by CIccApplyBPC::lab2pcs(), main(), CIccTagXmlNamedColor2::ParseXml(), and CIccTagXmlColorantTable::ParseXml().
ICCPROFLIB_API void icLabtoXYZ | ( | icFloatNumber * | XYZ, |
const icFloatNumber * | Lab = NULL , |
||
const icFloatNumber * | WhiteXYZ = NULL |
||
) |
References icD50XYZ, and icICubeth().
Referenced by CIccApplyBPC::calcDstBlackPoint(), CIccApplyBPC::calcSrcBlackPoint(), CIccApplyBPC::lab2pcs(), and main().
ICCPROFLIB_API void icLch2Lab | ( | icFloatNumber * | Lab, |
icFloatNumber * | Lch = NULL |
||
) |
ICCPROFLIB_API void icMatrixDump | ( | std::string & | sDump, |
icS15Fixed16Number * | pMatrix | ||
) |
References icFtoD().
Referenced by CIccTagFixedNum< T, Tsig >::Describe().
ICCPROFLIB_API 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.
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccMatrixMath::Invert(), CIccSimpleMatrixInverter::Invert(), and CIccSimpleMatrixSolver::Solve().
ICCPROFLIB_API 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)
ICCPROFLIB_API icFloatNumber icMax | ( | icFloatNumber | v1, |
icFloatNumber | v2 | ||
) |
Referenced by CIccFormulaCurveSegment::Apply(), CIccOpDefMaximum::Exec(), and CIccOpDefVectorMaximum::Exec().
ICCPROFLIB_API icValidateStatus icMaxStatus | ( | icValidateStatus | s1, |
icValidateStatus | s2 | ||
) |
Name: icMaxStatus
Purpose: return worst status
Args: s1, s2
Return:
Referenced by CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), main(), CIccToneMapFunc::Validate(), CIccResponseCurveStruct::Validate(), CIccStructNamedColor::Validate(), CIccTagGamutBoundaryDesc::Validate(), CIccMBB::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccArrayUnknown::Validate(), CIccArrayColorantInfo::Validate(), CIccArrayNamedColor::Validate(), CIccStructUnknown::Validate(), CIccStructBRDF::Validate(), CIccStructColorantInfo::Validate(), CIccTagText::Validate(), CIccTagUtf8Text::Validate(), CIccTagZipUtf8Text::Validate(), CIccTagUtf16Text::Validate(), CIccTagTextDescription::Validate(), CIccTagSignature::Validate(), CIccTagNamedColor2::Validate(), CIccTagXYZ::Validate(), CIccTagChromaticity::Validate(), CIccTagCicp::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagMeasurement::Validate(), CIccTagMultiLocalizedUnicode::Validate(), CIccTagData::Validate(), CIccTagDateTime::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagViewingConditions::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagResponseCurveSet16::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagEmbeddedHeightImage::Validate(), CIccTagEmbeddedNormalImage::Validate(), CIccTagStruct::Validate(), CIccTagArray::Validate(), CIccTagDict::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagCurve::Validate(), CIccTagParametricCurve::Validate(), CIccCLUT::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagProfileSequenceId::Validate(), CIccFormulaCurveSegment::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), CIccSampledCalculatorCurve::Validate(), CIccMpeCurveSet::Validate(), CIccMpeToneMap::Validate(), CIccMpeCAM::Validate(), CIccMpeCalculator::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralObserver::Validate(), ValidateIccProfile(), and ValidateIccProfile().
ICCPROFLIB_API void icMemDump | ( | std::string & | sDump, |
void * | pBuf, | ||
icUInt32Number | nNum | ||
) |
Referenced by MyTagDialog::MyTagDialog(), CIccMpeAcs::Describe(), CIccTagUnknown::Describe(), CIccTagZipUtf8Text::Describe(), CIccTagData::Describe(), and CIccMpeUnknown::Describe().
ICCPROFLIB_API icFloatNumber icMin | ( | icFloatNumber | v1, |
icFloatNumber | v2 | ||
) |
Referenced by CIccEvalCompare::EvaluateProfile(), CIccOpDefMinimum::Exec(), and CIccOpDefVectorMinimum::Exec().
ICCPROFLIB_API void icNormXYZ | ( | icFloatNumber * | XYZ, |
icFloatNumber * | WhiteXYZ = NULL |
||
) |
ICCPROFLIB_API 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.
Referenced by CIccTagZipUtf8Text::AllocBuffer(), CIccUTF16String::FromUtf8(), CIccTagText::GetBuffer(), CIccTagUtf8Text::GetBuffer(), CIccTagUtf16Text::GetBuffer(), CIccTagTextDescription::GetBuffer(), CIccTagTextDescription::GetUnicodeBuffer(), CIccUTF16String::operator=(), CIccUTF16String::operator=(), CIccTagDict::Read(), CIccTagText::Release(), CIccTagUtf8Text::Release(), CIccTagUtf16Text::Release(), CIccTagTextDescription::Release(), CIccTagTextDescription::ReleaseUnicode(), CIccTagSparseMatrixArray::Reset(), CIccUTF16String::Resize(), CIccMpeCalculator::SetElem(), CIccTagChromaticity::SetSize(), CIccTagColorantOrder::SetSize(), CIccTagColorantTable::SetSize(), CIccTagArray::SetSize(), CIccTagXYZ::SetSize(), CIccTagData::SetSize(), CIccTagEmbeddedHeightImage::SetSize(), CIccTagEmbeddedNormalImage::SetSize(), CIccTagCurve::SetSize(), and CIccLocalizedUnicode::SetSize().
ICCPROFLIB_API icFloatNumber icRmsDif | ( | const icFloatNumber * | v1, |
const icFloatNumber * | v2, | ||
icUInt32Number | nSample | ||
) |
References icSq().
Referenced by CIccArrayNamedColor::FindSpectralColor().
ICCPROFLIB_API 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
Referenced by icDtoF(), icDtoUCF(), icDtoUF(), icDtoUSF(), icFtoU16(), and icFtoU8().
bool ICCPROFLIB_API icSameSpectralRange | ( | const icSpectralRange & | rng1, |
const icSpectralRange & | rng2 | ||
) |
References icSpectralRange::end, icSpectralRange::start, and icSpectralRange::steps.
|
inline |
Referenced by CIccIO::Read16().
|
inline |
|
inline |
Referenced by CIccIO::Read32().
|
inline |
|
inline |
Referenced by CIccIO::Read64().
|
inline |
ICCPROFLIB_API icFloatNumber icU16toF | ( | icUInt16Number | num | ) |
Referenced by CIccTagColorantTable::Describe(), CIccTagNum< T, Tsig >::GetValues(), CIccTagNum< T, Tsig >::Interpolate(), CIccTagXmlColorantTable::ToXml(), and CIccTagNum< T, Tsig >::ValuePos().
ICCPROFLIB_API icFloatNumber icU8toAB | ( | icUInt8Number | num | ) |
ICCPROFLIB_API icFloatNumber icU8toF | ( | icUInt8Number | num | ) |
Referenced by CIccTagNum< T, Tsig >::GetValues(), CIccTagNum< T, Tsig >::Interpolate(), and CIccTagNum< T, Tsig >::ValuePos().
ICCPROFLIB_API icFloatNumber icUCFtoD | ( | icU8Fixed8Number | num | ) |
ICCPROFLIB_API icFloatNumber icUFtoD | ( | icU16Fixed16Number | num | ) |
Referenced by CIccTagChromaticity::Describe(), and CIccTagXmlChromaticity::ToXml().
ICCPROFLIB_API icFloatNumber icUSFtoD | ( | icU1Fixed15Number | num | ) |
ICCPROFLIB_API 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
References icPositionNumber::offset, and icPositionNumber::size.
Referenced by CIccMpeToneMap::Read().
ICCPROFLIB_API 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
References icPositionNumber::offset, and icPositionNumber::size.
Referenced by CIccMpeToneMap::Read().
ICCPROFLIB_API 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
Referenced by CIccSimpleMatrixSolver::Solve().
ICCPROFLIB_API void icXyzFromPcs | ( | icFloatNumber * | XYZ | ) |
Here are some conversion routines to convert to regular XYZ encoding.
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)
Referenced by CIccTagNamedColor2::FindCachedPCSColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), CIccApplyBPC::pcs2lab(), and CIccTagXmlNamedColor2::ToXml().
ICCPROFLIB_API void icXYZtoLab | ( | icFloatNumber * | Lab, |
const icFloatNumber * | XYZ = NULL , |
||
const icFloatNumber * | WhiteXYZ = NULL |
||
) |
References icCubeth(), and icD50XYZ.
Referenced by CIccMpeSpectralObserver::Apply(), CIccMpeEmissionCLUT::Begin(), CIccMpeReflectanceCLUT::Begin(), CIccApplyBPC::calcDstBlackPoint(), CIccTagNamedColor2::FindCachedPCSColor(), CIccArrayNamedColor::FindPcsColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), and CIccApplyBPC::pcs2lab().
ICCPROFLIB_API void icXyzToPcs | ( | icFloatNumber * | XYZ | ) |
Referenced by CIccApplyBPC::CalcFactors(), CIccApplyBPC::lab2pcs(), main(), and CIccTagXmlNamedColor2::ParseXml().
|
extern |
Referenced by CIccCamConverter::CIccCamConverter(), CIccDefaultEncProfileConverter::ConvertFromParams(), icDeNormXyz(), icLabtoXYZ(), icNormXyz(), icXYZtoLab(), and CIccTagSpectralViewingConditions::setIlluminant().
|
extern |
|
extern |
|
extern |
Referenced by CIccToneMapFunc::Validate(), CIccCalculatorFunc::Validate(), CIccMBB::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccTagChromaticity::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagArray::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagParametricCurve::Validate(), CIccCLUT::Validate(), CIccTagMultiProcessElement::Validate(), CIccFormulaCurveSegment::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), CIccSampledCalculatorCurve::Validate(), CIccMpeCurveSet::Validate(), CIccMpeTintArray::Validate(), CIccMpeToneMap::Validate(), CIccMpeMatrix::Validate(), CIccMpeCLUT::Validate(), CIccMpeExtCLUT::Validate(), CIccMpeCAM::Validate(), CIccMpeCalculator::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralObserver::Validate(), CIccMpeUnknown::Validate(), ValidateIccProfile(), ValidateIccProfile(), and ValidateIccProfile().
|
extern |
Referenced by CIccMpeToneMap::Validate().
|
extern |
Referenced by CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), main(), CIccResponseCurveStruct::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTag::Validate(), CIccTagText::Validate(), CIccTagTextDescription::Validate(), CIccTagSignature::Validate(), CIccTagNamedColor2::Validate(), CIccTagChromaticity::Validate(), CIccTagCicp::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagMeasurement::Validate(), CIccTagData::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagEmbeddedHeightImage::Validate(), CIccTagEmbeddedNormalImage::Validate(), CIccTagParametricCurve::Validate(), CIccMatrix::Validate(), CIccCLUT::Validate(), and CIccMultiProcessElement::Validate().
|
extern |
Referenced by CIccInfo::CheckData(), CIccInfo::CheckLuminance(), main(), CIccToneMapFunc::Validate(), CIccCalculatorFunc::Validate(), CIccStructNamedColor::Validate(), CIccTagGamutBoundaryDesc::Validate(), CIccMBB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccStructBRDF::Validate(), CIccStructColorantInfo::Validate(), CIccTagText::Validate(), CIccTagUtf8Text::Validate(), CIccTagZipUtf8Text::Validate(), CIccTagUtf16Text::Validate(), CIccTagNamedColor2::Validate(), CIccTagXYZ::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagMultiLocalizedUnicode::Validate(), CIccTagData::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagResponseCurveSet16::Validate(), CIccTagStruct::Validate(), CIccTagDict::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagCurve::Validate(), CIccTagParametricCurve::Validate(), CIccTagMultiProcessElement::Validate(), CIccFormulaCurveSegment::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), and CIccSampledCalculatorCurve::Validate().