softhdcuvid jetzt mit VAAPI und HDR support

  • Hi,

    Guck doch einfach im Paket von Seahawk nach ;g)

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Vielleicht hat ja jemand eine Idee, welche Pakete mir noch fehlen.

    Für mich klingt das nach einer veralteten libplacebo-Version. Die in den Ubuntu Paketquellen ist uralt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke, habe es mit aktuellerem libplacebo zum Laufen gebracht. Die Intel-Grafik profitiert von libplacebo, die SD-Sender sehen spürbar besser aus. Der Abstand zur besseren Bildqualität einer Nvidia-Karte auf dem anderen VDR wird geringer, ist aber noch immer wahrnehmbar.


    Was mich jetzt noch wundert: 4:3-Material wird mit softhdvaapi auf bildschirmfüllende Wiedergabe aufgezoomt und dabei in die Breite gezogen. Bei softhdcuvid ist dies nicht der Fall. In beiden Fällen ist als "4:3 video display format" letterbox eingestellt. Cropping-Einstellungen finde ich bei beiden Plugins im Setup gar nicht mehr. In der setup.conf steht softhddevice.AutoCrop.Interval = 0

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • noch zwei Beobachtungen:


    auf Sky Sport News HD (frei empfangbar) kriege ich mit softhdvaapi nur alle paar Sekunden Tonfetzen. Mit softhdcuvid auf dem anderen VDR mit gleichem Softwarestand wird der Ton sauber wiedergegeben. Kann das jemand mit VAAPI mal nachprüfen?


    Wenn ich während der Wiedergabe einer Aufzeichnung die Menü-Taste drücke, kommt wie erwartet das OSD-Menü. Ein weiterer Druck auf die Menütaste schließt das OSD. Drückt man nun mehrmals hintereinander auf Menü, funktioniert das 'Toggeln' nicht immer - irgendwann lässt sich das OSD nicht wieder ausblenden. Das ist sowohl bei CUVID als auch VAAPI so.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • ich verwende das skinflatplus-Plugin als OSD

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Ich habe bemerkt, dass vdr jetzt um 50% CPU-Last hat. Wäre es möglich, die libplacebo-Skalierung für die einzelnen Auflösungen abschaltbar zu machen bzw. einen NONE-Eintrag zu ergänzen? Ich brauche das eigentlich nur für SD-Sender.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Skaliert wird immer, ohne placebo skaliert dann halt GL. Du kannst aber auf bilineare skalierung stellen, das ist dann das gleiche wie bei GL und sollte auch die gleiche Last erzeugen. Allerdings kann man die sonstigen Optimierungen bei placebo nicht abschalten, d.h. es wird immer die "richtige" Farbkonvertierung genutzt und das Bild gedittert.


    Ob skinflatplus immer alles richtig macht wage ich zu bezweifeln. Auch der skindesigner musste nachgearbeitet werden bis er alles richtig gemacht hat. Das openglosd ist da wohl etwas pingeliger :) Ich vermute mal das er das OSD nicht mehr sauber abschaltet wenn man zu schnell toggelt.

  • ich habe nur SD und 720p im Kabel - und ein paar nutzlose Werbesender in 1080i. Allenfalls Sky Sport News HD ist interessant. Viellecht kannst Du Dir die Tonprobleme bei VAAPI nochmal ansehen.


    Die CPU-Last stört mich wirklich. Für 720p brauche ich kein Deinterlacing. Übrigens ist die CPU-Last auf einem deutlich schwächeren Intel-System unter VAAPI mit 25% nur halb so hoch. Mit softhddevice ohne libplacebo sind es gerade 5%. Wobei Intel ohne libplacebo nicht genießbar ist.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Du verwirrst mich. Was ist denn nun dein Problem ? Und bei welchem plugin? vaapi oder cuvid ?

    Bei 720p läuft kein deinterlacer und erzeugt dann auch keine Last.

    Welchen skaler hast du denn eingestellt für dein SD ? Je nach skaler ist die Last sehr unterschiedlich.

    Und welche Tonprobleme hast du ?


    Ich denke du musst das mal in eine Reihenfolge bringen und die Probleme eindeutiger benennen. Mach doch mal ne Liste.


    jojo61

  • Ich habe hier alle Probleme in mehreren Beiträgen dieses Threads doch genau beschrieben. Ich stelle sie Dir aber gerne nochmal einzeln in den Bugtracker Deines gits ein.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Bei 720p läuft kein deinterlacer und erzeugt dann auch keine Last.

    Welchen skaler hast du denn eingestellt für dein SD ? Je nach skaler ist die Last sehr unterschiedlich.

    Im OSD menue unter *720p kann ich nur zwischen verschiedenen Scaling Methoden wählen, es aber nicht ganz abschalten. Die unterschiedlichen Methoden verursachen nur eine geringfügig unterschiedliche CPU-Last jeweils um 50%. Wenn Du sagst, dass bei 720p kein deinterlacer laufen würde, dann kann das nicht sein. Die Last muss vom deinterlacer kommen, denn wenn ich das Plugin ohne libplacebo-Unterstützung kompiliere, sinkt die CPU-Last auf unter 10%

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • ich habe nur SD und 720p im Kabel - und ein paar nutzlose Werbesender in 1080i. Allenfalls Sky Sport News HD ist interessant. Viellecht kannst Du Dir die Tonprobleme bei VAAPI nochmal ansehen.

    hab zwar kein kabel, aber mit sat gibt es hier unter softhdvaapi (inkl. libplacebo) keine probleme mit dem ton auf besagtem sender


    Die CPU-Last stört mich wirklich. Für 720p brauche ich kein Deinterlacing. Übrigens ist die CPU-Last auf einem deutlich schwächeren Intel-System unter VAAPI mit 25% nur halb so hoch. Mit softhddevice ohne libplacebo sind es gerade 5%. Wobei Intel ohne libplacebo nicht genießbar ist.

    getestet mit softhdvaapi (mit placebo, eingestellter deinterlacer ewa_robidouxsharp)) und softhddevice. kein lastunterschied feststellbar.

    beides mal eine last von 9%. muesste noch hyperion abschalten, dann wuerde die last noch weiter sinken


    Wenn ich während der Wiedergabe einer Aufzeichnung die Menü-Taste drücke, kommt wie erwartet das OSD-Menü. Ein weiterer Druck auf die Menütaste schließt das OSD. Drückt man nun mehrmals hintereinander auf Menü, funktioniert das 'Toggeln' nicht immer - irgendwann lässt sich das OSD nicht wieder ausblenden. Das ist sowohl bei CUVID als auch VAAPI so.

    mit softhdvaapi und skindesigner nicht nachstellbar


    Was mich jetzt noch wundert: 4:3-Material wird mit softhdvaapi auf bildschirmfüllende Wiedergabe aufgezoomt und dabei in die Breite gezogen.

    musste erst mal nen sender suchen, der sowas noch sendet. aber auch das mit den NICHT aufzoomen funktionert tadellos


    gruss beinhart

  • 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

    System 1: Hardware : ASUS B150M-C, Intel Pentium G4560, DVB cineS2, 1x 2TB HDD, 1x 214GB SSD, Gehäuse Antec Remote Fusion Black, 8 GB DDR4 RAM.
    Software : Fedora 34, vdr 2.4.7, softhddevice GIT, Kernel 5.15.11
    System 2: Hardware : Intel NUC10i5FNK, Intel Core i5-10210U (Comet Lake), DVB TechnoTrend TT-connect S2-4600 USB, 1x 1TB NVMe, 32 GB DDR4 RAM.
    Software : Fedora 35, vdr 2.4.7, softhdcuvid, Kernel 5.15.11

  • Im OSD menue unter *720p kann ich nur zwischen verschiedenen Scaling Methoden wählen, es aber nicht ganz abschalten. Die unterschiedlichen Methoden verursachen nur eine geringfügig unterschiedliche CPU-Last jeweils um 50%. Wenn Du sagst, dass bei 720p kein deinterlacer laufen würde, dann kann das nicht sein. Die Last muss vom deinterlacer kommen, denn wenn ich das Plugin ohne libplacebo-Unterstützung kompiliere, sinkt die CPU-Last auf unter 10%

    Du verwechselst hier deinterlacer und skaler. Die libplacebo hat keinen deinterlacer, das mach der Cuvid dekoder schon. Nur bei vaapi wird ein deinterlacer zugeschaltet weil da der dekoder keinen deinterlacer hat, Aber auch da wird das nur beim Interlaced streams gemacht. Und nochmal ein abschalten vom skaler ist nicht möglich. Das Bild vom 720p muss auf 1080p skaliert werden. Nur wenn dien Fernseher auf 720p läuft dann muss und wird nicht skaliert.

  • 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

    Ich habe es nun commited. Konnte es aber noch nicht testen. Hoffentlich ist alles ok :)

  • Mit dem aktuellen Git-Stand baut softhdvaapi nicht mehr:


    Edit: selbes Problem mit softhddrm


    Edit2: Fehlen da #ifdef Deklarationen im Code von Reelcoder oder sollten die Variable gleich unabhängig von USE_PIP deklariert werden?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    3 Mal editiert, zuletzt von seahawk1986 ()

  • Hi,

    im Makefile fehlt für VAAPI das define

    Code
    ifeq ($(VAAPI),1)
    CONFIG += -DUSE_PIP                     # PIP support
    CONFIG += -DVAAPI
    #LIBPLACEBO=1
    PLUGIN = softhdvaapi
    LIBS += -lEGL
    endif

    CU

    9000h

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

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!