149int main(
int argc,
char* argv[])
152 printf(
"Usage: iccRoundTrip profile {rendering_intent=1 {use_mpe=0}}\n");
154 printf(
" where rendering_intent is (0=perceptual, 1=relative, 2=saturation, 3=absolute)\n");
164 nUseMPE = atoi(argv[3]);
173 printf(
"Unable to perform round trip on '%s'\n", argv[1]);
182 printf(
"Unable to perform PRMG analysis on '%s'\n", argv[1]);
188 printf(
"Profile: '%s'\n", argv[1]);
190 printf(
"Specified Gamut: %s\n", prmg.
m_bPrmgImplied ?
"Perceptual Reference Medium Gamut" :
"Not Specified");
192 printf(
"\nRound Trip 1\n");
193 printf(
"------------\n");
200 printf(
"\nRound Trip 2\n");
201 printf(
"------------\n");
209 printf(
"\nPRMG Interoperability - Round Trip Results\n");
210 printf(
"------------------------------------------------------\n");
212 printf(
"DE <= 1.0 (%8u): %5.1f%%\n", prmg.
m_nDE1, (
float)prmg.
m_nDE1/(
float)prmg.
m_nTotal*100.0);
213 printf(
"DE <= 2.0 (%8u): %5.1f%%\n", prmg.
m_nDE2, (
float)prmg.
m_nDE2/(
float)prmg.
m_nTotal*100.0);
214 printf(
"DE <= 3.0 (%8u): %5.1f%%\n", prmg.
m_nDE3, (
float)prmg.
m_nDE3/(
float)prmg.
m_nTotal*100.0);
215 printf(
"DE <= 5.0 (%8u): %5.1f%%\n", prmg.
m_nDE5, (
float)prmg.
m_nDE5/(
float)prmg.
m_nTotal*100.0);
217 printf(
"Total (%8u)\n", prmg.
m_nTotal);
icStatusCMM
CMM return status values.
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
#define ICFLOATSFX
String formating macros need to match precision of icFloatNumber If precision is double change the "f...
icFloatNumber icDeltaE(const icFloatNumber *lab1, const icFloatNumber *lab2)
int main()
Core and external libraries necessary for the fuzzer functionality.
unsigned int icUInt32Number
icStatusCMM EvaluateProfile(CIccProfile *pProfile, icUInt8Number nGran=0, icRenderingIntent nIntent=((icRenderingIntent) 0x3f3f3f3f), icXformInterp nInterp=icInterpLinear, bool buseMpeTags=true)
const icChar * GetRenderingIntentName(icRenderingIntent val, bool bIsV5=false)
void Compare(icFloatNumber *pixel, icFloatNumber *deviceLab, icFloatNumber *lab1, icFloatNumber *lab2)
icStatusCMM EvaluateProfile(CIccProfile *pProfile, icRenderingIntent nIntent=((icRenderingIntent) 0x3f3f3f3f), icXformInterp nInterp=icInterpLinear, bool buseMpeTags=true)