diff --git a/rtengine/ipresize.cc b/rtengine/ipresize.cc index a1e53131d..a49bd91c7 100644 --- a/rtengine/ipresize.cc +++ b/rtengine/ipresize.cc @@ -1184,7 +1184,12 @@ Imagefloat* ImProcFunctions::drawFrame(Imagefloat* rgb, const FramingParams& par // Color::gamma2curve expects a 16-bit value, but the GUI sliders are // using 8-bit values. Step up the user value to 16-bits. - auto clip = [](int v) { return std::max(0, std::min(v, 255)) * 256; }; + auto clip = [](int v) -> int { + int sanitized = std::max(0, std::min(v, 255)); + + double normalized = static_cast(sanitized) / 255.0; + return normalized * 65535.0; + }; float r = Color::gamma2curve[clip(params.borderRed)]; float g = Color::gamma2curve[clip(params.borderGreen)]; @@ -1223,6 +1228,7 @@ Imagefloat* ImProcFunctions::drawFrame(Imagefloat* rgb, const FramingParams& par } } + delete rgb; return framed; } diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc index d5a94ea98..8493dd5c8 100644 --- a/rtengine/simpleprocess.cc +++ b/rtengine/simpleprocess.cc @@ -1923,14 +1923,16 @@ private: // If framing is not enabled, resize values simply pass through to output ImProcFunctions::FramingData framingData = ipf.framing(framingArgs); - printf("Framing Parameters (enabled=%s)\n", framingData.enabled ? "yes" : "no"); - printf(" Crop: w=%d h=%d\n", cw, ch); - printf(" Original resize: w=%d h=%d s=%f\n", - framingArgs.resizeWidth, framingArgs.resizeHeight, framingArgs.resizeScale); - printf(" Framed image size: w=%d h=%d s=%f\n", - framingData.imgWidth, framingData.imgHeight, framingData.scale); - printf(" Total size: w=%d h=%d\n", - framingData.framedWidth, framingData.framedHeight); + if (settings->verbose) { + printf("Framing Parameters (enabled=%s)\n", framingData.enabled ? "yes" : "no"); + printf(" Crop: w=%d h=%d\n", cw, ch); + printf(" Original resize: w=%d h=%d s=%f\n", + framingArgs.resizeWidth, framingArgs.resizeHeight, framingArgs.resizeScale); + printf(" Framed image size: w=%d h=%d s=%f\n", + framingData.imgWidth, framingData.imgHeight, framingData.scale); + printf(" Total size: w=%d h=%d\n", + framingData.framedWidth, framingData.framedHeight); + } bool labResize = params.resize.enabled && params.resize.method != "Nearest" && (framingData.scale != 1.0 || params.prsharpening.enabled || framingData.enabled);