Bug 301235

Summary: krita has blackpoint and rendering intent settings...
Product: [Applications] krita Reporter: Halla Rempt <halla>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Halla Rempt 2012-06-05 18:51:56 UTC
But doesn't use them for display correction. Also, when using HDR colorspaces and exposure/gamma, we don't do anything with the monitor profile anymore.

Reproducible: Always
Comment 1 Halla Rempt 2012-06-07 13:27:46 UTC
Git commit c0804d3687371c5020a508bf520ff0052562f707 by Boudewijn Rempt.
Committed on 07/06/2012 at 15:26.
Pushed by rempt into branch 'krita-lut_docker-rempt'.

Hide rendering intent and blackpoint until we use them

M  +6    -0    krita/ui/dialogs/kis_dlg_preferences.cc
M  +1    -1    krita/ui/forms/wdgcolorsettings.ui

http://commits.kde.org/calligra/c0804d3687371c5020a508bf520ff0052562f707
Comment 2 Halla Rempt 2012-06-09 08:34:16 UTC
Git commit 7cda62f765b1d2938436fbea906ebf74554c419b by Boudewijn Rempt.
Committed on 09/06/2012 at 10:26.
Pushed by rempt into branch 'krita-lut_docker-rempt'.

qpainter canvas: get rendering intent

So we can use that when converting the projection to display.
The interesting this is that we thought blackpoint wasn't used
either, but it is, in KoLcmsColorConversionTransformation::createTransform:

    KConfigGroup cfg = KGlobal::config()->group("");
    bool bpCompensation = cfg.readEntry("useBlackPointCompensation", false);

    int flags = 0;

    if (bpCompensation) {
        flags = cmsFLAGS_BLACKPOINTCOMPENSATION;
    }
    cmsHTRANSFORM tf = cmsCreateTransform(srcProfile->lcmsProfile(),
                                          srcColorSpaceType,
                                          dstProfile->lcmsProfile(),
                                          dstColorSpaceType,
                                          renderingIntent,
                                          flags);

I'm not sure how much performance reading this config entry every time
we create a transform takes, though.

M  +6    -3    krita/ui/canvas/kis_image_pyramid.cpp
M  +0    -1    krita/ui/canvas/kis_image_pyramid.h
M  +0    -5    krita/ui/dialogs/kis_dlg_preferences.cc

http://commits.kde.org/calligra/7cda62f765b1d2938436fbea906ebf74554c419b
Comment 3 Halla Rempt 2012-06-09 10:57:45 UTC
Git commit 303ef8188d966aa77a8fb6c85b5ef9a35a086a28 by Boudewijn Rempt.
Committed on 09/06/2012 at 12:47.
Pushed by rempt into branch 'krita-lut_docker-rempt'.

Use the rendering intent setting for displaying the image

Instead of relying on the implicit conversion inside bitBlt, which uses
INTENT_PERCEPTUAL by default, convert the bytes ourselves. This might
even give a small speedup since we call the conversion method only once
now.

It also makes it possible to use different ways of convering the
projection bytes, for instance with opencolorio.

M  +12   -5    krita/ui/canvas/kis_image_pyramid.cpp

http://commits.kde.org/calligra/303ef8188d966aa77a8fb6c85b5ef9a35a086a28