Return to DCP-o-matic v1's gamma correction for Rec 601/709.
authorCarl Hetherington <cth@carlh.net>
Mon, 29 Jun 2015 22:40:29 +0000 (23:40 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 29 Jun 2015 22:40:29 +0000 (23:40 +0100)
Dennis points out that `there definitely *is* no right answer for
BT.709 gamma' and `your formula [the DCP-o-matic v2 gamma function
before this commmit] is what I'm calling the inverse of the BT.709
camera transfer function.  The EBU would not have bothered to write:
"Therefore the monitor gamma is not, and never has been, the inverse
of the camera gamma." if no-one ever thought of using it'.

At least the 2.2 gamma of v1 should not surprise anybody.

src/colour_conversion.cc

index 1fbed166c9b2b5fdfc0df6a5ec44395d9c76c70d..8c48c2e1f08f5abf93b580c71b68e59196987534 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -51,7 +51,7 @@ ColourConversion const &
 ColourConversion::rec601_to_xyz ()
 {
        static ColourConversion* c = new ColourConversion (
-               shared_ptr<const TransferFunction> (new ModifiedGammaTransferFunction (1 / 0.45, 0.081, 0.099, 4.5)),
+               shared_ptr<const TransferFunction> (new GammaTransferFunction (2.2)),
                YUV_TO_RGB_REC601,
                Chromaticity (0.64, 0.33),
                Chromaticity (0.3, 0.6),
@@ -68,7 +68,7 @@ ColourConversion const &
 ColourConversion::rec709_to_xyz ()
 {
        static ColourConversion* c = new ColourConversion (
-               shared_ptr<const TransferFunction> (new ModifiedGammaTransferFunction (1 / 0.45, 0.081, 0.099, 4.5)),
+               shared_ptr<const TransferFunction> (new GammaTransferFunction (2.2)),
                YUV_TO_RGB_REC709,
                Chromaticity (0.64, 0.33),
                Chromaticity (0.3, 0.6),