softhdcuvid mit CUVID&LIBPLACEBO: OSD überdeckt Bild

  • Hallo,


    wenn ich softhdcuvid (aktulle github Version) mit LIBPLACEBO baue, dann wird das Video Bild vom OSD immer ganz überdeckt. Sogar wenn nur die Lautstärke verändert wird, wird das ganze Bild schwarz, solange die Lautstärke-Anzeige eingeblendet ist. Das passiert sogar mit der "Klassischer VDR" Oberfläche ( und skindesigner Plugin nicht geladen).


    libplacebo ist eine Version von experimental Debian lokal gebaut mit vulkan und shaderc.


    Wenn ich LIBPLACEBO ausschalte, dann passiert das nicht.


    Hat da jemand eine Idee woran es liegt?

    Gruss, Xcoder

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Bookworm, vdr-2.4.1, softhdcuvid, satip

  • Da habe ich schon lange nicht mehr rumgeschraubt

    Ist auf 24 bit. Brauche ich da 32bit? Treiber ist auf 440.82.

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Bookworm, vdr-2.4.1, softhdcuvid, satip

  • Sieht alles soweit gut aus. Nur einen Eintrag bei Vulkaininfo ist bei mir anders:

    advancedBlendMaxColorAttachments = 1

    da steht bei mir eine 8. Aber ob es damit etwas zu tun hat kann ich leider nicht sagen. Die GTX860M sollte eigentlich neu genug sein.


    Evtl. kann jemand hier bestätigen das es bei ihm mit der GTX 860M geht :)

  • Du brauchst wohl glfw3 glaube ich...


    Mit folgendem Python wurde es erst nicht transparent.

    Python
    from tkinter import *
    root = Tk()
    root.geometry("1280x720")
    root.attributes('-type', 'normal')
    root.attributes('-alpha', 0.1)
    root.mainloop()

    Mit xcompmgr -c wurde es transparent.


    Das funktioniert aber softhdcuvid nicht. Eventuell aus dem gleichen Grund wieso es mit dem glfw Test nicht geht. Gibt immer noch "FB is not transparent"


    Gruss

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Bookworm, vdr-2.4.1, softhdcuvid, satip

  • Ich versuche immer noch einen "einfachen" Testfall zu konstruieren. Habe einiges vom softhcuvid zusammenkoppiert:

    test.c.txt


    Stecke aber noch etwas fest:

    Das soll später mit pl_render_image gerendert werden. Aber irgendwie bleibt das Bild schwarz.


    Irgend eine Idee

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Bookworm, vdr-2.4.1, softhdcuvid, satip

  • Code
    Ändere doch mal in make_osd_overlay  
    
    pl->mode = PL_OVERLAY_NORMAL;
    in
    pl->mode = PL_OVERLAY_MONOCHROME;

    Dann wird nur 1 Bit Alpha genutzt und das soll dein Vulkan ja können. Das würde es zumindest bestätigen.

  • Damit wird es nur noch schwarz und das OSD wird gar nicht dargestellt.


    Kann man noch irgend etwas beim konfigurieren von libplacebo verdrehen? Ich hate es so konfiguriert:

    Mit shaderc hatte ich es auch probiert. Macht aber keinen Unterschied.

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Bookworm, vdr-2.4.1, softhdcuvid, satip

  • Die Konfig von placebo sieht gut aus. Ich fürchte es ist die Grafikkarte die keine Overlays kann.


    Das OSD ohne placebo wird nicht als overlay gemacht sondern direkt ins BIld gerendert. Deswegen geht das da wohl auch.


    jojo61

  • Ich habe mein test.c noch einmal erweitert. Es sollte jetzt wie im softhdcuvid ein overlay gerendert werden. Kannst du das mal bei dir probieren:


    Bauen mit gcc -g -o test -lplacebo -lvulkan -lX11 -lX11-xcb -lxcb test.c


    Das Bild wird in create_image() erzeugt. Das overlay kommt von make_osd_overlay() mit 0.5 alpha.


    Effekt ist bei mir der gleiche wie mit dem VDR. Die overlay Farbe wird durch den alpha Faktor auf einen schwarzen Hintergrund gerendert, anstatt auf das image.


    Ich möchte diesen Testcase dann bei libplacebo fillen.


    Gruss

  • Hallo


    also bei mir wird das Overlay halb transparent auf das Image gerendert. D.h. das Image ist unter dem Overlay noch zu sehen.

    Also entweder ist das nun ein placebo, vulkan oder Graka Problem.


    Die neuste Version von placebo kann auch opengl statt vulkan. Evtl. kannst du das ja mal mit deinem Testprogramm ausprobieren. Dann würde zumindest mal vulkan rausfallen. Für das plugin ist das leider noch nicht einsetzbar weil da noch Funktionen fehlen die ich brauche. Dein Testprogramm sollte damit aber gehen wenn du das anpasst. Schau dir mal das glfw Beispiel an


    mfg

    jojo61

  • Vielen Dank für das ausprobieren. Guter Plan. Richtig, dass softhdcuvid geht maximal bis und mit 6abfdf2 von libplacebo.

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Bookworm, vdr-2.4.1, softhdcuvid, satip

Jetzt mitmachen!

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