Время от времени возникают вопросы об ускорении vaapi в mpv. Особенно не на intel карточках. Так вот, лёд тронулся. Почитать можно в этом треде https://github.com/mpv-player/mpv/issues/5711
Вкратце - в Мезу добавили всё что надо, ну и MPV с libva свежие нужны.
Проверял на обычном h264
Наконец-то оно заработало так же эффективно как 100 лет работает vdpau. Ну почти... там есть вопросы например по деинтерлейсу...
Полезно, если AMD дропнут поддержку vdpau.
По идее должно быть достаточно (при пустом config'е)
mpv --hwdec=vaapi <файло>
Однако мне пришлось так.
mpv --gpu-context=x11egl --hwdec=vaapi <файло>
Судя по логу оно и так пытается загрузить vaapi-egl, но без этой опции фейлится.
Mesa из Padoka, mpv 28 из PPA указанного на их оф. сайте. Остальное (ядро, libva, ffmpeg) - дефолт из Ubuntu 18.04 Правда, с дефолтным ядром возможно есть какая-то нештабильность, хотя может это частная проблема. Короче всё ещё YMMV но прогресс на лицо.
$ vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Mesa Gallium driver 18.2.0-devel - padoka PPA for AMD CAPE VERDE (DRM 2.50.0, 4.15.0-22-generic, LLVM 7.0.0)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileNone : VAEntrypointVideoProc