On Thu, Oct 21, 2010 at 10:03 PM, Sven Neumann <s...@gimp.org> wrote:
> On Thu, 2010-10-21 at 21:26 +0200, Martin Nordholts wrote:
>> On 10/21/2010 09:10 PM, Jacek Poplawski wrote:
>> > The question is - can I do it? Can I submit a patch somewhere and it
>> > could be commited into development branch?
>> Of course you can!
>> I suggest you create a patch and attach it to a new bug report filed at
>> bugs.gimp.org. Don't forget to take the active color profile into account.
> You can't really take the active color profile into account unless we
> decide to add a dependency on littlecms to the core. The whole color
> management system would basically need to be rewritten. This has the
> potential to allow some important improvements all over the place. But
> we really need someone willing and capable to finish this work if we
> want to open this can of worms.

Shedding some light on this can of worms from my perspective babl and
GEGL perspective:

I think the best thing for now is to not take the color profile into account,
and make that assumption that GIMP is working on sRGB data...

The responsibility for color management in GEGL is distributed
among the operations. Raster Buffers passed around are tagged with a
BablFormat describing the pixel format (color space, bit depth and
component permutations).

When files with ICC profiles are loaded they should either be converted
upon load to a predefined BablFormat, or a BablFormat depending on lcms
should be dynamically constructed referencing the ICC profile.

Operations are performed in whatever is their preferred working space, some
natural spaces here are RGBA float, RaGaBaA float, CIE Lab float and
Y float. The meaning of these formats is well defined thus the behaviour of
operations will be predictable and fully color managed.

The "active profile" is the final transformation to be applied to the color data
 after it leaves GEGL/gets saved (within GEGL data is most likely mostly
stored as RaGaBaA float). User interface elements showing color triplets
or quadruplets like the color picker would use babl to transform single pixels
of data to and from CIE Lab, R'G'B'A u8 and similar. When using an output
target profile lcms should either be used directly or indirectly through babl.
The profile of your display as well as soft proofing and rendering
intents is not
relevant for these bits.

/Øyvind Kolås
Gimp-developer mailing list

Reply via email to