Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Intel i965 10bit HEVC Hardwarebeschleunigung VLC/MPV VAAPI
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
andi_s
Apprentice
Apprentice


Joined: 10 Feb 2005
Posts: 226
Location: Germany

PostPosted: Sun Apr 16, 2017 9:27 am    Post subject: Intel i965 10bit HEVC Hardwarebeschleunigung VLC/MPV VAAPI Reply with quote

Hallo,

nach vielen Stunden und vergeblichen Versuchen 10bit HEVC Hardware-Decoding (wird natürlich von der GPU unterstützt) unter dem Intel i965 Treiber zum Laufen zu bekommen hier eine kurze Zusammenfassung:

- alle zugehörigen Pakete sind auf ~amd64 (mesa libav libva-intel-driver usw.)
- globale USE=vaapi vdpau opengl egl usw.
- kernel 4.10.10

- vaainfo: OK
Code:

VAProfileHEVCMain               :   VAEntrypointVLD
VAProfileHEVCMain               :   VAEntrypointEncSlice
VAProfileHEVCMain10             :   VAEntrypointVLD
VAProfileVP9Profile0            :   VAEntrypointVLD


- vdpauinfo: listet HEVC/h.265 nicht als supported - wäre aber ohnehin keine ideale Lösung
(libvdpau-va-gl-0.4.2 aus einem Overlay ist installiert)

1) vlc-3.x (git)
Hardwarebeschleunigung (VAAPI) funktioniert mit h.264 aber nicht mit HEVC

2) media-video/mpv-0.24.0 fällt bei 10bit HEVC VAAPI immer auf software-decoding zurück
Code:
[   0.127][v][vd] Pixel formats supported by decoder: yuv420p10le
[   0.127][v][vd] Codec profile: Main 10 (0x2)
[   0.154][v][vd] Falling back to software decoding.


3) unter avidemux (git) funktioniert die VAAPI HEVC-10bit Hardwarebeschleunigung!

Ich frage mich nun warum es mit avidemux funktioniert und mit den Videoplayern nicht.

Hat es hier Jemand geschafft 10bit HEVC Hardware-Decoding unter VLC oder MPV mit einer Intel-GPU und dem Intel i965 Treiber zum Laufen zu bekommen und wenn ja wie???
Back to top
View user's profile Send private message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 956
Location: Germany

PostPosted: Wed Apr 19, 2017 6:07 pm    Post subject: Reply with quote

Hi andi_s,

ich habe mich jetzt damit auch mal beschäftigt.
Vielleicht hilft es Dir ja weiter.

Ich habe diese beiden USE FLAGS "vaapi vdpau" aktiviert.
MESA VLC und noch mehr neu übersetzt, damit die USE FLAGS aktiviert sind in den Programmen.

vainfo git mir jetzt diese Meldung:
Quote:
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) Broadwell - 1.7.3
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
VAProfileVP8Version0_3 : VAEntrypointVLD


vdpauinfo:
Quote:

display: :0.0 screen: 0
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1

Warum VDPAU jetzt nicht funktioniert habe ich noch nicht verstanden.
Ich habe einen Intel Grafikkarte und eine zweite Nvidia Geforce 840M ist im Laptop und betreibe die beiden über optirun.

Wie hast du den vdpauinfo installiert bekommen? Ich habe bis jetzt alle Programme aus dem aktuellen Portage genommen.

Gruss Jörg


Last edited by JoHo42 on Sun Apr 23, 2017 4:29 pm; edited 1 time in total
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Wed Apr 19, 2017 7:42 pm    Post subject: Reply with quote

JoHo42 wrote:
Warum VDPAU jetzt nicht funktioniert habe ich noch nicht verstanden.
Ich habe einen Intel Grafikkarte und eine zweite Nvidia Geforce 840M ist im Laptop und betreibe die beiden über optirun.


Auf meinem Laptop benutze ich noch Bumblebee, da ich nicht die volle Nvidia-Performance benötige, dafür aber gern auf den X-Server-Restart verzichte, wenn ich mal 'ne 3D-Anwendung brauch. Bei Bumblebee geht vdpau definitiv nicht.

Beim offiziellen Optimus-Treiber weiß ich es nicht. Aber ich hab nie irgendwo was davon gelesen, dass vdpau inzwischen unterstützt werden soll. Für die Videodecodierung war in Optimus-Geräten immer die Intel vorgesehen.

Also im Grunde genommen kannst du vdpau von Deinem Rechner runterschmeißen.
Back to top
View user's profile Send private message
andi_s
Apprentice
Apprentice


Joined: 10 Feb 2005
Posts: 226
Location: Germany

PostPosted: Thu Apr 20, 2017 5:06 pm    Post subject: Reply with quote

Ich bin etwas weiter als Du (habe natürlich auch alle USE-Flags aktiviert und alles neu gebaut - du brauchst auch opengl egl und evtl. die ganzen gles* useflags)

Im Gegensatz zu meiner vainfo zeigt Deine vainfo die für HEVC (nur die machen unter VLC/MPV Probleme) entscheidenen Profile nicht an:

Quote:

vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) Broxton - 1.8.1
...
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
....


VAEntrypointVLD bedeutet die GPU kann den codec dekodieren
VAEntrypointEncSlice bedeute die GPU kann den codec kodieren

Du solltest auf jeden Fall auch den neusten x11-libs/libva-intel-driver-1.8.1 nutzen!

Für Intel-Grafikkarten benötigt man aber eigentlich VDPAU auch gar nicht (libvdpau_va_gl ist nur ein Wrapper)

Die fehlende lib libvdpau_va_gl.so liegt im rindeal overlay (libvdpau-va-gl-0.4.2).
Ist die installiert bekommt man auch bei vdpauinfo eine Ausgabe.

Allerdings sieht das bei mir dann so aus
Quote:

...
HEVC_MAIN --- not supported ---
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
...


Obwohl vainfo zeigt das HEVC Profile vorhanden sind, also der Wrapper hilft hier leider nicht.
Ich stimme Dir voll zu vdpau kann man vergessen, weil eigentlich nur für nvidia, aber ich hatte den wrapper eben getestet und daher der Vollständigkeit halber erwäht.

Wie weiter oben beschrieben funktioniert unter avidemux(aus dem git!) ja auch das HEVC-Hardware-Decoding!

VAAPI-HEVC-Hardware-Decoding funktioniert also bei mir im Prinzip schon, aber eben nicht bei den Videoplayern VLC(neuste 3.x aus dem git)+MPV(0.24.00) und das ist ziemlich ärgerlich :roll:
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5186

PostPosted: Thu Apr 20, 2017 6:44 pm    Post subject: Reply with quote

Hast du mal geschaut ob VLC/MPV wirklich va-api verwenden und nicht vdpau?
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
andi_s
Apprentice
Apprentice


Joined: 10 Feb 2005
Posts: 226
Location: Germany

PostPosted: Fri Apr 21, 2017 9:36 am    Post subject: Reply with quote

ja, habe ich - siehe mein erstes Posting 1) und 2)

Ausserdem habe ich sämtliche Einstellungs-Kombinationen der Player durchgetestet also
Hardwarebeschleunigung: automatisch/erzwingen, Video-Output automatisch,x11,xv,opengl,...

Der VLC scheint es grundsätzlich immer zuerst mit VDPAU zu versuchen, allerdings funktioniert VAAPI dann z.B. bei h.264 trotzdem, weil er dann automatisch VAAPI nutzt.
(VDPAU testet er laut debuglog selbst dann, wenn man in den Einstellungen fest VAAPI einstellt...)

media-video/mpv-0.24.0 erkennt ja scheinbar auch das 10bit HEVC VAAPI unterstützt wird, fällt aber trotzdem immer auf Software-decoding zurück, d.h. mpv kann den Hardware-Decoder aus irgendeinem Grund nicht nutzen. (mit 8bit HEVC-Videomaterial funktioniert es auch nicht).

Code:

[   0.127][v][vd] Pixel formats supported by decoder: yuv420p10le
[   0.127][v][vd] Codec profile: Main 10 (0x2)
[   0.154][v][vd] Falling back to software decoding.


Also alle Probleme die ich habe beziehen sich ausschliesslich auf HEVC-VAAPI-Hardware-Decoding.
Back to top
View user's profile Send private message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 956
Location: Germany

PostPosted: Sun Apr 23, 2017 4:28 pm    Post subject: Reply with quote

Hi,

da kann ich nicht wirklich bei helfen.
Ich habe kein HEVC.

In der Ausgabe von vainfo ist es nicht drin.
Wenn ich vdpauinfo mit optirun ausführe, sehe ich da hier:

Quote:

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


Den VLC habe ich jetzt auf VA-API über DRM Video Decoder eingestellt.
Das scheint die CPU am wenigsten zu belasten. Ist aber nur gefühlt ich weiß nicht wie ich das wirklich messen kann.

Gruss Jörg
Back to top
View user's profile Send private message
andi_s
Apprentice
Apprentice


Joined: 10 Feb 2005
Posts: 226
Location: Germany

PostPosted: Sun Apr 23, 2017 9:34 pm    Post subject: Reply with quote

du kannst das z.B. mit htop messen, d.h. dir damit die cpu-auslastung ansehen.

ausserdem kannst du dir die log-dateien ansehen.

in VLC z.B. so: tools->messages und da verbosity auf 2(debug) stellen. dann das video kurz starten und anhalten. danach siehst du in den messages ob hardware-decoding vaapi/vdpau genutzt wird.
in deinem fall solltest du zum testen ein HD h.264 video nehmen, da deine gpu das dekodieren kann. da solltest du schon deutliche unterschiede bei der cpu-auslastung sehen.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum