summaryrefslogtreecommitdiff
path: root/graphics/rawtherapee/files/patch-rtengine_FTblockDN.cc
blob: ad2d6caf0a51c50879f456e1687978d9613ed4df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
This is a manual combination (otherwise patch would mess up)
of the two pathes mentioned below:

= PATCH 1 GIT HEADER ============================
From 5239e61946870a5405e94b138b4196fc35159ab1 Mon Sep 17 00:00:00 2001
From: Ingo Weyrich <heckflosse@users.noreply.github.com>
Date: Fri, 12 Jun 2020 12:57:52 +0200
Subject: [PATCH] Fix segfault in denoise, fixes #5796

---
 rtengine/FTblockDN.cc | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/rtengine/FTblockDN.cc b/rtengine/FTblockDN.cc
index 89e4c1b8d..49b566767 100644

= PATCH 2 GIT HEADER ============================
From 6c1055f985a202e1b1a87f8d33b482748f41a167 Mon Sep 17 00:00:00 2001
From: Ingo Weyrich <heckflosse@users.noreply.github.com>
Date: Fri, 12 Jun 2020 13:02:37 +0200
Subject: [PATCH] Fix another segfault in denoise

---
 rtengine/FTblockDN.cc | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/rtengine/FTblockDN.cc b/rtengine/FTblockDN.cc
index 49b566767..0146f0a7d 100644

==== MERGED PATCHES =============================
diff -up ./rtengine/FTblockDN.cc.orig ./rtengine/FTblockDN.cc
--- ./rtengine/FTblockDN.cc.orig	2020-02-04 07:39:52.000000000 +0100
+++ ./rtengine/FTblockDN.cc	2020-06-14 17:14:55.390169000 +0200
@@ -957,13 +957,8 @@ BENCHFUN
                                         labdn->b[i1][j1] = B_ < 65535.f ? gamcurve[B_] : Color::gammanf(B_ / 65535.f, gam) * 32768.f;
 
                                         if (((i1 | j1) & 1) == 0) {
-                                            if (numTries == 1) {
-                                                noisevarlum[(i1 >> 1) * width2 + (j1 >> 1)] = useNoiseLCurve ? lumcalc[i >> 1][j >> 1] : noisevarL;
-                                                noisevarchrom[(i1 >> 1) * width2 + (j1 >> 1)] = useNoiseCCurve ? maxNoiseVarab * ccalc[i >> 1][j >> 1] : 1.f;
-                                            } else {
-                                                noisevarlum[(i1 >> 1) * width2 + (j1 >> 1)] = lumcalc[i >> 1][j >> 1];
-                                                noisevarchrom[(i1 >> 1) * width2 + (j1 >> 1)] = ccalc[i >> 1][j >> 1];
-                                            }
+                                            noisevarlum[(i1 >> 1) * width2 + (j1 >> 1)] = useNoiseLCurve ? lumcalc[i >> 1][j >> 1] : noisevarL;
+                                            noisevarchrom[(i1 >> 1) * width2 + (j1 >> 1)] = useNoiseCCurve ? maxNoiseVarab * ccalc[i >> 1][j >> 1] : 1.f;
                                         }
 
                                         //end chroma
@@ -995,13 +990,8 @@ BENCHFUN
                                         labdn->b[i1][j1] = (Y - Z);
 
                                         if (((i1 | j1) & 1) == 0) {
-                                            if (numTries == 1) {
-                                                noisevarlum[(i1 >> 1)*width2 + (j1 >> 1)] = useNoiseLCurve ? lumcalc[i >> 1][j >> 1] : noisevarL;
-                                                noisevarchrom[(i1 >> 1)*width2 + (j1 >> 1)] = useNoiseCCurve ? maxNoiseVarab * ccalc[i >> 1][j >> 1] : 1.f;
-                                            } else {
-                                                noisevarlum[(i1 >> 1)*width2 + (j1 >> 1)] = lumcalc[i >> 1][j >> 1];
-                                                noisevarchrom[(i1 >> 1)*width2 + (j1 >> 1)] = ccalc[i >> 1][j >> 1];
-                                            }
+                                            noisevarlum[(i1 >> 1)*width2 + (j1 >> 1)] = useNoiseLCurve ? lumcalc[i >> 1][j >> 1] : noisevarL;
+                                            noisevarchrom[(i1 >> 1)*width2 + (j1 >> 1)] = useNoiseCCurve ? maxNoiseVarab * ccalc[i >> 1][j >> 1] : 1.f;
                                         }
                                     }
                                 }