Posts by zork

    Was bekommst Du denn bei diesem Aufruf:

    mpv -v --no-config --vo=vaapi --hwdec=vaapi <file>

    Ich habe hier das Problem, kein OSD erkannt wird. Und softhddevice meldet Folgendes:

    Code
    OSD size changed to 1920x1080 @ 1
    video/vaapi: can't find a supported subpicture format
    video/vaapi: no osd subpicture yet

    Usw. Wie gesagt, mehrere softhd* Plugins probiert. Und ein produktives System mit funktionierenden vaapi/subpicture habe ich ja auch.

    Hi,

    ich wollte softhdcuvid auf einem aktuellen Intel-System aufsetzen, das nicht mehr vom i965 unterstützt wird. Soweit auch alles gut:

    Code
    # vainfo
    libva info: VA-API version 1.13.0
    libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
    libva info: Found init function __vaDriverInit_1_13
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.13 (libva 2.13.0)
    vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.3.4 ()
    [...]

    Aber: Probleme mit dem OSD, die beim i965 vaapi driver nicht existieren, nachweisbar z.B. mit mpv:

    Code
    LIBVA_DRIVER_NAME=iHD mpv -v --no-config --vo=vaapi --hwdec=vaapi <file>
    [...]
    [vo/vaapi/vaapi] Initialized VAAPI: version 1.13
    [vo/vaapi] 0 subpicture formats available:
    [vo/vaapi] OSD format not supported. Disabling OSD.
    [...]

    OK, kein OSD. Beim i965 auf einem anderen System sieht das noch so aus:

    Code
    [vo/vaapi/vaapi] Initialized VAAPI: version 1.11
    [vo/vaapi] 6 subpicture formats available:
    [vo/vaapi]   AI44, flags 0x6
    [vo/vaapi]   IA44, flags 0x6
    [vo/vaapi]   IA88, flags 0x6
    [vo/vaapi]   AI88, flags 0x6
    [vo/vaapi]   BGRA, flags 0x6
    [vo/vaapi]   RGBA, flags 0x6

    Das betrifft jetzt auch alle Generationen von softhd* Plugins! Dort geht nämlich jetzt kein subpicture mehr, ergo kein OSD! Intel weiß über das Thema auch Bescheid, ist als Feature Request deklariert: https://www.vdr-portal.de

    Einzige Lösung, die ich aktuell gefunden habe, ist die Benutzung von libplacebo (softhdvaapi oder softhddrm). Ich würde mir aber gerne die Option offen lassen, ohne libplacebo zu arbeiten. Hat vielleicht einer einen Lösungsansatz?

    Dein libdrm ist zu "alt". Die Definition ist erst in libdrm-2.4.104 drin.

    Zork

    Ich habe mal mir die Zeit genommen, einen gepatchen Kernel zu übersetzen. 5.11-rc1 und die Patche passen gut zusammen, lässt sich problemlos compilieren und installieren. Leider hängt sich das Display auf, wenn man versucht, eine UHD-Auslösung mit DRM zu aktivieren. Der 5.9er Kernel läuft dabei ohne Probleme (leider bei mir nur bis 30Hz). 5.11 scheint noch etwas buggy zu sein. Mit 5.10.4 gibt es Schwierigkeiten, die Patche zu applien, auch beim Compilieren treten dann Fehler auf. Also heißt es: weiter abwarten auf vernünftige Patche von Intel. Die Situation ist ziemlich nervig, auch im libreelec-Forum sind die Erfolge bescheiden. Leider sind aktuelle Systeme von Intel über LSPCON-Chipsätze angebunden und können nicht nativ HDMI 2.0b sprechen. Ich selber habe eine topaktuelle CPU (Comet Lake), sogar da ist es noch so. So langsam gebe ich die Hoffnung auf, dass es mit native UHD und VDR noch was wird.

    Es hat mich jetzt herausgefordert herauszufinden, was die Plattform technisch kann. Als Test habe ich Windows 10+Kodi 19 beta 2 genommen. Und siehe da, UHD/60 Hz funktioniert, HDR wird dynamisch an- und abgeschaltet, CPU-Last beim Abspielen von UHD-Demos sehr gering. Sogar 4K geht (Fernseher schneidet die Ränder dann ab). Was auch sehr gut funktioniert, ist das dynamische Wechseln der Auflösung/Bildfrequenz, das wünsche ich mir auch für softhdxxx. Das Bild ist glasklar, so hohe Frequenzen ist schon ne sehr feine Sache. Die Frage ist, wie lange der Treibersupport unter Linux wohl noch dauern wird, die erste Patche sind von 2018 und immer noch nicht im Kernel integriert (es scheint dort aber endlich weiterzugehen: https://cgit.freedesktop.org/drm/drm-intel/…tel-next-queued.

    Ich habe mal mir die Zeit genommen, einen gepatchen Kernel zu übersetzen. 5.11-rc1 und die Patche passen gut zusammen, lässt sich problemlos compilieren und installieren. Leider hängt sich das Display auf, wenn man versucht, eine UHD-Auslösung mit DRM zu aktivieren. Der 5.9er Kernel läuft dabei ohne Probleme (leider bei mir nur bis 30Hz). 5.11 scheint noch etwas buggy zu sein. Mit 5.10.4 gibt es Schwierigkeiten, die Patche zu applien, auch beim Compilieren treten dann Fehler auf. Also heißt es: weiter abwarten auf vernünftige Patche von Intel. Die Situation ist ziemlich nervig, auch im libreelec-Forum sind die Erfolge bescheiden. Leider sind aktuelle Systeme von Intel über LSPCON-Chipsätze angebunden und können nicht nativ HDMI 2.0b sprechen. Ich selber habe eine topaktuelle CPU (Comet Lake), sogar da ist es noch so. So langsam gebe ich die Hoffnung auf, dass es mit native UHD und VDR noch was wird.

    Hi,

    wie geht es eigentlich mit der UHD/HDR Entwicklung weiter? Soweit ich das sehe, sind die HDR-Patche für Intel+LSPCON immer noch nicht im Kernel 5.10 drin (Referenz: https://patchwork.freedesktop.org/series/68081/). Weiterhin ist es hier auch sehr still um die Weiterentwicklung geworden. Besteht denn noch Interesse an der Weiterentwicklung?

    Primär für mich vom Interesse wäre als Erstes die Stabilisierung des Plugins, ich bekomme es recht leicht zum Aufhängen. Auch die neue libplacebo-Version scheint sehr interessant zu werden.

    D.

    Wurde hier glaube ich schon einige Male beschrieben. Ab einer bestimmten Version, muss der Gamma-Wert im softhdvaapi-Plugin umgestellt werden. Hab es grad nicht im Kopf, entweder von min>max oder eben andersrum.

    Richtig, hätte ich auch selber finden können. gamma auf "max" und gut ist. Ich schaue mal, ob man das vielleicht nicht als Default setzt. Die Wertebereiche finde ich im Übrigen sehr komisch: Gamma auf Max, damit mit den Standard-Gammawert bekommt?

    Das Decoding der Streams ist im Übrigen leider immer noch nicht so stabil wie bei softhddevice, ich bekomme manchmal beim Programmwechsel einen fehlerhaften Stream (Klötzchenbildung), der Fehler geht dann erst weg, wenn ich noch einmal zappe. Da wird irgendwas nicht sauber angestartet bzw. initialisiert.

    Dirk

    Aktuell habe ich diverse Probleme mit libplacebo. Ich nutze VAAPI (und CUDA auf einem zweiten System), mit libplacebo 1.29 war es kein Problem. Jetzt nach Neuinstallation Fedora 33 mit aktuellsten Treibern und libplacebo 2.72.0 nur ein weißes Videobild, das OpenGL-Overlay funktioniert aber. VAAPI ohne libplacebo funktioniert auch. softhdvaapi ist natürlich entsprechend gegen die Libraries neu gebaut worden.

    Aug 17 08:58:29 nuc vdr[1089]: [1089] switching to channel 1 S19.2E-1-1019-10301 (Das Erste HD)

    Aug 17 08:58:29 nuc vdr[1089]: Init Placebo mit API 72

    Aug 17 08:58:30 nuc vdr[1089]: [1103] [softhddev]OglThread cleanup

    Aug 17 08:58:31 nuc vdr[1089]: GetFormat Init ok 1280x720

    Aug 17 08:58:31 nuc vdr[1089]: video: crop to +0+0 1280x720

    Aug 17 08:58:31 nuc vdr[1089]: video: normal aspect output 1875x1055+21+0

    Aug 17 08:58:31 nuc vdr[1089]: video: crop to +0+0 1280x720

    Aug 17 08:58:31 nuc vdr[1089]: video: normal aspect output 1920x1080+0+0

    jojo61, hast Du eine Idee?

    Dirk

    PS: Beim Shutdown des Systems bekomme ich folgenden Fehler, der sich immer wiederholt:

    Aug 17 08:51:00 nuc runvdr[2046]: error: vk->GetPhysicalDeviceSurfaceCapabilitiesKHR(vk->physd, p->surf, &caps): unknown error

    Ja, das ist das, was ich meinte: technisch korrekt: Aber 2.4.3 war kein stable release und wenn jetzt die Plugins .2.4.3 als Suffix haben, vdr aber 2.4.4, ist das etwas verwirrend. Ich denke, es ist einfacher, bei so wenigen Releases die Versionsnummern synchron zu halten. Hat Klaus selbst bei der 2.4.0 gemacht (die glaube ich API-kompatibel zur letzten 2.3.9 ist), um Verwirrung zu vermeiden.

    Was mir aufgefallen ist: VDR-Version ist 2.4.4, API-Version ist 2.4.3. Ist technisch bestimmt korrekt, aus Konsistenzgründen würde ich aber vorschlagen, dass die API-Version der VDR-Version entspricht. Denk' doch bitte an die Distris, die die Plugins alle neu übersetzen.

    Dirk

    Hallo jojo61,

    ich habe Dir gerade einen neuen Pull-Request eingestellt, wo ich die Aspect/Crop Funktion überarbeitet habe. Es gibt jetzt keine Rundungsfehler mehr, außerdem wird die Funktion jetzt nur noch so oft wie nötig aufgerufen (wenn noch kein Input da ist, kann man wieder aussteigen). Weiterhin habe ich einen neuen Aspect-Modus "Original" eingeführt, der das Bild unskaliert ausgibt (Pixelratio habe ich allerdings vorher korrigiert). Wäre schön, wenn Du dem Pull-Request zustimmen würdest.

    Zork

    Die Sourcen compilieren bei mir nicht. Ich habe Image Magick in der aktuellsten Version hier.

    Code
    imagemagickwrapper.c: In member function 'cImage* cImageMagickWrapper::CreateImage(int, int, bool)':
    imagemagickwrapper.c:30:11: error: 'PixelPacket' does not name a type
       30 |     const PixelPacket *pixels = buffer.getConstPixels(0, 0, w, h);
          |           ^~~~~~~~~~~

    Kompiliert bei mir ohne Probleme durch, ich habe allerdings aktuelle Libs, denke ich:

    Code
    ImageMagick-6.9.10.67-1.fc31.x86_64
    ImageMagick-c++-6.9.10.67-1.fc31.x86_64
    ImageMagick-c++-devel-6.9.10.67-1.fc31.x86_64
    ImageMagick-devel-6.9.10.67-1.fc31.x86_64
    ImageMagick-libs-6.9.10.67-1.fc31.x86_64

    Ich würde Dir skinflat-plus empfehlen, ist noch etwas schicker. GraphicsMagick als Replacement kann ich nicht empfehlen, das läuft bei mir auch instabil.

    zork

    Ich habe mal angefangen, Deinen Code etwas zu bereinigen und Dir einen pull request geschickt. Ich habe da noch einige Ideen für weitere Bereinigungen und Erweiterungen, würde aber, bevor ich Arbeit investiere, wissen, ob Dir so ein Vorgehen recht ist. Ich finde Dein Plugin sehr gut, es scheint mir auch das Einzige in dem Bereich zu sein, was aktiv weiterentwickelt wird. Interessieren würde mich eine Wayland-EGL Integration.

    zork

    Die letzte Version habe ich mit vaapi/EGL getestet. Spulen und springen in Aufnahmen geht jetzt, top! Habe mal Skin testweise auf skindesigner (mit deinem Patch) umgestellt, verhält sich aber auch komisch. Das Rendering von einigen Buchstaben funktioniert da nicht, weiterhin hängt er sich dann noch kurzer Zeit auf. Ich habe außerdem folgenden Bug gefunden: PIP aktivieren, dann wieder deaktivieren -> Bild bleibt grün.

    zork

    Hi,

    ich teste gerade softhdvaapi unter Fedora 31. vaapi/egl und vaapi/libplacebo funktionieren beide grundsätzlich. CPU-Load ist bei allen drei Varianten (egl, libplacebo/binlinear und dem gepatchten softhddevice (letzte Version von pesintta, bevor es vaapidevice wurde...)) bei RTL HD ähnlich hoch. Debuglog (egl):

    Display Spoiler

    Oct 10 18:39:46 nuc vdr[1701]: Set Playmode 0

    Oct 10 18:39:46 nuc vdr[1701]: video: set closing

    Oct 10 18:39:46 nuc vdr[1701]: video: set clock --:--:--.---

    Oct 10 18:39:46 nuc vdr[1701]: video: reset start

    Oct 10 18:39:46 nuc vdr[1701]: video: set clock --:--:--.---

    Oct 10 18:39:46 nuc vdr[1701]: video: new stream start

    Oct 10 18:39:46 nuc vdr[1701]: [1715] switching to channel 3 S19.2E-1-1057-61200 (RTL HD)

    Oct 10 18:39:46 nuc vdr[1701]: [1715] DVBAPI: 0.0 set CAM decrypt (SID 61200 (0xEF10), caLm 4, HasCaDescriptors 1)

    Oct 10 18:39:46 nuc vdr[1701]: video/cuvid: closing eof

    Oct 10 18:39:47 nuc vdr[1701]: Set Playmode 1

    Oct 10 18:39:47 nuc vdr[1701]: video: set trick-speed 0

    Oct 10 18:39:47 nuc vdr[1701]: audio/alsa: using device 'pcm.51to20'

    Oct 10 18:39:47 nuc vdr[1701]: video: new stream 889ms

    Oct 10 18:39:47 nuc vdr[1701]: [softhddev] invalid PES video packet

    Oct 10 18:39:47 nuc vdr[1701]: pesdemux: pes start code id 0xbd

    Oct 10 18:39:47 nuc vdr[1701]: pesdemux: new codec 000000 -> 0x15003

    Oct 10 18:39:47 nuc vdr[1701]: codec: using audio codec ID 0x15003 (ac3)

    Oct 10 18:39:47 nuc vdr[1701]: in VideoDecode make close

    Oct 10 18:39:47 nuc vdr[1701]: CodecVideoClose

    Oct 10 18:39:47 nuc vdr[1701]: codec: audio 'ATSC A/52A (AC-3)'

    Oct 10 18:39:47 nuc vdr[1701]: codec/audio: format change fltp 48000Hz *2 channels

    Oct 10 18:39:47 nuc vdr[1701]: codec/audio: resample fltp 48000Hz *2 -> s16 48000Hz *2

    Oct 10 18:39:47 nuc vdr[1701]: audio/alsa: start delay 336ms

    Oct 10 18:39:47 nuc vdr[1701]: [softhddev] 2 invalid PES video packet(s)

    Oct 10 18:39:47 nuc vdr[1701]: video: h264 detected

    Oct 10 18:39:47 nuc vdr[1701]: CodecVideoOpen h264

    Oct 10 18:39:47 nuc vdr[1701]: ***************codec: Video Open using video codec ID 0x001b (h264)

    Oct 10 18:39:47 nuc vdr[1701]: codec: video 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10'

    Oct 10 18:39:47 nuc vdr[1701]: codec: can use own buffer management

    Oct 10 18:39:47 nuc vdr[1701]: codec: supports frame threads

    Oct 10 18:39:47 nuc vdr[1701]: codec: supports slice threads

    Oct 10 18:39:47 nuc vdr[1701]: Codec open 0

    Oct 10 18:39:47 nuc vdr[1701]: Initializing cuvid hwaccel thread ID:1716

    Oct 10 18:39:47 nuc vdr[1701]: video: ready --:--:--.--- 0ms/frame 1177ms

    Oct 10 18:39:47 nuc vdr[1701]: Cuvid_get_format: codec 27 fmts:

    Oct 10 18:39:47 nuc vdr[1701]: #0110x0000002e vaapi_vld

    Oct 10 18:39:47 nuc vdr[1701]: Cuvid_get_format: codec 27 fmts:

    Oct 10 18:39:47 nuc vdr[1701]: #0110x0000002e vaapi_vld

    Oct 10 18:39:47 nuc vdr[1701]: video profile 100 codec id 27

    Oct 10 18:39:47 nuc vdr[1701]: video: create decoder 16bit?=0 1920x1080 old 1280 720

    Oct 10 18:39:47 nuc vdr[1701]: Cuvid Clean up

    Oct 10 18:39:47 nuc vdr[1701]: video/cuvid: CuvidDestroySurfaces

    Oct 10 18:39:47 nuc vdr[1701]: Last decoder closes

    Oct 10 18:39:47 nuc vdr[1701]: video/cuvid: CuvidCreateSurfaces: 1920x1080 * 7

    Oct 10 18:39:47 nuc vdr[1701]: video/vdpau: create 7 Textures Format NV12 w 1920 h 1080

    Oct 10 18:39:47 nuc vdr[1701]: video: aspect 6080:3429 Resolution 3

    Oct 10 18:39:47 nuc vdr[1701]: video: slow down video, duping frame

    Oct 10 18:39:47 nuc vdr[1701]: video: normal aspect output 1915x1080+2+0 Video 1920x1080

    Oct 10 18:39:47 nuc vdr[1701]: CUVID Init ok 1920x1080

    Oct 10 18:39:47 nuc vdr[1701]: Init VAAPI deint ok

    Oct 10 18:39:47 nuc vdr[1701]: ++++++++++++++++++++++++++++++++++++starte audio

    Oct 10 18:39:47 nuc vdr[1701]: BT709 Colorspace used

    Oct 10 18:39:47 nuc vdr[1701]: vor create

    Oct 10 18:39:47 nuc vdr[1701]: vor compile vertex

    Oct 10 18:39:47 nuc vdr[1701]: compile Status 1 loglen 0 ><

    Oct 10 18:39:47 nuc vdr[1701]: vor compile fragment

    Oct 10 18:39:47 nuc vdr[1701]: compile Status 1 loglen 0 ><

    Oct 10 18:39:47 nuc vdr[1701]: Link Status 1 loglen 0

    Oct 10 18:39:47 nuc vdr[1701]: get uniform colormatrix 0

    Oct 10 18:39:47 nuc vdr[1701]: nach set colormatrix

    Oct 10 18:39:47 nuc vdr[1701]: get uniform colormatrix_c 1 -0,972945

    Oct 10 18:39:48 nuc vdr[1701]: codec/audio: inital drift delay 394ms

    Oct 10 18:39:48 nuc vdr[1701]: video: slow down video, duping frame

    Oct 10 18:39:48 nuc vdr[1701]: video/cuvid: synced after 70 frames 2590m

    In Aufnahmen kann man leider nicht richtig vorspulen/springen, da hängt die Ausgabe für ca. 30sec oder hängt sich komplett weg!

    Display Spoiler

    Oct 10 18:44:57 nuc vdr[1701]: Clear buffer request in Poll

    Oct 10 18:44:57 nuc vdr[1701]: video: reset start

    Oct 10 18:44:57 nuc vdr[1701]: video: set clock --:--:--.---

    Oct 10 18:44:57 nuc vdr[1701]: audio/alsa: using device 'pcm.51to20'

    Oct 10 18:44:57 nuc vdr[1701]: [softhddev]Clear: 0ms buffers 0

    Oct 10 18:44:57 nuc vdr[1701]: audio/alsa: start delay 336ms

    Oct 10 18:44:57 nuc vdr[1701]: ++++++++++++++++++++++++++++++++++++starte audio

    Oct 10 18:44:58 nuc vdr[1701]: codec/audio: drift( 0) -120256ms reset

    Oct 10 18:44:58 nuc vdr[1701]: codec/audio: inital drift delay 1477ms

    Oct 10 18:46:11 nuc vdr[1701]: Set Playmode 0

    Oct 10 18:46:11 nuc vdr[1701]: audio/alsa: using device 'pcm.51to20'

    Oct 10 18:46:11 nuc vdr[1701]: [softhddev]Clear: 20ms buffers 246

    Oct 10 18:46:11 nuc vdr[1701]: video: set closing

    Oct 10 18:46:11 nuc vdr[1701]: video: set clock --:--:--.---

    Oct 10 18:46:11 nuc vdr[1701]: video: reset start

    Oct 10 18:46:11 nuc vdr[1701]: video: set clock --:--:--.---

    Oct 10 18:46:11 nuc vdr[1701]: video: new stream start

    Oct 10 18:46:11 nuc vdr[1701]: audio/alsa: start delay 336ms

    Wenn mein Skin "skinflatplus" aktiviert ist, startet die egl-Version erst gar, mit libplacebo manchmal, manchmal mit SIGSEGV, anbei die Meldung, wenn es mal startet:

    Display Spoiler

    Oct 10 19:00:37 nuc vdr[3032]: Init Placebo

    Oct 10 19:00:37 nuc runvdr[3032]: INTEL-MESA: warning: ../src/intel/vulkan/anv_device.c:151: The kernel reported a GTT size larger than 2 GiB but not support for 48-bit addresses

    Oct 10 19:00:37 nuc vdr[3032]: dma_buf support in Vulkan available


    Wie ich das jetzt debuggen soll, weiß ich leider nicht. Wenn das Plugin mit dem Spulen zurechtkommt und das Problem mit skinflatplus geklärt ist, fehlt nicht mehr viel, dass man es praktisch auch mit Intel benutzen kann.

    Hallo Klaus,

    ich empfehle Dir direkt zwei Switche zu nehmen, die einen SFP+-Port haben, z.B. den Netgear GS110TP. Als Kabeltyp empfiehlt sich bei der kurzen Strecke Multimode. Das kannst du fertig konfektioniert kaufen. Der Abschluss ist dann auf beiden Seiten LC. Für den Switch kaufst Du entweder die Original-SFP+ Module von Netgear, OEM-Module kosten aber unter 20,- EUR, die funktionieren auch.

    Dirk