Change matrix ACES-P0 and limit slider blue

This commit is contained in:
U-PC-BUREAU\jacques 2018-09-06 10:39:35 +02:00
parent 9cd10a3196
commit d658ef1bc4
3 changed files with 11 additions and 7 deletions

View File

@ -80,15 +80,15 @@ constexpr double xyz_sRGB[3][3] = {
}; };
constexpr double xyz_ACESp0[3][3] = { constexpr double xyz_ACESp0[3][3] = {
{0.9525523959, 0.0, 0.0000936786}, {0.9908526, 0.0122334, -0.0388654},
{0.3439664498, 0.7281660966 , -0.0721325464}, {0.3618807, 0.72255045 , -0.0843859},
{0.0, -0.0, 1.0088251844} {-0.0027093, 0.0082323, 0.8196880}
}; };
constexpr double ACESp0_xyz[3][3] = { constexpr double ACESp0_xyz[3][3] = {
{1.0498110175, 0.0, -0.0000974845}, {1.01583320, -0.01772807, 0.04634052},
{-0.4959030231, 1.3733130458 , 0.0982400361}, {-0.50781231, 1.39131494 , 0.11915641},
{0.0, 0.0, 0.9912520182} {0.00845768, -0.01403193, 1.21893277}
}; };
constexpr double xyz_ACESp1[3][3] = { constexpr double xyz_ACESp1[3][3] = {

View File

@ -602,6 +602,10 @@ Imagefloat* ImProcFunctions::workingtrc(Imagefloat* working, int cw, int ch, int
// 7 parameters for smoother curves // 7 parameters for smoother curves
cmsWhitePointFromTemp(&xyD, (double)temp); cmsWhitePointFromTemp(&xyD, (double)temp);
if (profile == "ACESp0") {
xyD = {0.32168, 0.33767, 1.0};//refine white point to avoid differences
}
GammaTRC[0] = GammaTRC[1] = GammaTRC[2] = cmsBuildParametricToneCurve(NULL, five, gammaParams);//5 = more smoother than 4 GammaTRC[0] = GammaTRC[1] = GammaTRC[2] = cmsBuildParametricToneCurve(NULL, five, gammaParams);//5 = more smoother than 4
oprofdef = cmsCreateRGBProfile(&xyD, &Primaries, GammaTRC); oprofdef = cmsCreateRGBProfile(&xyD, &Primaries, GammaTRC);
cmsFreeToneCurve(GammaTRC[0]); cmsFreeToneCurve(GammaTRC[0]);

View File

@ -117,7 +117,7 @@ ICCProfileCreator::ICCProfileCreator(RTWindow *rtwindow)
setExpandAlignProperties(aPrimariesGreenY, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); setExpandAlignProperties(aPrimariesGreenY, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER);
aPrimariesBlueX = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_BLUX"), 0.0001, 0.1600, 0.0001, 0.1500/*, gamutl4, gamuts4*/)); aPrimariesBlueX = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_BLUX"), 0.0001, 0.1600, 0.0001, 0.1500/*, gamutl4, gamuts4*/));
setExpandAlignProperties(aPrimariesBlueX, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); setExpandAlignProperties(aPrimariesBlueX, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER);
aPrimariesBlueY = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_BLUY"), -0.0700, 0.0700, 0.0001, 0.060/*, gamutl5, gamuts5*/)); aPrimariesBlueY = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_BLUY"), -0.0800, 0.0700, 0.0001, 0.060/*, gamutl5, gamuts5*/));
setExpandAlignProperties(aPrimariesBlueY, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); setExpandAlignProperties(aPrimariesBlueY, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER);
primariesGrid->attach(*aPrimariesRedX, 0, 0, 1, 1); primariesGrid->attach(*aPrimariesRedX, 0, 0, 1, 1);