However, although h264 4K videos play smoothly with very little CPU utilization, h265 4K videos stutter with high CPU utilization (~50% of a quad core i5).
I’m using smplayer frontend to mpv, and video decoder is set to vdpau. All other options are the old ones (xv, opengl, etc) except for a wayland entry. None mentions HEVC/h265.
Any suggestions on how to decode h265 by hardware?
Obs: I see there’s a new (for me) G05 driver package, and the G04 I’m using actually show a downgrade to version 290.87-7.1 in yast software manager.
what does vdpauinfo say about your GFX
it’s not just the compression format it’s the level used in the file for example level 4.2 might be supported but your file might use level 4.3 etc or it could be a driver issue
so try running both vdpauinfo to see what your gpu can do and mediainfo to see what the file is
vdpauinfo
mediainfo /path/to/file
edit
afaik libva-vdpau-driver is the vdpau backend for VA-api if you’re on nvidia you should prefer vdpau or cude
if that’s an optimus rig you could be using the intel driver make sure you’re using nvida with optirun I don’t have an optimus so I might be wrong about that as I don’t have an optimus
:~> vdpauinfo
display: :0 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 390.87 Tue Aug 21 16:15:12 PDT 2018
Video surface:
name width height types
-------------------------------------------
420 8192 8192 NV12 YV12
422 8192 8192 UYVY YUYV
Decoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 0 65536 4096 4096
MPEG2_SIMPLE 3 65536 4096 4096
MPEG2_MAIN 3 65536 4096 4096
H264_BASELINE 41 65536 4096 4096
H264_MAIN 41 65536 4096 4096
H264_HIGH 41 65536 4096 4096
VC1_SIMPLE 1 8190 2048 2048
VC1_MAIN 2 8190 2048 2048
VC1_ADVANCED 4 8190 2048 2048
MPEG4_PART2_SP 3 8192 2048 2048
MPEG4_PART2_ASP 5 8192 2048 2048
DIVX4_QMOBILE 0 8192 2048 2048
DIVX4_MOBILE 0 8192 2048 2048
DIVX4_HOME_THEATER 0 8192 2048 2048
DIVX4_HD_1080P 0 8192 2048 2048
DIVX5_QMOBILE 0 8192 2048 2048
DIVX5_MOBILE 0 8192 2048 2048
DIVX5_HOME_THEATER 0 8192 2048 2048
DIVX5_HD_1080P 0 8192 2048 2048
H264_CONSTRAINED_BASELINE 41 65536 4096 4096
H264_EXTENDED 41 65536 4096 4096
H264_PROGRESSIVE_HIGH 41 65536 4096 4096
H264_CONSTRAINED_HIGH 41 65536 4096 4096
H264_HIGH_444_PREDICTIVE 41 65536 4096 4096
**HEVC_MAIN 153** 262144 8192 8192
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
Output surface:
name width height nat types
----------------------------------------------------
B8G8R8A8 32768 32768 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 32768 32768 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
Bitmap surface:
name width height
------------------------------
B8G8R8A8 32768 32768
R8G8B8A8 32768 32768
R10G10B10A2 32768 32768
B10G10R10A2 32768 32768
A8 32768 32768
Video mixer:
feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL y
INVERSE_TELECINE y
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY y
HIGH QUALITY SCALING - L1 y
HIGH QUALITY SCALING - L2 -
HIGH QUALITY SCALING - L3 -
HIGH QUALITY SCALING - L4 -
HIGH QUALITY SCALING - L5 -
HIGH QUALITY SCALING - L6 -
HIGH QUALITY SCALING - L7 -
HIGH QUALITY SCALING - L8 -
HIGH QUALITY SCALING - L9 -
parameter name sup min max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH y 1 8192
VIDEO_SURFACE_HEIGHT y 1 8192
CHROMA_TYPE y
LAYERS y 0 4
attribute name sup min max
-----------------------------------------------------
BACKGROUND_COLOR y
CSC_MATRIX y
NOISE_REDUCTION_LEVEL y 0.00 1.00
SHARPNESS_LEVEL y -1.00 1.00
LUMA_KEY_MIN_LUMA y
LUMA_KEY_MAX_LUMA y
:~> mediainfo sample-Elysium.2013.2160p.mkv
General
Unique ID : 244804084757816204855115167798920787201 (0xB82B8D3E762DB6C2B03DD5426EB8B501)
Complete name : sample-Elysium.2013.2160p.mkv
Format : Matroska
Format version : Version 4 / Version 2
File size : 401 MiB
Duration : 1 min 2 s
Overall bit rate : 53.6 Mb/s
Movie name : Elysium (2013)
Encoded date : UTC 2016-01-05 22:30:41
Writing application : mkvmerge v8.7.0 ('All of the above') 64bit
Writing library : libebml v1.3.3 + libmatroska v1.4.4
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1 min 2 s
Bit rate : 51.0 Mb/s
Width : 3 840 pixels
Height : 1 608 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Bits/(Pixel*Frame) : 0.345
Stream size : 381 MiB (95%)
Title : Elysium (2013) - Release for ULTRAHDCLUB
Language : English
Default : Yes
Forced : No
Audio
ID : 2
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Mode : 16
Format settings, Endianness : Big
Codec ID : A_DTS
Duration : 1 min 2 s
Bit rate mode : Variable / Constant
Bit rate : 2 707 kb/s / 1 509 kb/s
Channel(s) : 8 channels / 6 channels
Channel positions : Front: L C R, Side: L R, Back: L R, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 93.750 FPS (512 spf)
Bit depth : 16 bits
Compression mode : Lossless / Lossy
Delay relative to video : 169 ms
Stream size : 20.2 MiB (5%)
Title : DTS-HD MA 7.1 - Blu-ray CEE
Language : English
Default : Yes
Forced : No
Menu
00:00:00.000 : en:00:00:00.000
your GPU does not support Main 10 so decoding is done in software by the cpu aside from re-encoding the video to a lover 8 bit level (and loosing a lot of detail) there is nothing you can do as you can see from vdpauingo
your GPU only supports HEVC MAIN
**HEVC_MAIN 153** 262144 8192 8192
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---