Author Topic: Linux Intel Quicksync QSV  (Read 350 times)

kristatos

  • Newbie
  • *
  • Posts: 1
Linux Intel Quicksync QSV
« on: January 29, 2020, 10:08:57 AM »
Ich bin echt begeistert, dass endlich auch das Hardware-Encoding mittles Intel Quicksync unter Linux funktioniert. ;D

Ich hatte anfangs das Problem, dass unkodiertes DV-Material (576p) funktionierte (>500 fps Encoding-Geschwindigkeit auf meinem Dualcore i3 7300),
aber sobald das Quellvideo kodiert in h264 (720p, 1080p) oder dergleichen vorlag ging es nicht.

Abhilfe:
In den Einstellungen die standardmäßige (?) Aktivierung der Hardware-Beschleunigung "Video mittels LibVA dekodieren (Intel)" muss deaktiviert werden,
gleichzeitig Hardware En- und Dekodieren funktioniert wohl nicht. Ist aber nicht schlimm.

Ich finde in der nächsten Version von Avidemux sollte das automatisch bei QSV deaktiviert werden. Weiter gibt es noch einen Bug, nachdem die Einstellung mit
dem LibVA dekodieren ein- oder ausgeschaltet wird, stürzt Avidemux ab sobald das Video gespeichert bzw. das Rendern gestartet wird. Nach einem Neustart
geht es wieder.

Ich habe die Version 2.7.4 unter Ubuntu 19.10 im Einsatz.
« Last Edit: January 29, 2020, 10:28:03 AM by kristatos »

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 3944
Re: Linux Intel Quicksync QSV
« Reply #1 on: January 30, 2020, 07:42:40 AM »
Danke für den Bericht, mit dem aktuellen Avidemux vom Git master und auf meiner Test-Hardware (i3-6100U) klappt das gleichzeitige De- und Encodieren mittels libva einwandfrei, wenn der "Intel AVC HW (VA)" Encoder benutzt wird. Die libavcodec-basierten "Intel H264" und "Intel HEVC" Encoder sind komplett kaputt, da sie für FFmpeg 4.2.2 noch auf die neue API migriert werden müssen.

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 3944
Re: Linux Intel Quicksync QSV
« Reply #2 on: January 31, 2020, 10:49:12 PM »
Avidemux nutzt jetzt die neue avcodec_send_frame / avcodec_receive_packet API (Commits 1, 2 und 3), "Intel H264" und "Intel HEVC" Encoder funktionieren dadurch wieder, auf meiner Hardware auch gleichzeitig zum Dekodieren in Hardware. Bitte Avidemux von git master kompilieren und melden, ob das Problem damit trotzdem besteht. *

Was den Absturz nach dem Deaktivieren der HW-beschleunigten Dekodierung betrifft, muss das Video anschließend zwingend geschlossen und neu geladen werden, da wir den Dekoder nicht on-the-fly austauschen können.

1: [coreVideoEncoderFFmpeg] Switch to the new API
2: [videoEncoder/ffVaH264] Use encodeWrapper from the base class
3: [videoEncoder/ffVaHEVC] Use encodeWrapper from the base class.

*) Bitte mit dem Kompilieren warten, das erste Commit hat höchstwahrscheinlich einen großen Speicherleck zur Folge. Dies muss ich erst noch korrigieren.
« Last Edit: February 01, 2020, 08:14:20 AM by eumagga0x2a »

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 3944
Re: Linux Intel Quicksync QSV
« Reply #3 on: February 01, 2020, 05:38:37 PM »
Das Speicherleck ist gefixt, jetzt darf getestet werden.