Fixed bug in XYZ V2 AcesP1 profile
This commit is contained in:
BIN
rtdata/iccprofiles/output/RT_acesp1_V4.icc
Normal file
BIN
rtdata/iccprofiles/output/RT_acesp1_V4.icc
Normal file
Binary file not shown.
@@ -92,15 +92,15 @@ constexpr double ACESp0_xyz[3][3] = {
|
||||
};
|
||||
|
||||
constexpr double xyz_ACESp1[3][3] = {
|
||||
{0.68970, 0.14995, 0.12456},
|
||||
{0.28445, 0.67175 , 0.04379},
|
||||
{-0.00604, 0.00999, 0.82094}
|
||||
{0.689697, 0.149944, 0.124559},
|
||||
{0.284448, 0.671758 , 0.043794},
|
||||
{-0.006043, 0.009998, 0.820945}
|
||||
};
|
||||
|
||||
constexpr double ACESp1_xyz[3][3] = {
|
||||
{1.593266, -0.352338, -0.222949},
|
||||
{-0.675963, 1.639314 , 0.0151197},
|
||||
{0.0199481, -0.022541, 1.216291}
|
||||
{1.5932624, -0.352316, -0.222945},
|
||||
{-0.6759496, 1.639286 , 0.01511026},
|
||||
{0.0199602, -0.0225577, 1.2162833}
|
||||
};
|
||||
|
||||
|
||||
|
@@ -693,7 +693,6 @@ private:
|
||||
m[2][0] = red->Z;
|
||||
m[2][1] = green->Z;
|
||||
m[2][2] = blue->Z;
|
||||
|
||||
out.set(m);
|
||||
|
||||
cmsCloseProfile(prof);
|
||||
@@ -1497,11 +1496,11 @@ cmsHPROFILE rtengine::ICCStore::createCustomGammaOutputProfile(const procparams:
|
||||
outProfile = options.rtSettings.rec2020;
|
||||
outPr = "RT_rec2020";
|
||||
|
||||
} else if (icm.wprimari == "acesp0" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.ACESc)) {
|
||||
outProfile = options.rtSettings.ACESc;
|
||||
} else if (icm.wprimari == "acesp0" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.ACESp0)) {
|
||||
outProfile = options.rtSettings.ACESp0;
|
||||
outPr = "RT_acesp0";
|
||||
} else if (icm.wprimari == "acesp1" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.ACESc)) {
|
||||
outProfile = options.rtSettings.ACESc;
|
||||
} else if (icm.wprimari == "acesp1" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.ACESp1)) {
|
||||
outProfile = options.rtSettings.ACESp1;
|
||||
outPr = "RT_acesp1";
|
||||
|
||||
} else {
|
||||
@@ -1784,6 +1783,8 @@ cmsHPROFILE rtengine::ICCStore::createCustomGammaOutputProfile(const procparams:
|
||||
cmsMLUsetASCII(copyright, "en", "US", "No copyright Rawtherapee");
|
||||
cmsWriteTag(outputProfile, cmsSigCopyrightTag, copyright);
|
||||
cmsMLUfree(copyright);
|
||||
|
||||
|
||||
}
|
||||
|
||||
cmsMLU *descrip = cmsMLUalloc(NULL, 1);
|
||||
@@ -1802,8 +1803,14 @@ cmsHPROFILE rtengine::ICCStore::createCustomGammaOutputProfile(const procparams:
|
||||
cmsMLUsetASCII(MfgDesc, "en", "US", manufacturer.c_str());
|
||||
cmsWriteTag(outputProfile, cmsSigDeviceMfgDescTag, MfgDesc);
|
||||
cmsMLUfree(MfgDesc);
|
||||
/*
|
||||
cmsCIEXYZ *red = static_cast<cmsCIEXYZ *>(cmsReadTag(outputProfile, cmsSigRedMatrixColumnTag));
|
||||
cmsCIEXYZ *green = static_cast<cmsCIEXYZ *>(cmsReadTag(outputProfile, cmsSigGreenMatrixColumnTag));
|
||||
cmsCIEXYZ *blue = static_cast<cmsCIEXYZ *>(cmsReadTag(outputProfile, cmsSigBlueMatrixColumnTag));
|
||||
printf("rx=%f gx=%f bx=%f ry=%f gy=%f by=%f rz=%f gz=%f bz=%f\n", red->X, green->X, blue->X, red->Y, green->Y, blue->Y, red->Z, green->Z, blue->Z);
|
||||
*/
|
||||
|
||||
|
||||
|
||||
if (icm.wprofile == "v2" || icm.wprofile == "v4") {
|
||||
cmsSaveProfileToFile(outputProfile, outPro.c_str());
|
||||
|
||||
|
@@ -61,7 +61,8 @@ public:
|
||||
Glib::ustring srgb; // default name of SRGB space profile
|
||||
Glib::ustring srgb10; // default name of SRGB space profile
|
||||
Glib::ustring rec2020; // default name of rec2020
|
||||
Glib::ustring ACESc; // default name of ACESc
|
||||
Glib::ustring ACESp0; // default name of ACES P0
|
||||
Glib::ustring ACESp1; // default name of ACES P1
|
||||
|
||||
bool gamutICC; // no longer used
|
||||
bool gamutLch;
|
||||
|
@@ -541,7 +541,8 @@ void Options::setDefaults()
|
||||
rtSettings.beta = "BetaRGB";
|
||||
rtSettings.best = "BestRGB";
|
||||
rtSettings.rec2020 = "RT_Rec2020-V2-srgbtrc";
|
||||
rtSettings.ACESc = "RT_ACES-V2-srgbtrc";
|
||||
rtSettings.ACESp0 = "RT_ACES-V2-srgbtrc";
|
||||
rtSettings.ACESp1 = "RT_acesp1_V4";
|
||||
rtSettings.verbose = false;
|
||||
rtSettings.gamutICC = true;
|
||||
rtSettings.gamutLch = true;
|
||||
|
Reference in New Issue
Block a user