v17 Kodi doesn't play HEVC/H.265 video files with VAAPI
#1
I'm trying to get HEVC running with VAAPI on my Arch box, but according to the debug log, Kodi doesn't even think of trying to open HEVC encoded video with a VAAPI decoder. It only does so for H.264 videos. I have verified this with various files.

This leads to high bandwidth and/or high resolution HEVC playing very choppy and stuttery.

I have enabled all VAAPI options in the settings menu:

Code:
userdata/guisettings.xml:        <prefervaapirender default="true">true</prefervaapirender>
userdata/guisettings.xml:        <usevaapi default="true">true</usevaapi>
userdata/guisettings.xml:        <usevaapimpeg2 default="true">true</usevaapimpeg2>
userdata/guisettings.xml:        <usevaapimpeg4 default="true">true</usevaapimpeg4>
userdata/guisettings.xml:        <usevaapivc1 default="true">true</usevaapivc1>

Relevant packages I have installed:

Code:
community/kodi 17.5-6 [installed]
community/kodi-dev 17.5-6 [installed]
community/kodi-platform 20170306.36fb493-1 [installed]
community/p8-platform 2.1.0.1-1 [installed]
aur/kodi-addon-pvr-hts 3.4.28-1 (14, 0.98) [installed]
aur/kodi-standalone-service 1.93-1 (51, 0.53) [installed]
aur/kodi-addon-hts-pvrmanager 1.0.7-1 (2, 0.07) [installed]
aur/kodi-addon-repo-installer 1.0.5-5 (4, 0.00) [installed]
extra/glu 9.0.0-4 [installed]
extra/libtxc_dxtn 1.0.1-6 [installed]
extra/mesa 17.2.5-1 [installed]
extra/mesa-demos 8.3.0-4 [installed]
extra/mesa-vdpau 17.2.5-1 [installed]
extra/libva 2.0.0-2 [installed]
extra/libva-intel-driver 2.0.0-2 [installed]
extra/libva-mesa-driver 17.2.5-1 [installed]
extra/libva-vdpau-driver 0.7.4-3 [installed]
community/libva-utils 2.0.0-1 [installed]

vainfo says:

Code:
libva info: VA-API version 1.0.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.0 (libva 2.0.0)
vainfo: Driver version: Intel i965 driver for Intel® Broxton - 2.0.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD

So there are definitely two HEVC decoding entrypoints. It's a Pentium J4205 with it's default graphics unit, that is supposed to decode HEVC.

Decoding HEVC videos with VAAPI with ffmpeg on the commandline seems to work.

A debug log of a HEVC file not being tried with VAAPI is here: https://pastebin.com/nNdSTANT (I hope I'm not leaking any passwords)
In fact, there isn't a single mention of VAAPI anywhere in that log, which leads me to believe that Kodi is entirely unaware that VAAPI decoded HEVC is a thing.

What am I doing wrong?
Reply
#2
The forum moderators have determined that banned addons (wiki) are present on your system. To receive assistance here, these banned items must be removed. If a clean log is not submitted within 3 days, then the relevant post(s) will be removed after this time.
Reply
#3
Interesting policy. I have replaced the log at the original link: https://pastebin.com/nNdSTANT
Reply
#4
make sure kodi was compiled with vaapi support(after libva was upgraded to 2.0) and that you don't run on wayland. In case of wayland, you need kodi v18 (git master)
Reply
#5
If Kodi was built without VAAPI support I wouldn't get any acceleration at all, right? But I do get accelerated playback for H.264, it's just H.265 that isn't being accelerated.

I am using Xorg, so that shouldn't be the problem.

In any case, I don't know which libva version Kodi was compiled with, should I get in touch with the package maintainers?
Reply
#6
there is zero mention of vaapi working in your log. If h264 works, provide a log playing one h264 file and one h265
Reply
#7
HEVC-10 bit needs Kodi v18 - v17 only has hevc-8 bit support. Additionally: Mesa 17.1 or later.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply

Logout Mark Read Team Forum Stats Members Help
Kodi doesn't play HEVC/H.265 video files with VAAPI0