From a1d4acf72f634303625b158ca0acacd06413247c Mon Sep 17 00:00:00 2001 From: heckflosse Date: Fri, 9 Nov 2018 13:55:58 +0100 Subject: [PATCH] Artefacts with toncurve 2 / weighted standard with RT-dev-1098, fixes #4948 --- rtengine/curves.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rtengine/curves.h b/rtengine/curves.h index c66c19a27..f1b402dd3 100644 --- a/rtengine/curves.h +++ b/rtengine/curves.h @@ -1084,11 +1084,12 @@ inline float WeightedStdToneCurve::Triangle(float a, float a1, float b) const #ifdef __SSE2__ inline vfloat WeightedStdToneCurve::Triangle(vfloat a, vfloat a1, vfloat b) const { + vmask eqmask = vmaskf_eq(b, a); vfloat a2 = a1 - a; vmask cmask = vmaskf_lt(b, a); vfloat b3 = vself(cmask, b, F2V(65535.f) - b); vfloat a3 = vself(cmask, a, F2V(65535.f) - a); - return b + a2 * b3 / a3; + return vself(eqmask, a1, b + a2 * b3 / a3); } #endif