Skip to content

virgl: add support for hardware video acceleration

Feng Jiang requested to merge flynnjiang/mesa:main-va-merge into main

Currently only supports H.264 and H.265 decoding, encoding and other profiles will be supported in the future

virglrenderer on the host side: virgl/virglrenderer!838 (merged)

I played the following files using MPV player(--hwdec=auto/no):

File Desc.
bbb_sunflower_1080p_60fps_normal.mp4 H.264+AC3+MP3, 1920x1080, 60fps, 339MB
bbb_sunflower_2160p_60fps_normal.mp4 H.264+AC3+MP3, 3840x2160, 60fps, 642MB
caminandes_llamigos_1080p_hevc.mp4 H.265+AAC, 1920x1080, 24fps, 27MB

Here are the test results(use mesa 20.0.8):

On x86_64 (Intel i5-9500 + AMD Radeon RX550), the CPU usage:

software decoding hardware decoding
H.264/1080p@60fps 65.0% 17.3%
H.264/4K@60fps 108.0% 17.6%
H.265/1080p@24fps 42.6% 9.5%

On aarch64 (Kunpeng-920 + AMD Radeon RX550), the CPU usage:

software decoding hardware decoding
H.264/1080p@60fps 76.0% 6.7%
H.264/4K@60fps 321.0% 8.4%
H.265/1080p@24fps 63.7% 4.1%

Signed-off-by: Feng Jiang jiangfeng@kylinos.cn

Edited by Feng Jiang

Merge request reports