mirror of
git://slackware.nl/current.git
synced 2025-01-12 08:03:03 +01:00
42 lines
1.4 KiB
Diff
42 lines
1.4 KiB
Diff
|
From fdbfb7694f9d7048d53674b79ddfc38068bfdaf7 Mon Sep 17 00:00:00 2001
|
||
|
From: Marti Maria <marti.maria@littlecms.com>
|
||
|
Date: Sun, 30 Jan 2022 16:56:48 +0100
|
||
|
Subject: [PATCH] Fix for optimisation error on grayscale
|
||
|
|
||
|
Thanks to Aaron Boxer for reporting this issue
|
||
|
---
|
||
|
src/cmsintrp.c | 10 +++++-----
|
||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/src/cmsintrp.c b/src/cmsintrp.c
|
||
|
index 5cd6d16c..5eb98e6c 100644
|
||
|
--- a/src/cmsintrp.c
|
||
|
+++ b/src/cmsintrp.c
|
||
|
@@ -278,10 +278,10 @@ void Eval1Input(CMSREGISTER const cmsUInt16Number Input[],
|
||
|
// if last value...
|
||
|
if (Input[0] == 0xffff || p16->Domain[0] == 0) {
|
||
|
|
||
|
- cmsUInt16Number y0 = LutTable[p16->Domain[0]];
|
||
|
-
|
||
|
+ cmsUInt32Number y0 = p16->Domain[0] * p16->opta[0];
|
||
|
+
|
||
|
for (OutChan = 0; OutChan < p16->nOutputs; OutChan++) {
|
||
|
- Output[OutChan] = y0;
|
||
|
+ Output[OutChan] = LutTable[y0 + OutChan];
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
@@ -324,10 +324,10 @@ void Eval1InputFloat(const cmsFloat32Number Value[],
|
||
|
// if last value...
|
||
|
if (val2 == 1.0 || p->Domain[0] == 0) {
|
||
|
|
||
|
- y0 = LutTable[p->Domain[0]];
|
||
|
+ cmsUInt32Number start = p->Domain[0] * p->opta[0];
|
||
|
|
||
|
for (OutChan = 0; OutChan < p->nOutputs; OutChan++) {
|
||
|
- Output[OutChan] = y0;
|
||
|
+ Output[OutChan] = LutTable[start + OutChan];
|
||
|
}
|
||
|
}
|
||
|
else
|