https://bugs.kde.org/show_bug.cgi?id=495329
Bug ID: 495329 Summary: Incorrect gradient map behavior at high color depth with linear RGB Classification: Applications Product: krita Version: 5.2.6 Platform: Manjaro OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: Filters Assignee: krita-bugs-n...@kde.org Reporter: valerie.k.he...@gmail.com Target Milestone: --- Created attachment 175209 --> https://bugs.kde.org/attachment.cgi?id=175209&action=edit The Krita file containing figures A, B, and C (see report). Attached is a Krita document containing several example images. The document is RGBA, but the example images are grayscale, to make it easier to illustrate this bug. You'll have to open this file up in Krita and follow along to reproduce. The paint layer containing FIGURE A has a GRADIENT MAP applied as a filter mask. This gradient map is a simple two-stop gradient from BLACK at 0% to WHITE at 100%. Because the layer is already grayscale, applying this gradient map to FIGURE A results in no visible change. This is good! That's the expected behavior. Now go to IMAGE->CONVERT IMAGE COLOR SPACE. Set the DEPTH to "16-bit integer/channel" and the PROFILE to "sRGB-elle-V2-g10.icc" (this should be selected automatically when increasing the bit depth). Click OK. EXPECTED BEHAVIOR: FIGURE A should appear completely unchanged, as in FIGURE B. OBSERVED BEHAVIOR: FIGURE A appears altered with what seems to be an incorrect GAMMA CURVE, as in FIGURE C. ADDITIONAL INFO: Try toggling the gradient map off. You'll see that the underlying image has been correctly converted to the linear RGB color space. In other words, the problem is somewhere in the gradient map filter: it seems like it's failing to correctly map the input values onto the interpolated output values (if I may guess). Now, try setting the bit depth back to "8-bit integer/channel", but set the profile to "sRGB-elle-V2-g10.icc". Note how the gradient map works as intended, despite the linear RGB color profile! Next, set the bit depth back to "16-bit integer/channel", but set the profile to "sRGB-elle-V2-srgbtrc.icc". Note how the gradient map works as intended, despite the high bit-depth! In other words, the problem appears to be with the COMBINATION of high bit-depth and linear RGB. To summarize: 8-bit, sRGB: Gradient map works as expected. 8-bit, linear RGB: Gradient map works as expected. 16-bit+, sRGB: Gradient map works as expected. 16-bit+, linear RGB: Gradient map misbehaves! -- You are receiving this mail because: You are watching all bug changes.