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
    http://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.

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    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: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • 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: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • 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: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • 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: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • 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: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • 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: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

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

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Edited 3 times, last by seahawk1986 (May 7, 2020 at 12:15 PM).

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

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!