diff --git a/color-space-conversions.png b/color-space-conversions.png new file mode 100644 index 0000000..db3eea7 Binary files /dev/null and b/color-space-conversions.png differ diff --git a/hdr_html_canvas_element.md b/hdr_html_canvas_element.md index 31cc212..331d2c5 100644 --- a/hdr_html_canvas_element.md +++ b/hdr_html_canvas_element.md @@ -1,749 +1,392 @@ -# Canvas High Dynamic Range +# Adding support High Dynamic Range (HDR) imagery to HTML Canvas: a baseline proposal -## Proposal summary / TLDR +## Introduction -### Use cases +Today [HTML +Canvas](https://html.spec.whatwg.org/multipage/canvas.html#imagedata) supports +only 8 bit per color channel and two `PredefinedColorSpace` color spaces (`srgb` +and `display-p3`). -There are four main classes of High Dynamic Range (HDR) use that inform this proposal. They are: +This is insufficient for High-Dynamic Range (HDR) imagery, which is in +widespread use today: -* To draw HDR content with the minimum performance overhead. -* To draw HDR content in a way that will color match Standard Dynamic Range (SDR) content. - * Such that SDR images drawn in the canvas will appear exactly as they would if display in an `` tag. -* To display IUT-R BT.2100 Hybrid Log-Gamma (HLG) encoded HDR images and video in a canvas. - * Such that HLG images drawn in the canvas will appear exactly the same as they would if displayed via an `` or `