Re: [Gimp-developer] Why the endless background conversions between linear and regular sRGB TRC?



On 30 August 2012 12:11, Jon Nordby <jononor gmail com> wrote:
> On 30 August 2012 01:01, Elle Stone <l elle stone gmail com> wrote:
>> Regarding sRGB and rendering to the screen:
>> On 8/29/12, Jon Nordby <jononor gmail com> wrote:
>>> On 29 August 2012 19:03, Elle Stone <l elle stone gmail com> wrote:
>>>> Why does the /babl/babl/util.h code get executed from fast-float.c,
>>>> float.c, model-rgb.c, model-gray.c, and several other files, resulting
>>>> in endlessly performed conversions between linear and regular sRGB TRC
>>>> in the background of all image processing?
>>>>
>>>
>>> Rendering to to screen / the windowing system is done using sRGB. So
>>> anything that causes canvas updates when the image itself is not in
>>> sRGB will trigger such conversions.
>>
>> Could you explain more about what you mean by "rendering to the screen
>> is done using sRGB"? What about the actual monitor profile?
>
> Cairo, the library used for rendering to the screen in GTK and GIMP
> expects its input as sRGB*. See app/display/gimpdisplayshell.c for
> example of how we use this library. The Babl format "cairo-ARGB32" is
> short for "R'aG'aB'aA u8": 8 bit unsigned integer gamma-corrected,
> pre-multiplied alpha. The LCMS plugin is used before this step to do
> the conversion with the actual monitor profile.

Corrections : the LCMS display filter module is used, not the LCMS
plugin. File: modules/display-filter-lcms.c
The conversion is done _after_ the image has been rendered into the
Cairo image buffer. See the call to
gimp_color_display_stack_convert_surface in
gimpdisplayshell-renderer.c

-- 
Jon Nordby - www.jonnor.com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]