Hello blink-dev!

After much churn, the industry has converged on a consistent and
very-widely adopted way of handling HDR content, based on the concept of HDR
headroom <https://drafts.csswg.org/css-color-hdr/#introducing-headroom>.

A core feature unique to HDR is that HDR content can be drawn an infinite
number of ways, often unrepresentable as a single bitmap (e.g, gainmap
images). There exists a general problem wherein a HDR content must be put
into pixels in a buffer. At that moment, this infinite number of ways of
representing it must be collapsed into a single set of pixel values in a
buffer.

This chrome feature is for the 2D canvas version
<https://github.com/whatwg/html/issues/11165> of the problem, but it may be
helpful to peruse the related specifications of WebGPU texture upload
<https://github.com/gpuweb/gpuweb/issues/5236> and WebGL texture upload
<https://github.com/KhronosGroup/WebGL/issues/3735>, since they are the
same solution to the same problem (they are shipping as separate Chromium
features, because their specs are separate and their development will be
done in series).

Also of note is that a canvas can be a source of pixels (not just a
destination) and there is a separate issue
<https://github.com/whatwg/html/issues/11424> (and a separate feature) for
dealing with that side of things.

Contact emailsccame...@chromium.org

Explainer
https://github.com/ccameron-chromium/ColorWeb-CG/blob/master/canvas2d_hdr_headroom.md

SpecificationNone

Summary

Adds a global HDR headroom attribute to CanvasRenderingContext2D. When
drawing HDR content (e.g, gain map images), to the canvas' bitmap, this
attribute will determine how much tone mapping should be performed (if any).

Blink componentBlink>Canvas
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECanvas%22>

Search tagsHDR tone mapping canvas drawImage
<https://chromestatus.com/features#tags:HDR%20tone%20mapping%20canvas%20drawImage>

TAG reviewNone

TAG review statusPending

Risks


Interoperability and Compatibility

None. This is designed to provide an avenue through which interoperability
for HDR content can be increased, while maintaining backwards compatibility
with existing behavior (because SDR is forever).


*Gecko*: No signal

*WebKit*: No signal

*Web developers*: No signals

*Other signals*:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that
it has potentially high risk for Android WebView-based applications?

None


Goals for experimentation



Ongoing technical constraints

None


Debuggability

None


Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, ChromeOS, Android, and Android WebView)?Yes

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?No

Flag name on about://flagsNone

Finch feature nameCanvasGlobalHDRHeadroom

Requires code in //chrome?False

Tracking bughttps://issues.chromium.org/issues/428575083

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5858435803119616

This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGnfxj-Q_DjgcmHwRAP0Yqn_QGKgNH_XKBJ3ytnLZyj0AreMuQ%40mail.gmail.com.

Reply via email to