Skip to content
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

Adding of video-* properties and dynamic-range to handle bi-plane scenarios #4678

Merged
merged 10 commits into from
Mar 16, 2020
141 changes: 141 additions & 0 deletions mediaqueries-4/Overview.bs
Original file line number Diff line number Diff line change
Expand Up @@ -1695,6 +1695,147 @@ Color Display Quality: the 'color-gamut' feature</h3>
you can use this feature in a negated boolean-context fashion:
''not (color-gamut)''.

<h3 id="dynamic-range">
Dynamic Range: the 'dynamic-range' feature</h3>

<pre class='descdef mq'>
Name: dynamic-range
Value: standard | high
For: @media
Type: discrete
</pre>
</h3>

'@media/dynamic-range' represents the combination of max brightness,
color depth, and contrast ratio that are supported by the UA and output device.

<dl dfn-type=value dfn-for="@media/dynamic-range">
<dt><dfn>high</dfn>
<dd>
If the following are true for the UA and the output device:
gregwhitworth marked this conversation as resolved.
Show resolved Hide resolved
* max brightness is considered high
* color depth is greater than 24 bit
* has a <a>high contrast ratio</a>
<dt><dfn>standard</dfn>
<dd>
If the following are true for the UA and the output device:
* max brightness is considered standard
* color depth is 24 bit or 8 bit per color component of RGB
* has a <a>low contrast ratio</a>
</dl>

<h3 id="contrast-brightness-of-display">
Determining contrast and brightness of display</h3>

This text is non-normative. There currently is no agreed upon standardization of
<dfn export>high contrast ratio</dfn>, <dfn export>low contrast ratio</dfn>,
max brightness or low brightness as it relates to displays. As such, the
determination for '@media/dynamic-range' and '@media/video-dynamic-range' will
be defined by the user agent.

<h3 id="video-prefixed-features">Video Prefixed Features</h3>

Some user agents, including many TVs, render video and graphics in two
separate "planes" (bi-plane) with distinct screen characteristics. A set of
video-prefixed features is provided to describe the video plane.

Any bi-plane implementation must return values based on the video plane
for the following features: '@media/video-color-gamut'; '@media/video-width';
'@media/video-height'; '@media/video-resolution'; '@media/video-dynamic-range'.
All other features must return values based on the graphics plane.

Non bi-plane implementations must return the same values for
video-prefixed features and their non-prefixed counterparts.

<h3 id="video-color-gamut">
Video Color Display Quality: the 'video-color-gamut' feature</h3>

<pre class='descdef mq'>
Name: video-color-gamut
Value: srgb | p3 | rec2020
For: @media
Type: discrete
</pre>
</h3>

The '@media/video-color-gamut' media feature describes the approximate range of colors
that are supported by the UA and output device's video plane.
That is, if the UA receives content with colors in the specified space
it can cause the output device to render the appropriate color,
or something appropriately close enough.

Value and color space definitions are the same as <a href="#color-gamut">color-gamut</a>

<h3 id="video-dynamic-range">
Video Dynamic Range: the 'video-dynamic-range' feature</h3>

<pre class='descdef mq'>
Name: video-dynamic-range
Value: standard | high
For: @media
Type: discrete
</pre>
</h3>

'@media/video-dynamic-range' represents the combination of max brightness,
color depth, and contrast ratio that are supported by the UA and output device's
video plane.

Supported values are the same as <a href="#dynamic-range">dynamic-range</a>.

<h3 id="video-width">
Video-Width: the '@media/video-width' feature</h3>

<pre class='descdef mq'>
Name: video-width
Value: <<length>>
For: @media
Type: range
</pre>

The '@media/video-width' media feature describes the width of the targeted display's video plane area
of the output device. For continuous media, this is the width of the viewport
(as described by CSS2, section 9.1.1 [[!CSS21]]) including the size of a rendered scroll bar (if any).
For paged media, this is the width of the page box (as described by CSS2, section 13.2 [[!CSS21]]).

<<length>>s are interpreted according to [[#units]].

'@media/video-width' is <a>false in the negative range</a>.

<h3 id="video-height">
Video-Height: the '@media/video-height' feature</h3>

<pre class='descdef mq'>
Name: video-height
Value: <<length>>
For: @media
Type: range
</pre>

The '@media/video-height' media feature describes the height of the targeted display's video plane area of the output device.
For continuous media, this is the height of the viewport including the size of a rendered scroll bar (if any).
For paged media, this is the height of the page box.

<<length>>s are interpreted according to [[#units]].

'@media/video-height' is <a>false in the negative range</a>.

<h3 id="video-resolution">
Video Display Resolution: the 'video-resolution' feature</h3>

<pre class='descdef mq'>
Name: video-resolution
Value: <<resolution>> | infinite
For: @media
Type: range
</pre>

The '@media/video-resolution' media feature describes the resolution of the output
device's video plane, i.e. the density of the pixels, taking into account the <a spec=cssom-view>page zoom</a>
but assuming a <a spec=cssom-view>pinch zoom</a> of 1.0.

The 'video-resolution' media feature is <a>false in the negative range</a>

<!--
████ ██ ██ ████████ ████████ ████████ ███ ██████ ████████ ████ ███████ ██ ██
██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
Expand Down