At line 8173 in coders/png.c we have
Code: Select all
if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
(void) TransformImageColorspace(image,sRGBColorspace);
-colorspace rec709luma does not get transformed to sRGB (gamma remains 1.0)
-grayscale rec709luma gets transformed. (gamma is transformed to 1/2.2)
Whether they look the same or different depends upon whether the viewing application
handles the PNG gAMA chunk.
In magick/colorspace-private.h we have
Code: Select all
static inline MagickBooleanType IssRGBCompatibleColorspace(
const ColorspaceType colorspace)
{
if ((colorspace == sRGBColorspace) || (colorspace == RGBColorspace) ||
(colorspace == scRGBColorspace) || (colorspace == GRAYColorspace) ||
(colorspace == TransparentColorspace))
return(MagickTrue);
return(MagickFalse);
}
If rec709luma is sRGB compatible, then "(colorspace == Rec709LumaColorspace) ||" should be added to this test.
Probably Rec601LumaColorspace as well.