Fixed handling of shadows/highlights in simpleprocess.cc (broken by the fast export refactoring)
See issue #3793
This commit is contained in:
parent
cd93dab966
commit
3a90374d59
@ -55,6 +55,7 @@ public:
|
|||||||
tunnelMetaData(tunnelMetaData),
|
tunnelMetaData(tunnelMetaData),
|
||||||
flush(flush),
|
flush(flush),
|
||||||
// internal state
|
// internal state
|
||||||
|
ipf_p(nullptr),
|
||||||
ii(nullptr),
|
ii(nullptr),
|
||||||
imgsrc(nullptr),
|
imgsrc(nullptr),
|
||||||
fw(-1),
|
fw(-1),
|
||||||
@ -160,10 +161,11 @@ private:
|
|||||||
// MyTime t1,t2;
|
// MyTime t1,t2;
|
||||||
// t1.set();
|
// t1.set();
|
||||||
|
|
||||||
ImProcFunctions ipf (¶ms, true);
|
ipf_p.reset(new ImProcFunctions(¶ms, true));
|
||||||
|
ImProcFunctions &ipf = *(ipf_p.get());
|
||||||
|
|
||||||
pp = PreviewProps(0, 0, fw, fh, 1);
|
pp = PreviewProps(0, 0, fw, fh, 1);
|
||||||
imgsrc->setCurrentFrame(params.raw.bayersensor.imageNum);
|
imgsrc->setCurrentFrame(params.raw.bayersensor.imageNum);
|
||||||
imgsrc->preprocess( params.raw, params.lensProf, params.coarse, params.dirpyrDenoise.enabled);
|
imgsrc->preprocess( params.raw, params.lensProf, params.coarse, params.dirpyrDenoise.enabled);
|
||||||
|
|
||||||
if (params.toneCurve.autoexp) {// this enabled HLRecovery
|
if (params.toneCurve.autoexp) {// this enabled HLRecovery
|
||||||
@ -733,7 +735,8 @@ private:
|
|||||||
void stage_denoise()
|
void stage_denoise()
|
||||||
{
|
{
|
||||||
procparams::ProcParams& params = job->pparams;
|
procparams::ProcParams& params = job->pparams;
|
||||||
ImProcFunctions ipf (¶ms, true);
|
//ImProcFunctions ipf (¶ms, true);
|
||||||
|
ImProcFunctions &ipf = *(ipf_p.get());
|
||||||
|
|
||||||
// perform luma/chroma denoise
|
// perform luma/chroma denoise
|
||||||
// CieImage *cieView;
|
// CieImage *cieView;
|
||||||
@ -797,7 +800,8 @@ private:
|
|||||||
void stage_transform()
|
void stage_transform()
|
||||||
{
|
{
|
||||||
procparams::ProcParams& params = job->pparams;
|
procparams::ProcParams& params = job->pparams;
|
||||||
ImProcFunctions ipf (¶ms, true);
|
//ImProcFunctions ipf (¶ms, true);
|
||||||
|
ImProcFunctions &ipf = *(ipf_p.get());
|
||||||
|
|
||||||
imgsrc->convertColorSpace(baseImg, params.icm, currWB);
|
imgsrc->convertColorSpace(baseImg, params.icm, currWB);
|
||||||
|
|
||||||
@ -819,7 +823,8 @@ private:
|
|||||||
Image16 *stage_finish()
|
Image16 *stage_finish()
|
||||||
{
|
{
|
||||||
procparams::ProcParams& params = job->pparams;
|
procparams::ProcParams& params = job->pparams;
|
||||||
ImProcFunctions ipf (¶ms, true);
|
//ImProcFunctions ipf (¶ms, true);
|
||||||
|
ImProcFunctions &ipf = *(ipf_p.get());
|
||||||
|
|
||||||
if (params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) {
|
if (params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) {
|
||||||
const int W = baseImg->getWidth();
|
const int W = baseImg->getWidth();
|
||||||
@ -1344,7 +1349,8 @@ private:
|
|||||||
void stage_early_resize()
|
void stage_early_resize()
|
||||||
{
|
{
|
||||||
procparams::ProcParams& params = job->pparams;
|
procparams::ProcParams& params = job->pparams;
|
||||||
ImProcFunctions ipf (¶ms, true);
|
//ImProcFunctions ipf (¶ms, true);
|
||||||
|
ImProcFunctions &ipf = *(ipf_p.get());
|
||||||
|
|
||||||
int imw, imh;
|
int imw, imh;
|
||||||
double scale_factor = ipf.resizeScale(¶ms, fw, fh, imw, imh);
|
double scale_factor = ipf.resizeScale(¶ms, fw, fh, imw, imh);
|
||||||
@ -1445,6 +1451,7 @@ private:
|
|||||||
bool flush;
|
bool flush;
|
||||||
|
|
||||||
// internal state
|
// internal state
|
||||||
|
std::unique_ptr<ImProcFunctions> ipf_p;
|
||||||
InitialImage *ii;
|
InitialImage *ii;
|
||||||
ImageSource *imgsrc;
|
ImageSource *imgsrc;
|
||||||
int fw;
|
int fw;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user