Merge with 'Beep6581/dev'

This commit is contained in:
Pandagrapher 2023-09-22 20:36:03 +02:00
commit 0c2d7c1382
5 changed files with 1285 additions and 1286 deletions

View File

@ -4172,7 +4172,7 @@ TP_WBALANCE_ITCWB_PRIM_ADOB;Medium sampling
TP_WBALANCE_ITCWB_PRIM_BETA;Medium sampling - near Pointer's gamut
TP_WBALANCE_ITCWB_PRIM_JDCMAX;Close to full CIE diagram
TP_WBALANCE_ITCWB_PRIM_REC;High sampling
TP_WBALANCE_ITCWB_PRIM_SRGB;Low sampling & No use Camera settings
TP_WBALANCE_ITCWB_PRIM_SRGB;Low sampling & Ignore Camera settings
TP_WBALANCE_ITCWB_PRIM_XYZCAM;Camera XYZ matrix
TP_WBALANCE_ITCWB_PRIM_XYZCAM2;JDCmax after Camera XYZ matrix
TP_WBALANCE_ITCWB_RGREEN;Green range
@ -4184,7 +4184,7 @@ TP_WBALANCE_ITCWCUSTOM_TOOLTIP;Allows you to use Custom settings Temperature and
TP_WBALANCE_ITCWFORCED_TOOLTIP;By default (box not checked) the data scanned during sampling is brought back to the sRGB profile, which is the most widespread, both for calibrating DCP or ICC profiles with the Colorchecker24, or used on the web.\n If you have very high gamut images (some flowers, artificial colors), then it may be necessary to use the entire CIExy diagram, the profile used will be ACESP0. In this second case, the number of colors that can be used in internal to the algorithm will be more important.
TP_WBALANCE_ITCWGREEN;Green refinement
TP_WBALANCE_ITCWGREEN_TOOLTIP;Allows you to change the "tint" (green) which will serve as a reference when starting the algorithm. It has substantially the same role for greens as "AWB temperature bias" for temperature.\nThe whole algorithm is recalculated.
TP_WBALANCE_ITCWPRIM_TOOLTIP;Allows you to select the image sampling.\n'Close to full CIE diagram' almost uses the data present on the sensor, possibly including the imaginary colors.\n'Camera XYZ matrix' - uses the matrix directly derived from Color Matrix.\n'Medium sampling' (default) - near Pointer's gamut: corresponds substantially to the most common cases of human vision.\nThe other choice 'Low sampling and No use camera settings' allow you to isolate high gamut parts of the image and forces the algorithm in some cases (tint > 0.8,...) not to use camera settings. This will obviously have an impact on the result.\n\nThis sampling only has an influence on the channel multipliers, it has nothing to do with the "working profile" and does not modify the gamut of the image.
TP_WBALANCE_ITCWPRIM_TOOLTIP;Allows you to select the image sampling.\n'Close to full CIE diagram' almost uses the data present on the sensor, possibly including the imaginary colors.\n'Camera XYZ matrix' - uses the matrix directly derived from Color Matrix.\n'Medium sampling' (default) - near Pointer's gamut: corresponds substantially to the most common cases of human vision.\nThe other choice 'Low sampling and Ignore camera settings' allow you to isolate high gamut parts of the image and forces the algorithm in some cases (tint > 0.8,...) to ignore camera settings. This will obviously have an impact on the result.\n\nThis sampling only has an influence on the channel multipliers, it has nothing to do with the "working profile" and does not modify the gamut of the image.
TP_WBALANCE_ITCWSAMPLING_TOOLTIP;Allows you to use the old sampling algorithm to ensure better compatibility with 5.9. You must enable Observer 10° (default).
TP_WBALANCE_JUDGEIII;JudgeIII
TP_WBALANCE_LABEL;White Balance

File diff suppressed because it is too large Load Diff

View File

@ -643,10 +643,11 @@ Thumbnail* Thumbnail::loadFromRaw (const Glib::ustring& fname, eSensorType &sens
tpp->blueMultiplier = ri->get_pre_mul (2);
bool isMono =
(ri->getSensorType() == ST_FUJI_XTRANS &&
rawParams &&
((ri->getSensorType() == ST_FUJI_XTRANS &&
rawParams->xtranssensor.method == RAWParams::XTransSensor::getMethodString(RAWParams::XTransSensor::Method::MONO)) ||
(ri->getSensorType() == ST_BAYER &&
rawParams->bayersensor.method == RAWParams::BayerSensor::getMethodString(RAWParams::BayerSensor::Method::MONO));
rawParams->bayersensor.method == RAWParams::BayerSensor::getMethodString(RAWParams::BayerSensor::Method::MONO)));
float pre_mul[4], scale_mul[4], cblack[4];
ri->get_colorsCoeff (pre_mul, scale_mul, cblack, false);
adjustBlackLevels(cblack, sensorType, rawParams);

View File

@ -29,9 +29,13 @@
MyMutex::MyMutex() : locked(false) {}
void MyMutex::checkLock ()
bool MyMutex::checkLock (bool noError)
{
if (locked) {
if (noError) {
return false;
}
std::cerr << "MyMutex already locked!" << std::endl;
#ifdef _WIN32
@ -42,6 +46,7 @@ void MyMutex::checkLock ()
}
locked = true;
return true;
}
void MyMutex::checkUnlock ()

View File

@ -59,7 +59,7 @@ public:
private:
bool locked;
void checkLock ();
bool checkLock (bool noError = false);
void checkUnlock ();
#endif
};
@ -172,10 +172,10 @@ inline bool MyMutex::trylock ()
{
if (MyMutexBase::try_lock ()) {
#if STRICT_MUTEX && !NDEBUG
checkLock ();
#endif
return checkLock(true);
#else
return true;
#endif
}
return false;