Created attachment 198962 [details]
Allow binary package users to benefit from Hybrid decoding. It gracefully falls back to software decoding if not supported or remains unused if hardware proper support.
Can someone on x11@ list check for regressions? For example,
$ mpv --no-config --hwdec=vaapi --ytdl-format='bestvideo[height<=2160][vcodec=vp9]+bestaudio' 'https://www.youtube.com/watch?v=1La4QzGeaaQ'
- SandyBridge, IvyBridge don't support hybrid decoding. VP9 decoding should be in software while H264 in hardware.
- Haswell, Broadwell, Skylake should use hybrid VP9 decoding for 8bit streams with resulotion up to 2160p. Expect CPU usage to drop by ~50%.
- Kabylake or newer shouldn't use hybrid decoding because VP9 is supported natively.
Testing on Sandy Bridge with hybrid works fine, though does report:
/usr/local/lib/dri/hybrid_drv_video.so init failed
Not using hybrid_drv_video.so
AO: [oss] 48000Hz stereo 2ch s32
[ffmpeg/video] vp9: No support for codec vp9 profile 0.
I assume that this is expected. Video plays cleanly, though it uses all CPU and does not play smoothly.
(In reply to rkoberman from comment #2)
> Video plays cleanly, though it uses all CPU and does not play smoothly.
Please, also check H264 or whatever previously decoded on hardware (SandyBridge) still does.
Sorry. I should have included that a "standard" 1080p HD video plays fine at about 55% CPU as apposed to 390% without acceleration, so it looks good.
I tested it on my laptop which is a little old.
Like rkoberman it works in software and the video stutters.
Anyway I approve the change since it does not break anything.
A commit references this bug:
Date: Wed Nov 7 22:40:28 UTC 2018
New revision: 484415
multimedia/libva-intel-driver: enable HYBRID by default
Approved by: madpilot (maintainer)
Tested by: Kevin Oberman, madpilot