Merged master into rgbcurvesspeedup.

This commit is contained in:
Beep6581
2016-06-02 22:33:34 +02:00
81 changed files with 3557 additions and 2018 deletions

View File

@@ -1024,6 +1024,39 @@ void RetinextransmissionCurve::Set(const std::vector<double> &curvePoints)
}
}
RetinexgaintransmissionCurve::RetinexgaintransmissionCurve() {};
void RetinexgaintransmissionCurve::Reset()
{
lutgaintransmission.reset();
}
void RetinexgaintransmissionCurve::Set(const Curve &pCurve)
{
if (pCurve.isIdentity()) {
lutgaintransmission.reset(); // raise this value if the quality suffers from this number of samples
return;
}
lutgaintransmission(501); // raise this value if the quality suffers from this number of samples
for (int i = 0; i < 501; i++) {
lutgaintransmission[i] = pCurve.getVal(double(i) / 500.);
}
}
void RetinexgaintransmissionCurve::Set(const std::vector<double> &curvePoints)
{
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
FlatCurve tcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
tcurve.setIdentityValue(0.);
Set(tcurve);
} else {
Reset();
}
}
void ToneCurve::Reset()
{
lutToneCurve.reset();