HEVC (H.265) support on Linux (VDPAU)

I was considering to buy an ASUS Eeebox EB1037, which is equiped with a GeForce GT 820M.

I need to know if that graphics card supports hardware processing of H.265 (HEVC) on Linux through VDPAU. I want to use it with Kodi media center.

Where can I find a list of cards that support H.265?


It’s just the 960 at this point I believe. They didn’t add that capability to the 980 Ti or the Titan X even though those were released after the 960.

Honestly, though, GPU video decoding is usually a very minor performance boost (in terms of taking pressure off the CPU) if you aren’t on an ARM platform. It shouldn’t be a deal-breaker.

I recently bought a GTX 960 in hope of getting hw accelerated decoding of HEVC but it looks like this is not fully done yet for Linux.
It looks like ffmpeg developers are working on this but are blocked by some issue in the driver atm.
I also tried https://github.com/NVIDIA/vdpau-hevc-example, I could only get it to work with a few of the samples on http://fate-suite.ffmpeg.org/hevc-conformance/ .

Thank you for this info.

It seems that ffmpeg already supports it, with libx265: https://trac.ffmpeg.org/wiki/Encode/H.265

VDPAU 1.1 seems to support HEVC as well: http://www.phoronix.com/scan.php?page=news_item&px=VDPAU-Library-1.1-Released

I believe that would make it work with a graphics card that supports it, if the driver is ready, of course.

Systems that use low power CPUs, like ATOM or Celeron processors, simply cannot handle H.265 in anything closer to Full HD.

libx265 is a software encoder (it creates hevc video, it doesn’t decode it), it has no connection to VDPAU or any kind of hardware codecs.

What you’re looking for is hwaccels in ffmpeg, and the git version does have a hevc_vdpau hwaccel. The git version of mpv can use it. But you need appropriate hardware, and right now the only such hardware is the Geforce 960.

Atoms and Celerons are Intel, they use VAAPI, not VDPAU. There’s currently no hevc_vaapi in ffmpeg, so it’s not possible yet to decode hevc in hardware on Intel machines.

For now, the only hardware that has this decoder support is the GTX 960. It’s likely that upcoming mid-range cards will support it too (950 and 950Ti have been leaked). It is normal practice for nvidia to refresh the video decoder block ‘mid-cycle’ - it shows up in the mid range versions of a given chip family, with the early high-end parts keeping the previous generation decoder block.

I implemented support for VDPAU HEVC in ffmpeg last month, but it’s currently useless due to a driver bug which means that decoded frames are messed up. This has been fixed internally by nvidia but it’ll be a while before a new driver release shows up with the fix in it.

In terms of when support will show up in Kodi? Well, first the updated driver needs to ship, then we remove the experimental flag from the ffmpeg code, then an official ffmpeg release needs to go out for Kodi to target, then Kodi may need some explicit code to use the hevc decoder, but it might not - depends on how it’s written. If explicit support is required, it may show up in a 15.x release, or may be left until 16.0. I actually think it’s likely to be 16.0 because the ffmpeg release will be 2.8 and I think Kodi will stick to targetting 2.7.x for the 15.x lifetime.