Closed Bug 1977746 Opened 5 months ago Closed 23 hours ago

[HDR/Windows] Play HDR video using an RGB10A2 swapchain with appropriate colorspace

Categories

(Core :: Graphics: Color Management, task, P1)

task

Tracking

()

RESOLVED FIXED
148 Branch
Tracking Status
relnote-firefox --- 148+
firefox148 --- fixed

People

(Reporter: ahale, Assigned: ahale)

References

(Blocks 4 open bugs)

Details

Attachments

(2 files)

For all common viewing scenarios we want to convert HDR video in Rec2100PQ P010 format to Rec2100PQ in RGB10A2 pixel format, and apply appropriate color conversions (Bug 1977744) while doing so, this can be displayed as a DXGISwapChain with the appropriate SetColorspace() call to indicate it is Rec2100PQ.

Blocks: hdr-video-windows
No longer blocks: 1972744
Summary: [HDR/Windows] Send P010 HDR video as RGB10A2 for windowed cases → [HDR/Windows] Send P010 HDR video as RGB10A2
Depends on: 1977744
Summary: [HDR/Windows] Send P010 HDR video as RGB10A2 → [HDR/Windows] Play HDR video using an RGB10A2 swapchain with appropriate colorspace

There may be situations where we need to play video as RGBA16F (DXGI_FORMAT_R16G16B16A16_FLOAT) if it has transparency (AV1 I believe supports that?) - this also technically means it could be displayed as a surface rather than a swapchain if that is useful, surfaces can't be DXGI_FORMAT_R10G10B10A2_UNORM format but they can be DXGI_FORMAT_R16G16B16A16_FLOAT).

For now I am prototyping video using RGBA16F as it has the least considerations to deal with (e.g. we don't have to call IDXGISwapChain3::SetColorSpace1, DWM knows that RGBA16F is always scRGB).

Attachment #9519888 - Attachment description: WIP: Bug 1977746 - prototyping HDR video on Windows using RGBA16F → WIP: Bug 1977746 - prototyping HDR video on Windows using RGB10A2
Assignee: nobody → ahale
Attachment #9519888 - Attachment description: WIP: Bug 1977746 - prototyping HDR video on Windows using RGB10A2 → Bug 1977746 - implement HDR video on Windows using RGB10A2 swapchain
Status: NEW → ASSIGNED
Attachment #9519888 - Attachment description: Bug 1977746 - implement HDR video on Windows using RGB10A2 swapchain → Bug 1977746 - prototyping HDR video on Windows using RGB10A2
Attachment #9519888 - Attachment description: Bug 1977746 - prototyping HDR video on Windows using RGB10A2 → Bug 1977746 - display HDR video on Windows using RGB10A2
No longer depends on: 1977744
Blocks: 2008874
Blocks: 2008886
Blocks: 2008887
Pushed by ahale@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/38bbd8dd7935 https://hg.mozilla.org/integration/autoland/rev/1ce82d084f8f display HDR video on Windows using RGB10A2 r=bradwerth,gfx-reviewers,media-playback-reviewers,sotaro,alwu

I (and reviewers) missed one pref that should have a conditional value, so made another patch for that. I can move it to another bug if necessary.

Pushed by ahale@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/94c9f2a64f9c https://hg.mozilla.org/integration/autoland/rev/5924af1d12ba fix layout.css.video-dynamic-range.allows-high pref initial value on Windows for early-beta/nightly r=gfx-reviewers,jimb
Status: ASSIGNED → RESOLVED
Closed: 23 hours ago
Resolution: --- → FIXED
Target Milestone: --- → 148 Branch

:ahale, could you consider nominating this for a release note? (Process info)
We could include it in the nightly only release notes.

Flags: needinfo?(ahale)

Release Note Request (optional, but appreciated)
[Why is this notable]: HDR video has been the most requested feature on MozillaConnect, users will be eager to experiment with this and confirm if it works properly.
[Affects Firefox for Android]: No
[Suggested wording]: HDR video on Windows is now supported in Firefox Nightly 148, this is considered experimental as we gather feedback before enabling in regular releases. This feature works best if HDR mode is enabled in Display Settings (may require a page refresh), otherwise the display driver is likely to apply a tonemapping effect for non-HDR viewing. Some streaming sites may still not offer HDR video in Firefox.
[Links (documentation, blog post, etc)]: A blog post is being drafted, URL not available yet. It will be at https://mozillagfx.wordpress.com/ when it is ready, it will be more detailed than this relnote.

relnote-firefox: --- → ?
Flags: needinfo?(ahale)

Added to the Fx148 nightly release notes, please allow 30 minutes for the site to update.
The nightly-only note will be removed after three cycles or when it is enabled by default, whichever comes earlier.

We can update the release note to add a URL for the blog post once it's ready.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: