capture sharpening: reduce memory usage in preview mode, #5412
This commit is contained in:
@@ -5054,9 +5054,23 @@ BENCHFUN
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
array2D<float> L(W,H);
|
array2D<float>* Lbuffer = nullptr;
|
||||||
array2D<float> YOld(W,H);
|
if (!redCache) {
|
||||||
array2D<float> YNew(W,H);
|
Lbuffer = new array2D<float>(W, H);
|
||||||
|
}
|
||||||
|
|
||||||
|
array2D<float>* YOldbuffer = nullptr;
|
||||||
|
if (!greenCache) {
|
||||||
|
YOldbuffer = new array2D<float>(W, H);
|
||||||
|
}
|
||||||
|
|
||||||
|
array2D<float>* YNewbuffer = nullptr;
|
||||||
|
if (!blueCache) {
|
||||||
|
YNewbuffer = new array2D<float>(W, H);
|
||||||
|
}
|
||||||
|
array2D<float>& L = Lbuffer ? *Lbuffer : red;
|
||||||
|
array2D<float>& YOld = YOldbuffer ? * YOldbuffer : green;
|
||||||
|
array2D<float>& YNew = YNewbuffer ? * YNewbuffer : blue;
|
||||||
|
|
||||||
StopWatch Stop1("rgb2YL");
|
StopWatch Stop1("rgb2YL");
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
@@ -5110,6 +5124,9 @@ BENCHFUN
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Stop2.stop();
|
Stop2.stop();
|
||||||
|
delete Lbuffer;
|
||||||
|
delete YOldbuffer;
|
||||||
|
delete YNewbuffer;
|
||||||
if (plistener) {
|
if (plistener) {
|
||||||
plistener->setProgress(1.0);
|
plistener->setProgress(1.0);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user