W3C home > Mailing lists > Public > public-css-archive@w3.org > October 2020

[csswg-drafts] [css-color-4] Minimum bit depth for serializing color() values. (#5667)

From: Chris Lilley via GitHub <sysbot+gh@w3.org>
Date: Tue, 27 Oct 2020 13:32:46 +0000
To: public-css-archive@w3.org
Message-ID: <issues.opened-730454892-1603805565-sysbot+gh@w3.org>
svgeesus has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-color-4] Minimum bit depth for serializing color() values. ==
As a first step, [I said that 8 bits is the minimum for RGB and CMYK spaces](https://drafts.csswg.org/css-color-4/Overview.html#serializing-color-function-values). Much commercial software uses 8bits for CMYK, and the entire Web is on 8bit sRGB currently. The wider the gamut, the more bits are needed to avoid banding. If values are stored in linear-light yo also need more bits compared to a gamma-encoded or L* encoded space.

But:

 * 10 bits is better for P3 and a98rgb, to have the same spacing as 8bit sRGB
 * 10 is suboptimal for 2020 but allowed; 12 is recommended, The Rec BT.2020 standard _does not even allow 8_, what should we do here
 * prophoto-rgb really needs 16 due to the superwide gamut

For all of these, 16bit unsigned integer or half float is a more reliable and realistic storage format. So can we increase the minimum? Need implementer input here.

(Color.js uses JavaScript number, i.e. double precision float, for component value storage and calculation).


Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5667 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 27 October 2020 13:32:48 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 06:42:21 UTC