19
19
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
*/
21
21
22
- // Description: nlmeans.glsl: Default profile, general purpose, tuned for low noise
22
+ // Description: HQ/ nlmeans.glsl: Slow, but higher quality.
23
23
24
24
// The following is shader code injected from ./nlmeans_template
25
25
/* vi: ft=c
60
60
61
61
// Denoising factor (sigma, higher means more blur)
62
62
#ifdef LUMA_raw
63
- #define S 2.171842300643018
63
+ #define S 3.8070155534513885
64
64
#else
65
- #define S 3.472706940155897
65
+ #define S 3.8391080491674847
66
66
#endif
67
67
68
68
/* Noise resistant adaptive sharpening
100
100
* AKA the center weight, the weight of the pixel-of-interest.
101
101
*/
102
102
#ifdef LUMA_raw
103
- #define SW 0.874631892412684
103
+ #define SW 0.31161702146553555
104
104
#else
105
- #define SW 0.3493678781214755
105
+ #define SW 0.5455997832190327
106
106
#endif
107
107
108
108
/* Spatial kernel
119
119
*/
120
120
#ifdef LUMA_raw
121
121
#define SST 1
122
- #define SS 0.1786363425615082
122
+ #define SS 1.3426595626243674
123
123
#define PST 0
124
124
#define PSS 0.0
125
125
#else
126
126
#define SST 1
127
- #define SS 0.3241999209926485
127
+ #define SS 0.6454412326714503
128
128
#define PST 0
129
129
#define PSS 0.0
130
130
#endif
215
215
#define PS 0
216
216
#else
217
217
#define RS 3
218
- #define PS 3
218
+ #define PS 4
219
219
#endif
220
220
221
221
/* Weight discard
234
234
* WDS (not for WDK=is_zero): Higher numbers are more eager to reduce weights
235
235
*/
236
236
#ifdef LUMA_raw
237
- #define WD 1
238
- #define WDT 0.2935708849017379
239
- #define WDP 1.2788519721382683
237
+ #define WD 2
238
+ #define WDT 0.4893345936928189
239
+ #define WDP 0.0
240
240
#define WDS 1.0
241
241
#else
242
242
#define WD 0
410
410
* RO: range kernel (takes patch differences)
411
411
*/
412
412
#ifdef LUMA_raw
413
- #define RO 6.373764517041128e-05
413
+ #define RO 0.00014746957936752556
414
414
#else
415
- #define RO 0.0
415
+ #define RO 9.773746446023492e-05
416
416
#endif
417
417
418
418
/* Sampling method
@@ -1395,7 +1395,7 @@ vec4 hook()
1395
1395
//!BIND HOOKED
1396
1396
//!BIND G
1397
1397
//!BIND GC
1398
- //!DESC Non-local means (nlmeans.glsl)
1398
+ //!DESC Non-local means (HQ/ nlmeans.glsl)
1399
1399
1400
1400
1401
1401
@@ -1406,9 +1406,9 @@ vec4 hook()
1406
1406
1407
1407
// Denoising factor (sigma, higher means more blur)
1408
1408
#ifdef LUMA_raw
1409
- #define S 3.559719405746641
1409
+ #define S 1.0891793821856746
1410
1410
#else
1411
- #define S 0.644044031464058
1411
+ #define S 0.9261970284633889
1412
1412
#endif
1413
1413
1414
1414
/* Noise resistant adaptive sharpening
@@ -1446,9 +1446,9 @@ vec4 hook()
1446
1446
* AKA the center weight, the weight of the pixel-of-interest.
1447
1447
*/
1448
1448
#ifdef LUMA_raw
1449
- #define SW 0.5211292610050897
1449
+ #define SW 1.4918935240131503
1450
1450
#else
1451
- #define SW 0.32722815587389364
1451
+ #define SW 3.3672059070451072
1452
1452
#endif
1453
1453
1454
1454
/* Spatial kernel
@@ -1465,12 +1465,12 @@ vec4 hook()
1465
1465
*/
1466
1466
#ifdef LUMA_raw
1467
1467
#define SST 1
1468
- #define SS 1.3662208603933492
1468
+ #define SS 0.12303243413917926
1469
1469
#define PST 0
1470
1470
#define PSS 0.0
1471
1471
#else
1472
1472
#define SST 1
1473
- #define SS 0.07604576880459668
1473
+ #define SS 0.04608821797323175
1474
1474
#define PST 0
1475
1475
#define PSS 0.0
1476
1476
#endif
@@ -1533,10 +1533,10 @@ vec4 hook()
1533
1533
*/
1534
1534
#ifdef LUMA_raw
1535
1535
#define P 3
1536
- #define R 3
1536
+ #define R 9
1537
1537
#else
1538
1538
#define P 3
1539
- #define R 5
1539
+ #define R 9
1540
1540
#endif
1541
1541
1542
1542
/* Patch and research shapes
@@ -1558,7 +1558,7 @@ vec4 hook()
1558
1558
*/
1559
1559
#ifdef LUMA_raw
1560
1560
#define RS 3
1561
- #define PS 3
1561
+ #define PS 0
1562
1562
#else
1563
1563
#define RS 3
1564
1564
#define PS 3
@@ -1580,9 +1580,9 @@ vec4 hook()
1580
1580
* WDS (not for WDK=is_zero): Higher numbers are more eager to reduce weights
1581
1581
*/
1582
1582
#ifdef LUMA_raw
1583
- #define WD 2
1584
- #define WDT 0.6302678350888067
1585
- #define WDP 0.0
1583
+ #define WD 1
1584
+ #define WDT 0.0882286053470455
1585
+ #define WDP 1.060997583415308
1586
1586
#define WDS 1.0
1587
1587
#else
1588
1588
#define WD 0
@@ -1756,9 +1756,9 @@ vec4 hook()
1756
1756
* RO: range kernel (takes patch differences)
1757
1757
*/
1758
1758
#ifdef LUMA_raw
1759
- #define RO 9.4514748889311e -05
1759
+ #define RO 2.603846182420303e -05
1760
1760
#else
1761
- #define RO 8.568093800527619e-05
1761
+ #define RO 0.00012555521925975498
1762
1762
#endif
1763
1763
1764
1764
/* Sampling method
0 commit comments