Assuming "video.mkv" is a video file with a H.264 encoded video stream.
For this report: to play this file using mpv and hardware decoding
using VAAPI, I use the following command:
$ mpv -v --hwdec=vaapi video.mp4
On mesa-va-drivers version 21.2.1-1 (current on sid), mpv fails to use
the hardware decoding and falls back software decoding. Log is attached.
On mesa-va-drivers version 21.2.0-1 (current on experimental), mpv can
use hardware decoding. Log is attached.
You can check whether mpv uses hwdec or not by searching for the lines:
- [cplayer] VO: [gpu] 1920x1080 yuv420p
- [cplayer] VO: [gpu] 1920x1080 vaapi[nv12]
"vaapi[nv12]" hints that VAAPI / hwdec is being used while "yuv420p"
hints that ffmpeg's software decoder is being used. mpv does show this
info even without enabling verbose mode ("-v").
Most important seems to be following line that mpv issues when it fails:
[vo/gpu/vaapi-egl/vaapi] libva: /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so has no function __vaDriverInit_1_0
I use multi-arch with amd64 and i386 architectures and I upgraded &
downgraded the package simultaneously for both architectures.
The info below is from version 21.2.1-1.