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] = {
|
constexpr double xyz_ACESp1[3][3] = {
|
||||||
{0.68970, 0.14995, 0.12456},
|
{0.689697, 0.149944, 0.124559},
|
||||||
{0.28445, 0.67175 , 0.04379},
|
{0.284448, 0.671758 , 0.043794},
|
||||||
{-0.00604, 0.00999, 0.82094}
|
{-0.006043, 0.009998, 0.820945}
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr double ACESp1_xyz[3][3] = {
|
constexpr double ACESp1_xyz[3][3] = {
|
||||||
{1.593266, -0.352338, -0.222949},
|
{1.5932624, -0.352316, -0.222945},
|
||||||
{-0.675963, 1.639314 , 0.0151197},
|
{-0.6759496, 1.639286 , 0.01511026},
|
||||||
{0.0199481, -0.022541, 1.216291}
|
{0.0199602, -0.0225577, 1.2162833}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -693,7 +693,6 @@ private:
|
|||||||
m[2][0] = red->Z;
|
m[2][0] = red->Z;
|
||||||
m[2][1] = green->Z;
|
m[2][1] = green->Z;
|
||||||
m[2][2] = blue->Z;
|
m[2][2] = blue->Z;
|
||||||
|
|
||||||
out.set(m);
|
out.set(m);
|
||||||
|
|
||||||
cmsCloseProfile(prof);
|
cmsCloseProfile(prof);
|
||||||
@@ -1497,11 +1496,11 @@ cmsHPROFILE rtengine::ICCStore::createCustomGammaOutputProfile(const procparams:
|
|||||||
outProfile = options.rtSettings.rec2020;
|
outProfile = options.rtSettings.rec2020;
|
||||||
outPr = "RT_rec2020";
|
outPr = "RT_rec2020";
|
||||||
|
|
||||||
} else if (icm.wprimari == "acesp0" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.ACESc)) {
|
} else if (icm.wprimari == "acesp0" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.ACESp0)) {
|
||||||
outProfile = options.rtSettings.ACESc;
|
outProfile = options.rtSettings.ACESp0;
|
||||||
outPr = "RT_acesp0";
|
outPr = "RT_acesp0";
|
||||||
} else if (icm.wprimari == "acesp1" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.ACESc)) {
|
} else if (icm.wprimari == "acesp1" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.ACESp1)) {
|
||||||
outProfile = options.rtSettings.ACESc;
|
outProfile = options.rtSettings.ACESp1;
|
||||||
outPr = "RT_acesp1";
|
outPr = "RT_acesp1";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@@ -1784,6 +1783,8 @@ cmsHPROFILE rtengine::ICCStore::createCustomGammaOutputProfile(const procparams:
|
|||||||
cmsMLUsetASCII(copyright, "en", "US", "No copyright Rawtherapee");
|
cmsMLUsetASCII(copyright, "en", "US", "No copyright Rawtherapee");
|
||||||
cmsWriteTag(outputProfile, cmsSigCopyrightTag, copyright);
|
cmsWriteTag(outputProfile, cmsSigCopyrightTag, copyright);
|
||||||
cmsMLUfree(copyright);
|
cmsMLUfree(copyright);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cmsMLU *descrip = cmsMLUalloc(NULL, 1);
|
cmsMLU *descrip = cmsMLUalloc(NULL, 1);
|
||||||
@@ -1802,8 +1803,14 @@ cmsHPROFILE rtengine::ICCStore::createCustomGammaOutputProfile(const procparams:
|
|||||||
cmsMLUsetASCII(MfgDesc, "en", "US", manufacturer.c_str());
|
cmsMLUsetASCII(MfgDesc, "en", "US", manufacturer.c_str());
|
||||||
cmsWriteTag(outputProfile, cmsSigDeviceMfgDescTag, MfgDesc);
|
cmsWriteTag(outputProfile, cmsSigDeviceMfgDescTag, MfgDesc);
|
||||||
cmsMLUfree(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") {
|
if (icm.wprofile == "v2" || icm.wprofile == "v4") {
|
||||||
cmsSaveProfileToFile(outputProfile, outPro.c_str());
|
cmsSaveProfileToFile(outputProfile, outPro.c_str());
|
||||||
|
|
||||||
|
@@ -61,7 +61,8 @@ public:
|
|||||||
Glib::ustring srgb; // default name of SRGB space profile
|
Glib::ustring srgb; // default name of SRGB space profile
|
||||||
Glib::ustring srgb10; // default name of SRGB space profile
|
Glib::ustring srgb10; // default name of SRGB space profile
|
||||||
Glib::ustring rec2020; // default name of rec2020
|
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 gamutICC; // no longer used
|
||||||
bool gamutLch;
|
bool gamutLch;
|
||||||
|
@@ -541,7 +541,8 @@ void Options::setDefaults()
|
|||||||
rtSettings.beta = "BetaRGB";
|
rtSettings.beta = "BetaRGB";
|
||||||
rtSettings.best = "BestRGB";
|
rtSettings.best = "BestRGB";
|
||||||
rtSettings.rec2020 = "RT_Rec2020-V2-srgbtrc";
|
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.verbose = false;
|
||||||
rtSettings.gamutICC = true;
|
rtSettings.gamutICC = true;
|
||||||
rtSettings.gamutLch = true;
|
rtSettings.gamutLch = true;
|
||||||
|
Reference in New Issue
Block a user