Luminance Denoise Curve issue2463

This commit is contained in:
jdc
2014-08-30 07:10:26 +02:00
parent 2061576c42
commit 5d6d858aac
21 changed files with 690 additions and 113 deletions

View File

@@ -198,6 +198,7 @@ class CurveFactory {
static void curveCL ( bool & clcutili, const std::vector<double>& clcurvePoints, LUTf & clCurve, LUTu & histogramcl, LUTu & outBeforeCLurveHistogram, int skip);
static void curveToningCL ( bool & clctoningutili, const std::vector<double>& clcurvePoints, LUTf & clToningCurve, int skip);
static void curveToningLL ( bool & llctoningutili, const std::vector<double>& llcurvePoints, LUTf & llToningCurve, int skip);
static void denoiseLL ( bool & lldenoiseutili, const std::vector<double>& llcurvePoints, LUTf & Noisecurve,int skip);
static void complexsgnCurve ( float adjustr, bool & autili, bool & butili, bool & ccutili, bool & clcutili, double saturation, double rstprotection, const std::vector<double>& acurvePoints,
const std::vector<double>& bcurvePoints,const std::vector<double>& cccurvePoints,const std::vector<double>& lccurvePoints, LUTf & aoutCurve, LUTf & boutCurve, LUTf & satCurve, LUTf & lhskCurve,
@@ -349,6 +350,18 @@ class OpacityCurve {
operator bool (void) const { return lutOpacityCurve; }
};
class NoisCurve {
public:
LUTf lutNoisCurve; // 0xffff range
float nonzero;
virtual ~NoisCurve() {};
void Reset();
void Set(const Curve *pCurve);
void Set(const std::vector<double> &curvePoints, bool &lldenoiseutili);
operator bool (void) const { return lutNoisCurve; }
};
class ColorGradientCurve {
public: