Skip to content

Still recommend redundant gAMA? #151

Description

@svgeesus

From 4.3 Colour spaces:

It is recommended that explicit gamma information also be provided when either the first, second or third method is used, for use by PNG decoders that do not support CICP metadata, full ICC profiles or the sRGB colour space.

Two reasons to not recommend redundant gAMA when a better method is used:

  1. Only a simple power function, not piecewise, so provides only an approximation of sRGB, PQ, HLG, Adobe RGB and ProPhoto transfer functions, for example
  2. Spec says to ignore it, either sometimes or always. See:
    2.1. cICP

When the cICP chunk is present, decoders that recognize it SHALL ignore the following chunks:
iCCP
gAMA
cHRM
sRGB

2.2 iCCP

When the iCCP chunk is present, PNG decoders that recognize it and are capable of colour management shall ignore the gAMA and cHRM chunks and use the iCCP chunk instead and interpret it according to [ICC]. PNG decoders that are used in an environment that is incapable of full-fledged colour management should use the gAMA and cHRM chunks if present.

2.3 sRGB

When the sRGB chunk is present, it is recommended that decoders that recognize it and are capable of colour management ignore the gAMA and cHRM chunks and use the sRGB chunk instead. Decoders that recognize the sRGB chunk but are not capable of colour management are recommended to ignore the gAMA and cHRM chunks, and use the values given above as if they had appeared in gAMA and cHRM chunks.

In other words, the value for gAMA when used with sRGB is fixed, could be inferred, and so the explicit gAMA adds no value but could be incorrect.

I feel that gAMA (and cHRM) are legacy chunks; they should still be supported but we should revisit recommending adding them when better info is available in other chunks.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions