From a3c8d375c2ce1eafb805642af6b21ed00ece63af Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Fri, 16 Apr 2021 17:31:44 +0200 Subject: [PATCH] use revised value K0 for SRGB --- netpbm.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netpbm.hh b/netpbm.hh index 7102a20..6d78ac8 100644 --- a/netpbm.hh +++ b/netpbm.hh @@ -20,7 +20,7 @@ class ReadPNM : public ReadPEL TYPE linear(int val) { - int K0 = std::nearbyint(0.03928 * maxval_); + int K0 = std::nearbyint(0.04045 * maxval_); TYPE phi(12.92 * maxval_), a(0.055 * maxval_), gamma(2.4); return val <= K0 ? val / phi : std::pow((val + a) / (maxval_ + a), gamma); } @@ -123,7 +123,7 @@ class WritePNM : public WritePEL int srgb(TYPE val) { - TYPE K0(0.03928), a(0.055), phi(12.92), gamma(2.4); + TYPE K0(0.04045), a(0.055), phi(12.92), gamma(2.4); val = std::min(std::max(val, TYPE(0)), TYPE(1)); val = val <= K0 / phi ? val * phi : (1 + a) * std::pow(val, 1 / gamma) - a; return std::nearbyint(maxval_ * val);