Grafikkarte für Linux HEVC h.265 Hardware-Decoding

EdwardEnglish

Cadet 4th Year
Registriert
Apr. 2012
Beiträge
116
Hallo,
momentan benutze ich in meinem HTPC für meinen 4k-TV:

Intel Core Pentium G4400
GTX950
MSI H67 Board
Linux Mint Mate 17.3

Ursprünglich habe ich mir die GTX950 eingebaut, weil sie 4k@60hz schafft, außerdem wurde sie damit beworben, dass sie HEVC nativ unterstützen würde und sich ohne Last der Lüfter abschaltet (schön für einen HTPC).
Wie ich feststellen musste unterstützt die Karte nur unter Windows 7/10 das HEVC-Profil @10bit - nicht unter Linux. Ein Wechsel auf Windows ist für mich keine Alternative.

Gibt man den Befehl vdpauinfo ins Terminal ein, werden alle unterstützten Profile der Grafikkarte angezeigt (hier ein Beispiel aus dem Web, sieht bei mir aber genauso aus):

Code:
    display: :0   screen: 0
    API version: 1
    Information string: NVIDIA VDPAU Driver Shared Library  367.27  Thu Jun  9 18:23:31 PDT 2016

    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


Jetzt komme ich zur Beratung:

Ich möchte meinen PC in die Lage versetzen, dass er HEVC 10 Bit Videodateien mit Hardware-Unterstützung unter Linux abspielen kann. Meiner Meinung nach bin ich mit meiner aktuellen Hardware dazu nicht in der Lage; habe treibermäßig alles abgeprüft und keine Lösung gefunden. Wenn ich ein entsprechendes Video schaue, ruckelt es stark weil die CPU zu schwach ist und die Grafikkarte nicht mit hilft.

Welche Hardware empfehlt ihr bzw. hat jemand Erfahrungen mit dem Problem?

- 1050/ti einbauen, unterstützt die unter Linux nativ HEVC 10 bit?
- Prozessor wechseln, Pentium Kaby Lake nachfolger nehmen? Dann müsste ich aber das Board austauschen, weil ich derzeit nur einen HDMI 1.4 Anschluss und keinen DP am Mainboard habe, bin mir unsicher ob die CPU dann treibermäßig das HEVC 10 Bit Profil unterstützt.
- EDIT: Was sagt AMD mit der RX-Serie? Wäre da eine Karte eine Alternative? Ein Argument für Nvidia war für mich auch, dass sie einen guten Linux-Treiber haben


Wie gesagt, offiziell kann meine GTX 950 auch das Profil, nicht aber unter Linux. Insofern wäre mir Hilfe die auf tatsächlichen Linux-Erfahrungen beruht angenehm, da scheinbar nicht alle Funktionen 1zu1 umgesetzt werden.

Andere Vorschläge gern gesehen ;)


Vielen Dank!
 
Gab es da nicht schon Diskussionen? Also im Netz, das diese Funktion überhaupt nur Intel Kabylake können? Ich erinner mich da flüchtig dran, ohne grosse Anung davon zu haben.

Aber nun mal das praktische. Auch eine GTX 1050 TI kann das unter Linux NICHT.

Ich habe das gerade mal mittels vdpauinfo geprüft. Nutze ein Linux Mint 18.1, den 375.26 Treiber von Nvidia und eben eine von dir erwähnte eine GTX 1050 TI.

<<<

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 ---

So sieht das bei mir aus.
 
Alle Polaris-Karten unterstützen HEVC 10Bit. Ich habe hier eine RX470 mit Open Source Treibern unter Arch laufen.

Code:
…
HEVC_MAIN                      186 65536  4096  4096
HEVC_MAIN_10                   186 65536  4096  4096
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---
…
 
Zuletzt bearbeitet: (vdpauinfo Ausgabe gekürzt)
Der TE meint ja explizit Linux, Windows spielt da keine Rolle. Da meinte ich mit Problem diese Netflix Geschichte, eben unter Windows, wo es offiziell soweit mir bekannt nur diese KabyLake können. Nicht, weil sie es als einzige können, sondern weil die unter Windows als einzigste unterstützt werden.

@Limit, das es deine RX 470 kann, ist natürlich prima. Ich habe mal im Netz ein Bild gesehen, wo einer eine RX 460 hatte, die es unter Linux Arch auch bringt, ist wohl der selbe Decoder wie eben bei deiner RX 470.

Aber die komischerweise andere Sachen nicht konnte. Die obige GTX 950 kann ja alles, also ich sage mal oben im Bild des TE Zeile 16-40. Da kann die GTX 950 alles, deine RX 470 sogar noch Zeile 41.

Kann deine RX 470 alles? Also von Zeile 16-41?
Weil im Interenet sah ich eben die RX 460 unter Linux Arch, die auch Zeile 41, also diesen HEVC-Main 10 konnte, aber schon bei anderen Zeilen darunter manches nicht konnte. Was ich sehr merkwürdig fand.
 
Zuletzt bearbeitet:
Da hätte ich doch nicht kürzen sollen, also hier nochmal die komplette Ausgabe der RX470 (dürfte für alle Polaris-Karten gelten)

Die wichtigen Formate sind eigentlich alle dabei, MPEG2 für DVDs / SDTV, AVC Main/High und VC1 für BluRays und HDTV, HEVC Main(10) für UHD-TV/BluRay). Die fehlenden H.264 Sonder-Profile sind mir in freier Wildbahn noch nie untergekommen.

Code:
display: :0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
-------------------------------------------
420    16384 16384  NV12 YV12 
422    16384 16384  UYVY YUYV 
444    16384 16384  Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                          --- not supported ---
MPEG2_SIMPLE                    3 65536  4096  4096
MPEG2_MAIN                      3 65536  4096  4096
H264_BASELINE                  52 65536  4096  4096
H264_MAIN                      52 65536  4096  4096
H264_HIGH                      52 65536  4096  4096
VC1_SIMPLE                      1 65536  4096  4096
VC1_MAIN                        2 65536  4096  4096
VC1_ADVANCED                    4 65536  4096  4096
MPEG4_PART2_SP                  3 65536  4096  4096
MPEG4_PART2_ASP                 5 65536  4096  4096
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE      --- not supported ---
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---
HEVC_MAIN                      186 65536  4096  4096
HEVC_MAIN_10                   186 65536  4096  4096
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
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        48     4096
VIDEO_SURFACE_HEIGHT             y        48     4096
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
 
Zuletzt bearbeitet:
@burki und @Limit:

Danke für eure Berichte. Ich denke ich werde mich entsprechend darum kümmern die GTX 950 durch eine aktuelle Karte von AMD zu ersetzen.

Letzte Frage: kann jemand Infos zu aktuellen Kaby Lake Prozessoren liefern, vielleicht sogar mit vdpauinfo Ausgabe? Wäre zwar mit etwas mehr Aufwand verbunden aber dann könnte ich mir die Grafikkarte grundsätzlich ersparen...
 
Ich habe zwar keinen Kaby Lake, aber laut Phoronix News sollte es gehen. Allerdings nutzt Intel VA-API, nicht VDPAU, aber viele Player unterstützen beide Schnittstellen.
 
Selbst die zur Zeit dickste Mainstream-Graka von NV kann das unter Linux (scheinbar) nicht.

Code:
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 ---

Titan X Pascal unter Kubuntu mit Treiber 367.57

Aber wenn es unter Windows geht, dann kann es ja nur eine Treiberangelegenheit sein.
 
Zuletzt bearbeitet:
@Limit

Bei dir sieht es genauso aus, wie ich bereits im Netz gesehen habe. Also bei der RX 460 von jemandem.
Ich frage mich, warum die RX 470 so deutliche Lücken hat?
Da fehlt ja von Position 28-40 alles. Das sind doch irgendwelche "Lumpenfunktionen", die so eine RX 470 können sollte, oder?
In Hardware kann die doch deutlich mehr, selbst eine deutlich schwächere und ältere GTX 950 macht da alle Punkte voll, ausser eben HEVC -Main10 und höher. Warum kann eine RX 460/ 470 keine dieser "Lumpenfunktionen"?
 
Burki73 schrieb:
Ich frage mich, warum die RX 470 so deutliche Lücken hat?
Da fehlt ja von Position 28-40 alles. Das sind doch irgendwelche "Lumpenfunktionen"
Der Treiber muss mitspielen. Kennst du denn ein Anwendungsbeispiel, was die fehlenden Formate benötigen würde? Was fast keiner mehr brauch, muss man in neue Treiber gar nicht erst einbauen. Der Nvidia-Blob, zu dem oben die Infos zu sehen sind, ist über viele Jahre gewachsen. Die schleppen natürlich alles weiter mit, was irgendwann mal eingebaut wurde.
 
Zuletzt bearbeitet:
Burki73 schrieb:
Ich frage mich, warum die RX 470 so deutliche Lücken hat?
Einige der fehlenden Funktionen wurden zusätzliche Transistoren brauchen, z.B. die Dekodierung verlustfreier AVC Streams. Da das Format aber praktisch nicht genutzt wird, spart man sich diese. Bei den ganzen DivX Profilen geht es vermutlich nur um die Zertifizierung. Der Treiber meldet, dass er MPEG4 ASP kann. Damit müsste auch DivX gehen. Man hat sich einfach nur die Zertifizierung gespart.

Burki73 schrieb:
Da fehlt ja von Position 28-40 alles. Das sind doch irgendwelche "Lumpenfunktionen", die so eine RX 470 können sollte, oder?
Es sind eben wenig genutzte Formate. Man sollte nicht vergessen, dass VDPAU von nVidia entwickelt wird, d.h. die werden in die Liste in erster Linie Formate aufnehmen, die ihre Grafikkarten können, egal ob die jemand braucht oder nicht.
 
Limit schrieb:
Ich habe zwar keinen Kaby Lake, aber laut Phoronix News sollte es gehen. Allerdings nutzt Intel VA-API, nicht VDPAU, aber viele Player unterstützen beide Schnittstellen.

Ja, also bei mir geht es hauptsächlich um Kodi, und das unterstützt meiner Meinung nach in den Optionen beides, also VA-APP und VDPAU.
Soweit ich mich belesen habe liegt das Fehlen der HEVC 10 Bit Unterstützung weder an den Grafikkarten, noch an den Treibern sondern an VDPAU, also der Schnittstelle selbst.
Bin auf dieses veraltete Topic gestoßen, in Beitrag #2 erklärt der Mitarbeiter von NVIDIA wodurch der Fehler auftritt - schon im Juni 2016.

Werde mich bei Phoronix noch mal umsehen ob Kaby Lake wirklich volle Unterstützung liefert, und mich dann entscheiden ob ich zu AMD greife (einfacher Austausch der Grafikkarte) oder doch das ganze System nochmal umkremple mir dann aber die Grafikkarte sparen kann.

Vielen dank für alle Antworten, aus meiner Sicht ist das Thema gelöst.
 
VDPAU unterstützt noch keine 10Bit Ausgabe. Das ist zwar blöd, behindert die Dekodierung von 10Bit Material aber nicht, da die HW-Einheiten Dithering (Umwandung von 10Bit nach 8Bit) unterstützen. Dass das bei den nVidia-Karten nicht funktioniert scheint eine reine Treibersache zu sein. Wenn du also die HDR-Unterstützung nicht sofort brauchst, könntest du auch einfach abwarten und hoffen, dass nVidia diese nachreicht.
 
EdwardEnglish schrieb:
Letzte Frage: kann jemand Infos zu aktuellen Kaby Lake Prozessoren liefern, vielleicht sogar mit vdpauinfo Ausgabe? Wäre zwar mit etwas mehr Aufwand verbunden aber dann könnte ich mir die Grafikkarte grundsätzlich ersparen...
Ich habe einen Pentium G4560 in meinem HTPC/Server, zumindest unter Windows langweilt sich die CPU bei der Wiedergabe von HEVC 10bit.

Hab da ein paar Testvideos ausprobiert.
Das als Beispiel

Code:
Video
ID                          : 1
Format                      : HEVC
Format/Info                 : High Efficiency Video Coding
Format profile              : Main 10@L5.1@High
Codec ID                    : hvc1
Codec ID/Info               : High Efficiency Video Coding
Duration                    : 2 min 7 s
Bit rate                    : 75.6 Mb/s
Maximum bit rate            : 123 Mb/s
Width                       : 3 840 pixels
Height                      : 2 160 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Constant
Frame rate                  : 59.940 (60000/1001) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0 (Type 2)
Bit depth                   : 10 bits
Bits/(Pixel*Frame)          : 0.152
Stream size                 : 1.12 GiB (100%)
Encoded date                : UTC 2016-02-03 07:59:49
Tagged date                 : UTC 2016-02-03 08:01:32
Color range                 : Limited
Color primaries             : BT.2020
Transfer characteristics    : SMPTE ST 2084
Matrix coefficients         : BT.2020 non-constant
Mastering display color pri : R: x=1.000000 y=1.000000, G: x=1.000000 y=1.000000, B: x=1.000000 y=1.000000, White point: x=1.000000 y=1.000000
Mastering display luminance : min: 0.1000 cd/m2, max: 0.5000 cd/m2

Audio
ID                          : 2
Format                      : AAC
Format/Info                 : Advanced Audio Codec
Format profile              : LC
Codec ID                    : 40
Duration                    : 2 min 7 s
Source duration             : 2 min 7 s
Bit rate mode               : Variable
Bit rate                    : 192 kb/s
Maximum bit rate            : 197 kb/s
Channel(s)                  : 2 channels
Channel positions           : Front: L R
Sampling rate               : 48.0 kHz
Frame rate                  : 46.875 FPS (1024 spf)
Compression mode            : Lossy
Stream size                 : 2.91 MiB (0%)
Source stream size          : 2.91 MiB (0%)
Language                    : English
Encoded date                : UTC 2016-02-03 07:59:49
Tagged date                 : UTC 2016-02-03 08:01:32
 
@wupi:

Danke für Deine Rückmeldung. Hast du nicht Lust eine Linux distro, vielleicht Linux Mint egal welche Version (weil es am einfachsten ist) testweise draudzuhauen und dein Ergebnis von vdpauinfo zu Posten? :)
Wie gesagt unter Windows müsste das auch meine GTX 950 schon schaffen
 
Ich schau morgen evtl. mal nach, hab momentan nicht so viel Zeit.

Hab mal kurz Kodi ausprobiert...

4k h264 60fps hohe bitrate, geht ohne ruckeln, CPU langweilt sich
4k h265 mit grafikfehler, hab leider nur ein Video zum testen
4k h265 HDR kannst du vergessen

Keine Ahnung ob das mit den selbst kompilierten Treibern besser wird, bei 01.org könnte man mal schauen.
Ergänzung ()

Code:
display: :0.0   screen: 0
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
API version: 1
Information string: OpenGL/VAAPI/libswscale backend for VDPAU

Video surface:

name   width height types
-------------------------------------------
420     1920  1080  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
422     1920  1080  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 
444     1920  1080  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                          --- not supported ---
MPEG2_SIMPLE                   --- not supported ---
MPEG2_MAIN                     --- not supported ---
H264_BASELINE                  51 16384  2048  2048
H264_MAIN                      51 16384  2048  2048
H264_HIGH                      51 16384  2048  2048
VC1_SIMPLE                     --- not supported ---
VC1_MAIN                       --- not supported ---
VC1_ADVANCED                   --- not supported ---
MPEG4_PART2_SP                 --- not supported ---
MPEG4_PART2_ASP                --- not supported ---
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE      51 16384  2048  2048
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---
HEVC_MAIN                      --- not supported ---
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          8192  8192    y  
R8G8B8A8          8192  8192    y  
R10G10B10A2       8192  8192    y  
B10G10R10A2       8192  8192    y  
A8                8192  8192    y  

Bitmap surface:

name              width height
------------------------------
B8G8R8A8          8192  8192
R8G8B8A8          8192  8192
R10G10B10A2       8192  8192
B10G10R10A2       8192  8192
A8                8192  8192

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             -
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  -
SHARPNESS                        -
LUMA_KEY                         -
HIGH QUALITY SCALING - L1        -
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              -  
VIDEO_SURFACE_HEIGHT             -  
CHROMA_TYPE                      -  
LAYERS                           -  

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 -  
CSC_MATRIX                       -  
NOISE_REDUCTION_LEVEL            -  
SHARPNESS_LEVEL                  -  
LUMA_KEY_MIN_LUMA                -  
LUMA_KEY_MAX_LUMA                -
 
Zuletzt bearbeitet:
Ich habe nochmal nachgeschaut, Kaby Lake kann per VA-API HEVC Main10 sowohl dekodieren als auch enkodieren. (Quelle: https://wiki.libav.org/Hardware/vaapi)

@wupi
Hast du vdpauinfo oder vainfo benutzt? Falls du ersteres genutzt hast, wäre es schön, wenn du zweiteren auch nochmal laufen lassen würdest. VA-API ist nämlich die native API für die Intel-Treiber und VDPAU liefe dann nur über einen Wrapper, der evtl. einfach noch kein HEVC unterstützt. Trotzdem könnte man dann HEVC Main10 dann über die VA-API direkt dekodieren. Für Abspieltests würde ich auch mal mpv testen, die haben eine gute VA-API Unterstützung.
 
Hab mal mpv getestet, da funktioniert die Beschleunigung nicht, auch nicht für h264.

vainfo

Code:
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Kabylake - 1.7.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :    VAEntrypointVLD
      VAProfileMPEG2Simple            :    VAEntrypointEncSlice
      VAProfileMPEG2Main              :    VAEntrypointVLD
      VAProfileMPEG2Main              :    VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:    VAEntrypointEncSlice
      VAProfileH264Main               :    VAEntrypointVLD
      VAProfileH264Main               :    VAEntrypointEncSlice
      VAProfileH264High               :    VAEntrypointVLD
      VAProfileH264High               :    VAEntrypointEncSlice
      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
      VAProfileVP9Profile2            :    VAEntrypointVLD
 
Zuletzt bearbeitet:
Was bedeutet die Antwort von wupi?

Ich kann das Ergebnis der vainfo nicht deuten. Es werden zwar die Profile aufgeführt, aber werden sie nun unterstützt oder nicht?!

@topic:
In meinem verlinkten Beitrag zum Nvidia-Forum steht, dass VDPAU keine 10Bit Adressierung erlaubt. Demnach wird auch Kaby-Lake, sollte es VDPAU nutzen, nicht in der Lage sein HEVC zu dekodieren, obwohl er es hardwareseitig ja kann (genau wie meine GTX950 es von den Hardware-Specs ja unterstützt)!


@wupi: Kannst es ja auch mal mit Kodi probieren. In den Einstellungen (auf Expertenansicht umstellen damit alle Optionen angezeigt werden!) kann man Kodi zwingen, dass er VDPAU ignorieren und VA-API nutzen soll. Kodi hat auf meinem System immer die beste Kompatibilität :)
-> läuft es dann flüssig?
 
Zurück
Oben