# Re: [Gimp-developer] Don't make an architectural mistake based on a groundless premise

```On Fri, Oct 10, 2014 at 6:36 PM, Elle Stone
<ellestone@xxxxxxxxxxxxxxxxxxxx> wrote:
>  On 10/09/2014 07:52 PM, Michael Henning wrote:
>> On Thu, Oct 9, 2014 at 7:22 PM, Elle Stone
> So where in the conversion to XYZ and then to LAB (or any other reference
> color space) will "sRGB as PCS" fit in?

> Of course you could convert from User_RGB to XYZ, from XZY to "sRGB as PCS",
> from "sRGB as PCS" back to XYZ, and then, finally, to LAB. But I don't see
> the point of doing such an odd sequence of conversions.

This conversion would be User_RGB -> "sRGB PCS" -> LAB. While Linear
User_RGB to Linear User_RGB2, might end up being just be Linear
User_RGB -> Linear User_RGB2.

The choice of XYZ or linear sRGB or any other linear RGB as a PCS
should not have an impact on either the results you get or the number
of conversions happening - when converting between RGB spaces.

Any linear RGB space is a matrix multiplication away from XYZ, this
includes the PCS of babl. Two such matrix multiplication steps can be
combined into a single step by multiplying the matrices corresponding
to the steps. Thus the number of operations to do per pixel is the
same when going from from babl PCS -> XYZ -> some linear RGB, as if
you do XYZ -> some linear RGB. This matrix will be stored in the
specific BablModel for this color space; and available in code paths
for doing conversions to/from PCS or directly between such models.

It is only for CIE Lab and related spaces we end up with a longer
sequence of conversions (the CIE color models are the type of spaces
that need a bit more special treatment, which is why those color
models have an implementation of XYZ to/from linear sRGB.). Most
algorithms and editing is RGB centric; thus this is a fair compromise.
The CIE Lab code if refactored could also be a single step away from
the PCS.

Given that the choice of PCS, is any suitable RGB space. We are left
with looking for other redeeming qualities to make a choice. A lot of
- yes legacy; but we have code integrating with such libraries file
formats and more; 8bit images around, and some 16bit images as well do
use sRGB. And sRGB continues to be the recommended format on the web
and elsewhere.

/pippin
_______________________________________________
gegl-developer-list mailing list