From cca484f6c9251d4200c8c81e28e36e29fed3f469 Mon Sep 17 00:00:00 2001 From: Ingo Weyrich Date: Wed, 28 Aug 2019 19:59:55 +0200 Subject: [PATCH] capture sharpening: reduce memory usage in preview mode, #5412 --- rtengine/rawimagesource.cc | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index 487bb1959..2b45bfe38 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -5054,9 +5054,23 @@ BENCHFUN return; } - array2D L(W,H); - array2D YOld(W,H); - array2D YNew(W,H); + array2D* Lbuffer = nullptr; + if (!redCache) { + Lbuffer = new array2D(W, H); + } + + array2D* YOldbuffer = nullptr; + if (!greenCache) { + YOldbuffer = new array2D(W, H); + } + + array2D* YNewbuffer = nullptr; + if (!blueCache) { + YNewbuffer = new array2D(W, H); + } + array2D& L = Lbuffer ? *Lbuffer : red; + array2D& YOld = YOldbuffer ? * YOldbuffer : green; + array2D& YNew = YNewbuffer ? * YNewbuffer : blue; StopWatch Stop1("rgb2YL"); #ifdef _OPENMP @@ -5110,6 +5124,9 @@ BENCHFUN } } Stop2.stop(); + delete Lbuffer; + delete YOldbuffer; + delete YNewbuffer; if (plistener) { plistener->setProgress(1.0); }