From c2db569823245fd2faa3252e9f2c42cddb74eecb Mon Sep 17 00:00:00 2001 From: Desmis Date: Fri, 13 Apr 2018 10:51:49 +0200 Subject: [PATCH] Fixed bug in XYZ V2 AcesP1 profile --- rtdata/iccprofiles/output/RT_acesp1_V4.icc | Bin 0 -> 900 bytes rtengine/iccmatrices.h | 12 ++++++------ rtengine/iccstore.cc | 19 +++++++++++++------ rtengine/settings.h | 3 ++- rtgui/options.cc | 3 ++- 5 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 rtdata/iccprofiles/output/RT_acesp1_V4.icc diff --git a/rtdata/iccprofiles/output/RT_acesp1_V4.icc b/rtdata/iccprofiles/output/RT_acesp1_V4.icc new file mode 100644 index 0000000000000000000000000000000000000000..13a689fd60af3404f629d8eb16367b43af739c68 GIT binary patch literal 900 zcmb`GyK59t6oxWzQSge#3oGcY<2^gb(k4R#8$A2 zY17$R*rc+u73`E%`~wtwv4|GY@pos6)v()nhq>pQ^O`f~+=0TAHRDIcD)`+vY+Rdi z78dV2hdxuJ#6d1nb4?W7nxAPhbnSj3XN?~&*jz*11{+FVD>9ICWZpDE7>jqrH`n99 z@}9VCI<5!#-T$Rs;_)I(F=a!c|hS#etZ`9&-BTB^#8^q{zqB)jUxfo=HpBT4pNC&}+C>e*L#pPrM{mz^z` z?a3DRbDsPHM=n9{Y+rX;y?pso@y`M`bko?P_WVj0zQ2IdB8Z; 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(cmsReadTag(outputProfile, cmsSigRedMatrixColumnTag)); + cmsCIEXYZ *green = static_cast(cmsReadTag(outputProfile, cmsSigGreenMatrixColumnTag)); + cmsCIEXYZ *blue = static_cast(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()); diff --git a/rtengine/settings.h b/rtengine/settings.h index e103a6d24..6859ebcac 100644 --- a/rtengine/settings.h +++ b/rtengine/settings.h @@ -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; diff --git a/rtgui/options.cc b/rtgui/options.cc index 0f5a61443..c58357287 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -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;