Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/lcms/files/, media-libs/lcms/
Date: Thu, 03 Feb 2022 10:50:35
Message-Id: 1643885410.98cddc12ba0bbc204444db2162389fa1b430a14e.sam@gentoo
1 commit: 98cddc12ba0bbc204444db2162389fa1b430a14e
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Feb 3 10:50:10 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 3 10:50:10 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98cddc12
7
8 media-libs/lcms: backport grayscale regression fix
9
10 Closes: https://bugs.gentoo.org/832520
11 Signed-off-by: Sam James <sam <AT> gentoo.org>
12
13 .../files/lcms-2.13-grayscale-regression.patch | 38 ++++++++++++++++++++++
14 .../lcms/{lcms-2.13.ebuild => lcms-2.13-r1.ebuild} | 4 +++
15 2 files changed, 42 insertions(+)
16
17 diff --git a/media-libs/lcms/files/lcms-2.13-grayscale-regression.patch b/media-libs/lcms/files/lcms-2.13-grayscale-regression.patch
18 new file mode 100644
19 index 000000000000..d1ce0483ee6f
20 --- /dev/null
21 +++ b/media-libs/lcms/files/lcms-2.13-grayscale-regression.patch
22 @@ -0,0 +1,38 @@
23 +https://github.com/mm2/Little-CMS/commit/fdbfb7694f9d7048d53674b79ddfc38068bfdaf7
24 +https://bugs.gentoo.org/832520
25 +
26 +From: Marti Maria <marti.maria@×××××××××.com>
27 +Date: Sun, 30 Jan 2022 16:56:48 +0100
28 +Subject: [PATCH] Fix for optimisation error on grayscale
29 +
30 +Thanks to Aaron Boxer for reporting this issue
31 +--- a/src/cmsintrp.c
32 ++++ b/src/cmsintrp.c
33 +@@ -278,10 +278,10 @@ void Eval1Input(CMSREGISTER const cmsUInt16Number Input[],
34 + // if last value...
35 + if (Input[0] == 0xffff || p16->Domain[0] == 0) {
36 +
37 +- cmsUInt16Number y0 = LutTable[p16->Domain[0]];
38 +-
39 ++ cmsUInt32Number y0 = p16->Domain[0] * p16->opta[0];
40 ++
41 + for (OutChan = 0; OutChan < p16->nOutputs; OutChan++) {
42 +- Output[OutChan] = y0;
43 ++ Output[OutChan] = LutTable[y0 + OutChan];
44 + }
45 + }
46 + else
47 +@@ -324,10 +324,10 @@ void Eval1InputFloat(const cmsFloat32Number Value[],
48 + // if last value...
49 + if (val2 == 1.0 || p->Domain[0] == 0) {
50 +
51 +- y0 = LutTable[p->Domain[0]];
52 ++ cmsUInt32Number start = p->Domain[0] * p->opta[0];
53 +
54 + for (OutChan = 0; OutChan < p->nOutputs; OutChan++) {
55 +- Output[OutChan] = y0;
56 ++ Output[OutChan] = LutTable[start + OutChan];
57 + }
58 + }
59 + else
60 +
61
62 diff --git a/media-libs/lcms/lcms-2.13.ebuild b/media-libs/lcms/lcms-2.13-r1.ebuild
63 similarity index 95%
64 rename from media-libs/lcms/lcms-2.13.ebuild
65 rename to media-libs/lcms/lcms-2.13-r1.ebuild
66 index 592a2703d159..5ffc35b8645b 100644
67 --- a/media-libs/lcms/lcms-2.13.ebuild
68 +++ b/media-libs/lcms/lcms-2.13-r1.ebuild
69 @@ -25,6 +25,10 @@ RDEPEND="
70 "
71 DEPEND="${RDEPEND}"
72
73 +PATCHES=(
74 + "${FILESDIR}"/${P}-grayscale-regression.patch
75 +)
76 +
77 src_prepare() {
78 default