Open Bug 1711461 Opened 3 years ago Updated 1 year ago

Use Wayland for YUV conversion of video

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement

Tracking

()

ASSIGNED

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.

Depends on: 1718569

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.

(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 :)

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.

Blocks: video-perf

Bug 1653417 has a bunch of interesting changes for CA, maybe something we can reuse here.

See Also: → 1653417
Depends on: 1743631

Sorry, there was a problem with the detection of inactive users. I'm reverting the change.

Assignee: nobody → robert.mader
Status: NEW → ASSIGNED
You need to log in before you can comment on or make changes to this bug.