softhdcuvid jetzt mit VAAPI und HDR support

  • Wenn du das Material mit 10-Bit Farbtiefe und HDR ausgeben können willst, ist die Gen8 mit einem dafür geeigneten HDMI-Ausgang die untere Grenze (wobei das Umschalten des TV in die benötigten Modi soweit ich das gelesen habe noch eine Baustelle ist, für die es Kernel-Patches braucht und wo noch nicht alles wie gewünscht funktioniert).


    Ansonsten sollte Kaby Lake für die 8-Bit Ausgabe von 10-Bit Material ausreichen (SkyLake kann IIRC nur 8-Bit HEVC mit Hardwarebeschleunigung dekodieren).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Der Umweg, wie bei Nvidia über einen aktiven Displayportadapter (DP1.2 nach HDMI 2.0), funktioniert mit KabyLake nicht?

  • Der Umweg, wie bei Nvidia über einen aktiven Displayportadapter (DP1.2 nach HDMI 2.0), funktioniert mit KabyLake nicht?

    Der Umweg funktioniert in Sachen 10-Bit Ausgabe IIRC nur dann, wenn der Monitor/TV 10-Bit RGB-Material ohne Farbunterabtastung verarbeiten kann (was bei den meisten TVs nicht der Fall sein dürfte). Eine Bildausgabe in YUV unterstützt der nvidia-Treiber soweit ich weiß nicht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Grillbert Also die Version mit vaapi dekoder sollte stabil sein solange du kein UHD schaust. Bei UHD gibt es noch Probleme mit Speicherverlust.

    Wenn ich mir deinen Footer anschaue dann empfehle ich dir die drm Version weil die sehr wenig resourcen braucht und ohne X server läuft.


    Mir ist schon klar das der WAF nötig ist, aber man muss sich auch mal durchsetzen können :-)

    Inzwischen läuft mein VDR mit einem J4105m (muss mal die Signatur updaten). Das Board hat etwas mehr Power und sollte auch UHD ohne Wandler direkt ausgeben können.

    Macht sich der X Server denn wirklich negativ bemerkmar in Sachen Performance? Bzw. was wird besser im DRM Modus? Reaktivität der Oberfläche?

    Und (bestimmt eine "dumme Frage" hier im Thread) welche der Versionen nutzt eigentlich OpenGL zum Zeichnen der Oberfläche? (Oder gibt es das nur für Nvidia?)

    Gruß,
    Gilbert

    Cine S2 V6.5 + DuoFlex V4 Apollo-Lake Celeron (Asrock J3355M), ATRIC Einschalter, MLD 5.4 testing

  • Opengl wird zwischenzeitlich immer im OSD genutzt. Wenn du keine Performanceprobleme (Frame drops) mit X hast dann ist es egal was du nutzt.
    Nur mit der drm Version wird aber der Fernseher bei UHD in den HLG Modus gestellt. Dazu brauchst du aber noch einen passenden Kernel.

  • jojo61 : Zuerst einmal vielen Dank für das tolle Plugin, das ich unter VAAPI im DRM-Modus nutze. Ich habe eine Anregung und eine Frage.


    Wäre es möglich, eine automatische Umschaltung der Auflösung einzubauen. Beispiel: Wenn ich einen FullHD-Sender schauen, sollte das Plugin auf 1080p schalten, wenn ich einen UHD-Sender schaue auf 2160p? Ich kenne den Parameter (-g). Aber wenn ich das Plugin mit -g 4096x2160 starte, reagiert es viel träger und der TV skaliert alles auf UHD hoch. Starte ich es mit -g 1920x1080 ist es sehr flüssig zu bedienen, UHD wird aber leider auf FullHD runterskaliert.


    Gibt es eine Möglichkeit ohne CUVID, den Deinterlacer zu ändern? So wie es aussieht, ist der feste im Quelltext gesetzt.


    Noch einmal vielen Dank für das tolle Plugin!


    LG

    beta

  • warum nimmst du sone schräge Auflösung, UHD ist dich 3840x2160 ?

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5

  • beta Wenn du ein UHD Fernseher hast dann wird HD immer skaliert. Entweder vom Plugin (wenn du mit -g 3140x2160) oder halt vom Fernseher

    wenn du mit -g 1920x1080 startest. Das Panel am Fernseher braucht ja immer UHD Daten. Wenn ich also die Auflösung beim umschalten ändere dann skaliert halt der Fernseher statt des Plugins. Das mag besser sein solange der Fernseher einen guten Skaler hat.

    Gedacht ist das das Plugin skaliert und es mit der Fernseher Panel Auflösung (also hier UHD) gestartet wird. Dafür habe ich ja die libplacebo skaler eingebaut. Bei drm geht das leider derzeit noch nicht und deswegen könnte dein Vorschlag eine sinnvolle Alternative sein. Allerdings braucht ein Fernseher beim ändern der Auflösung einige Zeit um das Bild wieder zu stabilisieren. Das wird dann beim umschalten flackern oder einen schwarzphase erzeugen.

    Derzeit bin ich noch auf der Suche nach dem Memoryleak bei UHD und danach schaue ich mal ob ich das Feature einbauen kann.


    Der Deinterlacer bei VAAPI ist deswegen fest verdrahtet weil es nur einen vaapi deinterlacer gibt. Alle anderen Deinterlacer von ffmpeg würden das herunterladen der Daten ins Memory erfordern und das ist m.E. zu langsam.


  • Ich denke auch, dass ich ein "hakeliges" Umschalten beim ändern der Auflösung aktuell besser wäre als permanent UHD vom VDR ausgeben zu lassen.
    Wenn jeder 2. Sender UHD bringt könnte das natürlich anders aussehen, aber zur Zeit ist ja nur ausnahmsweise mal ein UHD Sender eingeschaltet - zumindest bei mir.

    Dasselbe Verhalten fände ich auch super für den Switch zwischen unterschiedlichen Bildwiederholraten ... oder ist das Verhalten da schon so?

    (Memory Leak Fix finde ich aber auch wichtiger) :)

    Cine S2 V6.5 + DuoFlex V4 Apollo-Lake Celeron (Asrock J3355M), ATRIC Einschalter, MLD 5.4 testing

  • Dasselbe Verhalten fände ich auch super für den Switch zwischen unterschiedlichen Bildwiederholraten ... oder ist das Verhalten da schon so

    Das Plugin kann keine unterschiedlichen Bildraten verarbeiten. Es ist auf 50Hz wiederholrate programmiert. Das einzige was geht ist ein 50Hz Video auf einem 60Hz Bildschirm anzuzeigen. Dazu gibt es eine Einstellung in den Settings. Dann wird jedes 6. Frame wiederholt.

  • also bei mit läuft das sehr performant mit dem nuc8 wenn ich es permanent auf 3840x2160 ausgebe, würde da egtl ungern was hin und herschalten lassen. Aber solang es optional ist...

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5

  • Optional wäre es auf jeden Fall.


    Im Prinzip gibt es 4 Auflösungen 576, 720, 1080 und 2160 auf die man umstellen könnte. Sinn macht da aber wohl nur 1080 und 2160 zum umschalten. Und auch das nur weil eine schwache GPU beim 2160er hochskalieren träge reagiert und da dann der skalierer im Fernseher besser ist. Wenn es nicht allzu aufwändig ist dann baue ich es in die drm Version noch ein. Ich möchte die Version 3.0 mal fertig bekommen damit ich mit der 4.0 anfangen kann :-)


    Da wird es dann um Gammakurven gehen.

  • So nach langem suchen und super Support durch CKone habe ich das memory leak endlich gefunden. So wie es aussieht ist es ein Problem von ffmpeg wenn er selber die hw frames verwaltet. Dafür habe ich nun eine Umgehungslösung eingebaut.

    Da die Korrektur alle vaapi Varianten betrifft (auch ohne UHD) sollte man unbedingt updaten (egal ob man vaapi oder drm nutzt).


    Nochmal vielen Dank an CKone für die tolle Hilfe und das unermüdliche Testen. :):):)


    PS: Ich habe mal mit dem umschalten der Auflösung bei drm rumgespielt. Leider gibt es da Probleme mit dem vsync nach dem umschalten und es entsteht tearing. Das zu suchen ist mir zu aufwändig. Für alle die es dennoch mal ausprobieren wollen: Ich habe es in den Quellen drin gelassen und den Aufruf auskommentiert. Findet man leicht im letzten commit für video.c Falls jemand das hinbekommt freue ich mich auf einen patch :-)


    Damit ist die Version 3.0 nun hoffentlich fertig


    jojo61

  • Da scheint die cuvid-Variante kaputt gegangen zu sein:

    Die ungekürzte Ausgabe von make habe ich angehängt.

    Files

    • build.log.txt

      (12.13 kB, downloaded 28 times, last: )

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi,

    SD in mpeg2 seem to be broken atm.

    CU

    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Bei mir bleiben mit softhdvaapi einige Sender schwarz, nur der Ton läuft. Habe nicht alle getestet, betrifft aber die privaten in SD.


    EDIT: Betrifft auch Aufnahmen. Ton da, Bild bleibt schwarz.

    The post was edited 1 time, last by ofenheizer ().

  • Gibt es in dieser Zeile im Makefile nicht ein = zu viel?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)