Chromium on Windows 10 will get “zero copy capture” support

Microsoft Edge and Chromium

It’s been almost two years since Microsoft’s EdgeHTML rendering
engine was discontinued and the tech giant surprised everyone
by announcing it was shifting Edge to Google’s ubiquitous and
open-source Chromium. By switching to Chromium, Microsoft said
it could better contribute to the web and support the
constantly evolving web standards.

This shift has ensured that Windows 10 users wouldn’t come
across the occasional glitches when using Microsoft Edge. In
addition, Microsoft has also started actively contributing to
the Chromium Gerrit with both new features and bug fixes.

The underlying multimedia technology in legacy Microsoft Edge
is Media Foundation (introduced in Vista), which is currently
missing in Chromium platform. Fortunately, Microsoft has
confirmed that it is working on ‘Media
Foundation‘ for the open-source project and support will
land soon.

As part of the Media Foundation development, Microsoft is now
working
on “zero-copy video capture” implementation that will leverage
GPU memory buffers on Windows 10 to reduce excessive power
usage.

The camera capture path for Windows in Chromium is a
significant contributor to power usage in WebRTC video
conferencing scenarios and the main causes of excessive power
usage are the copy and conversion operations.

On Windows 10, NV12 is the preferred format for YUV 4:2:0 video
frames. Additionally, with most camera drivers on recent
hardware, the frames are initially populated in GPU textures
(D3D11 textures).

The current implementation in Chromium results in the video
frames being copied/converted multiple times, which contributes
to excessive power and performance issues when you use Chrome
to stream videos.

Microsoft claims it can achieve zero-copy video capture on
Windows by leveraging GPU memory buffers.

Chromium video data flow

“The number of copies can be minimized by leveraging the
existing GPU memory buffer infrastructure in Chromium,”
Microsoft said.

With this approach, there is a single copy from the NV12 D3D11
texture to a VideoCaptureBufferPool NV12 texture, thus reducing
the excessive resources usage.

About the Author: admin

i am as a writer and blogger...

Leave a Reply

Your email address will not be published. Required fields are marked *