Use Wayland for YUV conversion of video
Categories
(Core :: Graphics: WebRender, enhancement)
Tracking
()
People
(Reporter: rmader, Assigned: rmader)
References
(Depends on 1 open bug, Blocks 2 open bugs)
Details
If the Wayland compositor supports it, offload YUV conversation to it. Overlay and scanout planes may support it natively, so the compositor can again offload the work to the video hardware. This should reduce used bandwidth and, depending on hardware capabilities, reduce power consumption and/or increase FPS, especially on weak hardware.
Comment 1•3 years ago
|
||
Well, the YUV conversion is not very expensive when it's done by EGL, it's just simple shader over two textures. It also depends how well can compositor handle that.
Assignee | ||
Comment 2•3 years ago
|
||
(In reply to Martin Stránský [:stransky] (ni? me) from comment #1)
Well, the YUV conversion is not very expensive when it's done by EGL, it's just simple shader over two textures. It also depends how well can compositor handle that.
Yeah, I think it only really has a benefit if the compositor can offload it to an overlay plane, in which case the GPU engine can go completely idle if there's nothing else to do. For me, this is more of an "how far can we go?" research project, with the eventual goal to become as power efficient as on other operating system compositors. And to add an incentive for Wayland compositors to implement proper YUV + overlay plane support :)
Assignee | ||
Comment 3•3 years ago
|
||
Some more background why this might be desirable from https://www.collabora.com/news-and-blog/blog/2018/03/20/a-new-era-for-linux-low-level-graphics-part-1/ :
Using these overlay planes not only frees up the GPU for more client work (or allows it to power down), but in many cases gives us better image quality. Hardware vendors put a lot of work into their display controllers, with better quality for image scaling, YUV to RGB colourspace conversion, as well as general quality optimisations. This is especially true on dedicated hardware like set-top boxes.
Image scaling and YUV to RGB colourspace conversion in overlay planes is exactly what this would allow.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 4•3 years ago
|
||
Mutter issue: https://gitlab.gnome.org/GNOME/mutter/-/issues/1366
Assignee | ||
Comment 5•3 years ago
|
||
Bug 1653417 has a bunch of interesting changes for CA, maybe something we can reuse here.
Assignee | ||
Comment 6•2 years ago
|
||
See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2191 for an WIP Gnome MR for YUV support.
Comment hidden (off-topic) |
Comment 8•2 years ago
|
||
Sorry, there was a problem with the detection of inactive users. I'm reverting the change.
Description
•