Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2019-08-01 19:17:56 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2019-08-02 11:09:29 +0300
commitb54528fa1ed49625a8988bbd9c6191f844231e47 (patch)
treeb53777cd07c26e405abe079df0c7cb6d72fc251b /source/blender/blenkernel
parent31da3936b487ee4060635fe40c7c8affef92e372 (diff)
BrightContrast not working correctly with negative contrast
followup to rB8dd95abb2ff9 (which fixed this for the Compositor node), turns out this was also wrong for the VSE modifier and in vertex color operator. - also adjust min/max for VSE modifier - also guard against division by zero Reviewers: brecht Maniphest Tasks: T67808 Differential Revision: https://developer.blender.org/D5398
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/seqmodifier.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/seqmodifier.c b/source/blender/blenkernel/intern/seqmodifier.c
index cc44cd66f23..aceb8b7e4ad 100644
--- a/source/blender/blenkernel/intern/seqmodifier.c
+++ b/source/blender/blenkernel/intern/seqmodifier.c
@@ -545,20 +545,20 @@ static void brightcontrast_apply_threaded(int width,
float brightness = data->bright / 100.0f;
float contrast = data->contrast;
float delta = contrast / 200.0f;
-
- a = 1.0f - delta * 2.0f;
/*
* The algorithm is by Werner D. Streidt
* (http://visca.com/ffactory/archives/5-99/msg00021.html)
* Extracted of OpenCV demhist.c
*/
if (contrast > 0) {
- a = 1.0f / a;
+ a = 1.0f - delta * 2.0f;
+ a = 1.0f / max_ff(a, FLT_EPSILON);
b = a * (brightness - delta);
}
else {
delta *= -1;
- b = a * (brightness + delta);
+ a = max_ff(1.0f - delta * 2.0f, 0.0f);
+ b = a * brightness + delta;
}
for (y = 0; y < height; y++) {