[Wayland] Implement YUV surfaces by WaylandDMABUFSurface
Categories
(Core :: Widget: Gtk, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox75 | --- | fixed |
People
(Reporter: stransky, Assigned: stransky)
References
(Blocks 2 open bugs)
Details
Attachments
(7 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
We need store decoded YUV (NV12) video images at WaylandDMABUFSurface.
Assignee | ||
Updated•6 years ago
|
Comment 1•6 years ago
|
||
Note https://gitlab.gnome.org/GNOME/mutter/issues/987 and https://gitlab.gnome.org/GNOME/mutter/merge_requests/804 if you have issues with certain types of video
Assignee | ||
Comment 2•6 years ago
|
||
Thanks but it's not the case here, we need only support for NV12 which is supported fine.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
We need to export more planes in SurfaceDescriptorDMABuf and also YUV color space.
Assignee | ||
Comment 4•5 years ago
|
||
We need WaylandDMABufSurface to hold both RGBA and YUV surfaces co create WaylandDMABufSurface as a base
class and derive WaylandDMABufSurfaceRGBA from it.
Depends on D62000
Assignee | ||
Comment 5•5 years ago
|
||
WaylandDMABufSurfaceNV12 holds HW decoded video frames from VA-API in NV12 format and it's implemented
as specialization of WaylandDMABufSurface base class.
Depends on D62001
Assignee | ||
Comment 6•5 years ago
|
||
Depends on D62002
Assignee | ||
Comment 7•5 years ago
|
||
- Update WaylandDMABUFTextureClientOGL to work with WaylandDMABufSurfaceRGBA which is used for GL/WebRender compositor
with dmabuf texture backend. - Update WaylandDMABUFTextureHostOGL to work with both RGBA and NV12 surface formats.
- Use GLTextureSource instead of EGLImageTextureSource as we need to store more than one texture there with NV12
and pass the textures there by CreateTextureSourceForPlane(). - Implement NV12 related function by WaylandDMABUFTextureHostOGL (color space, color range, sub-textures num).
- Add NV12 implementation to PushResourceUpdates()/PushDisplayItems() for WebRender.
Depends on D62003
Assignee | ||
Comment 8•5 years ago
|
||
WaylandDMABufSurface/WaylandDMABufSurfaceRGBA uses textures interface instead of EGLImages so we need
to update gfx code accordingly:
- rename CreateEGLImage() -> CreateTexture()
- rename ReleaseEGLImage() -> ReleaseTextures()
- rename GetGLTexture() -> GetTexture()
- rename WaylandDMABufSurface::CreateDMABufSurface() to WaylandDMABufSurfaceRGBA::CreateDMABufSurface()
Depends on D62004
Assignee | ||
Comment 9•5 years ago
|
||
Depends on D62005
Assignee | ||
Comment 10•5 years ago
|
||
Assignee | ||
Comment 11•5 years ago
|
||
Updated•5 years ago
|
Assignee | ||
Comment 12•5 years ago
|
||
Comment 13•5 years ago
|
||
Comment 14•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/640f0fc81c1f
https://hg.mozilla.org/mozilla-central/rev/6ea8ea6e6216
https://hg.mozilla.org/mozilla-central/rev/64592d09f5e4
https://hg.mozilla.org/mozilla-central/rev/66cc62933540
https://hg.mozilla.org/mozilla-central/rev/cdab069b9ed9
https://hg.mozilla.org/mozilla-central/rev/e4383c8d1123
https://hg.mozilla.org/mozilla-central/rev/4e6ca0999851
Description
•