• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
ColorSync behaviour on pure Gamma TRC
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ColorSync behaviour on pure Gamma TRC


  • Subject: ColorSync behaviour on pure Gamma TRC
  • From: RĂ©mi Achard via colorsync-users <email@hidden>
  • Date: Wed, 12 Oct 2022 11:53:06 +0100

Hi,

I have been looking at some unexpected results coming from simple gamma
profiles, as the ones you can generate via DisplayCAL synthetic profile
tool. I found that the gamma curve is actually replaced by a piecewise
linear segment + gamma curve using a parametric curve tag. I was wondering
if there are any reasons for ColorSync to do that or if anything is wrong
in my assertion of the situation. I saw that an earlier topic mentioned a
similar issue in Aug 2019 (
https://lists.apple.com/archives/colorsync-users/2019/Aug/msg00005.html),
but I'm not sure I understand how to reply to it directly so spinning this
new thread.

To inspect ColorSync transformations, I re-purposed an example Objective-C
program converting image colour space from an older Apple Tech Note /
Documentation and added some debug print to get the transform details of
the ColorSync fragment.

Some truncated output from a sRGB to AdobeRGB conversion (for demonstration
purposes only), focusing on TRC handling.

sRGB EOTF decoding part:
"com.apple.cmm.ParamCurve3" =         (
            "2.4",
            "0.9478673",
            "0.0521327",
            "0.07739938",
            "0.04045",
            0,
            0
        );
"com.apple.cmm.PureGammaOriginalTRC" = 0;

AdobeRGB EOTF encoding part:
"com.apple.cmm.ParamCurve3" =         (
            "0.4545455",
            1,
            0,
            16,
            "0.006200788",
            0,
            0
        );
"com.apple.cmm.PureGammaOriginalTRC" = 1;

You can see the AdobeRGB 2.2 gamma is gone (notice the
PureGammaOriginalTRC=1) and replaced with a piecewise curve. According to
my tests, this happens for simple gamma curv tag as well as para tag with
type 1. If I use a para tag of type 3 emulating a pure gamma, I can get
ColorSync to respect the pure gamma. When I plug the numbers into a
homebrew parametric curve implementation, it does match what is happening
in ColorSync which lead me to believe this method of inspection is working.

Any idea what is happening?
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
colorsync-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Prev by Date: Printing from Affinity Photo, Designer and Publisher
  • Next by Date: hello test
  • Previous by thread: Printing from Affinity Photo, Designer and Publisher
  • Next by thread: hello test
  • Index(es):
    • Date
    • Thread