-
Notifications
You must be signed in to change notification settings - Fork 719
[css-mediaqueries-5] Clarifications on [video-]dynamic-range MQs #6793
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
CC'ing participants in the original discussion for visibility: @tabatkins @gregwhitworth @astearns @svgeesus @Crissov @mwatson2 @AmeliaBR @chcunningham @vi-dot-cpp |
The other issue with the wording regarding "The combination of the User Agent and the output device..." is that User Agents may have different capabilities for CSS (and HTML) colors, colors in images, colors in canvas, colors in videos, etc. Which of these are required to be supported should probably be specified, both (separately) for |
As a developer, I agree that it would be kind of pointless to have |
As a participant in the original discussion, I want to give a big +1 to ^this point. The dynamic-range MQ was motivated entirely by a need to describe the screen's capabilities. This is consistent with the overall purpose of Media Queries, which describe features (e.g. resolution) for the current media device (e.g. screen). I think folks are confused by the video-dynamic-range feature. At a glance, this looks like it indicates when the UA is capable of playing HDR Both video-dynamic-range and dynamic-range describe the screen. The video-dynamic-range proposal concerns a weird quirk of user agents implemented in TVs. Given limited system resources and a clear priority use case, these devices have a quirky implementation where video and non-video are rendered in distinct "planes", which amounts to distinct screens with distinct capabilities. Generally speaking, the video plane has a much higher resolution and dynamic range than that of non-video. Traditional user-agents have only one plane, such that video-dynamic-range and dynamic-range should behave identically. Again, video-dynamic-range just describes the screen. It does not describe support for HDR video playback. This is a much more complicated question (w/ parameters like codec, transfer function, metadata, ...) which Media Queries is ill-suited to answer (it is instead answered by |
Yes, exactly. In other words, for most devices, these will have the same value. Only for a TV with a high-res, HDR video buffer and a (lower res, non-HDR) "graphics overlay buffer" will they have different values. So the specification needs to more clearly reflect that. |
The CSS Working Group just discussed The full IRC log of that discussion |
Having had a little side discussion with the chrome folks, the tentative conclusion is that the way Safari implemented this is what we'd like the spec to align to. Specifically:
In other words, a hypothetical different design, like
is not actually appealing to authors, and would add complexity for no practical reason, thus we should spec what Safari is shipping. |
As of the latest discussion on the spec, it's been determined that '[video-]dynamic-range: standard' should be a subset of '[video-]dynamic-range: high'. This CL implements that change, and updates all tests accordingly. The relevant spec discussion may be viewed here: w3c/csswg-drafts#6793 Bug: 1224711
As of the latest discussion on the spec, it's been determined that '[video-]dynamic-range: standard' should be a subset of '[video-]dynamic-range: high'. This CL implements that change, and updates all tests accordingly. The relevant spec discussion may be viewed here: w3c/csswg-drafts#6793 Bug: 1224711 Change-Id: I640e574cd2809dc1d8b721115e79372d302c723a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3293745 Reviewed-by: Anders Hartvoll RuudCommit-Queue: Will Cassella Cr-Commit-Position: refs/heads/main@{#944203}
As of the latest discussion on the spec, it's been determined that '[video-]dynamic-range: standard' should be a subset of '[video-]dynamic-range: high'. This CL implements that change, and updates all tests accordingly. The relevant spec discussion may be viewed here: w3c/csswg-drafts#6793 Bug: 1224711 Change-Id: I640e574cd2809dc1d8b721115e79372d302c723a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3293745 Reviewed-by: Anders Hartvoll RuudCommit-Queue: Will Cassella Cr-Commit-Position: refs/heads/main@{#944203}
As of the latest discussion on the spec, it's been determined that '[video-]dynamic-range: standard' should be a subset of '[video-]dynamic-range: high'. This CL implements that change, and updates all tests accordingly. The relevant spec discussion may be viewed here: w3c/csswg-drafts#6793 Bug: 1224711 Change-Id: I640e574cd2809dc1d8b721115e79372d302c723a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3293745 Reviewed-by: Anders Hartvoll RuudCommit-Queue: Will Cassella Cr-Commit-Position: refs/heads/main@{#944203}
…es, a=testonly Automatic update from web-platform-tests Update [video-]dynamic-range media queries As of the latest discussion on the spec, it's been determined that '[video-]dynamic-range: standard' should be a subset of '[video-]dynamic-range: high'. This CL implements that change, and updates all tests accordingly. The relevant spec discussion may be viewed here: w3c/csswg-drafts#6793 Bug: 1224711 Change-Id: I640e574cd2809dc1d8b721115e79372d302c723a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3293745 Reviewed-by: Anders Hartvoll RuudCommit-Queue: Will Cassella Cr-Commit-Position: refs/heads/main@{#944203} -- wpt-commits: 166dd2ceeaecb1e22ecf7c5c08713a47cf828deb wpt-pr: 31688
…es, a=testonly Automatic update from web-platform-tests Update [video-]dynamic-range media queries As of the latest discussion on the spec, it's been determined that '[video-]dynamic-range: standard' should be a subset of '[video-]dynamic-range: high'. This CL implements that change, and updates all tests accordingly. The relevant spec discussion may be viewed here: w3c/csswg-drafts#6793 Bug: 1224711 Change-Id: I640e574cd2809dc1d8b721115e79372d302c723a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3293745 Reviewed-by: Anders Hartvoll RuudCommit-Queue: Will Cassella Cr-Commit-Position: refs/heads/main@{#944203} -- wpt-commits: 166dd2ceeaecb1e22ecf7c5c08713a47cf828deb wpt-pr: 31688
Misconfigured the log bot while discussing this. The discussion is at https://logs.csswg.org/irc.w3.org/css/2021-12-15/#e1452098, and the resolution was :
|
CSS Media Queries Level 5 introduced two new queries:
dynamic-range
andvideo-dynamic-range
. Both have similar wording, and currently the wording fordynamic-range
is like so:The way Safari has implemented this media query is to make
@media (dynamic-range: standard)
checks always pass, and@media (dynamic-range: high)
check against the capabilities of the current display device. This makes sense from a future-proofing perspective, asstandard
can be seen as a subset ofhigh
, and ifultra-high
dynamic-range displays are ever introduced,high
should be a subset of that.However, the wording of the
standard
enum makes it sound as ifstandard
andhigh
should be mutually-exclusive. I think we should change this wording to reflectstandard
as a subset ofhigh
.Additionally, the wording of "The combination of the User Agent and the output device..." has caused some confusion about what the capabilities of the user agent must be in order for the
high
query to pass. In the discussion surrounding the proposal for these queries, the idea was that this query would be a coarse representation of the display device's capabilities, and more detailed APIs such as MediaCapabilities could be used to gather specific information about the User Agent's capabilities for specific purposes. I think we should remove mention of the UA in the description of this media query to clarify this confusion.The text was updated successfully, but these errors were encountered: