[osdteletext] Patch für High-Level-OSDs

  • Hi Thomas,


    cool, vielen Dank! Werde ich testen, sobald mich der grippale Infekt wieder klar denken lässt *schnief* ;)


    Ciao Louis

  • Moin,


    funktioniert :tup


    Eine Kleinigkeit: Beim "zappen" im Videotext dauert es ein bisschen (ca. 1s), bis das alte Bild gelöscht wird. In der Zeit werden die beiden VT Seiten überlagert dargestellt.


    Ciao Louis

  • Hi Thomas,


    vielen Dank. Da war ich wohl zu langsam. Ich wollte mir diese Woche meinen alten Patch für OSD Teletext fürs rpihddevice nochmal anschauen (aufgrund louis' unermüdlicher Arbeit u.a. bzgl. softhddevice High-Level-OSD, Dir auch ein dickes Dankeschön). Das ist dann wohl jetzt obsolet, oder?


    Gruß, kanadakruemel

  • Hi Luis


    Danke fürs Testen!

    Eine Kleinigkeit: Beim "zappen" im Videotext dauert es ein bisschen (ca. 1s), bis das alte Bild gelöscht wird. In der Zeit werden die beiden VT Seiten überlagert dargestellt.

    Das kann ich bei mir nicht nachvollziehen. Passiert das auch bei deaktiviertem High-Level-OSD?


    Gruss
    Thomas

  • Hi kanadakruemel

    vielen Dank. Da war ich wohl zu langsam. Ich wollte mir diese Woche meinen alten Patch für OSD Teletext fürs rpihddevice nochmal anschauen (aufgrund louis' unermüdlicher Arbeit u.a. bzgl. softhddevice High-Level-OSD, Dir auch ein dickes Dankeschön). Das ist dann wohl jetzt obsolet, oder?

    Ich wollte niemandem was vorwegnehmen! Aber der Fix ist recht trivial, statt das cBitmap vom OSD zu holen, alloziert das Plugin nun ein eigenes Bild und zeichnet das beim Flushen als Ganzes.


    Etwas unschön an dieser Variante ist, dass das Scaling nach wie vor im Plugin, und daher unbeschleunigt passiert. Theoretisch würde es ja reichen, wenn das Plugin ein Bitmap in der nativen Grösse des Teletextes alloziert und dann mittels DrawScaledBitmap() zeichnet. Wobei dann natürlich die typischen (und schon fast rustikal wirkenden) grossen Pixel verschwommen wären, was wohl auch doof ausschaut.


    Gruss
    Thomas

  • Hi Thomas,
    hast Du nicht, kein Problem! Mein Patch hat auf Pixmaps aufgesetzt und nur die Teletextauflösung benutzt. Mein letzter (unveröffentlichter) Stand war, dass man per OSD-Einstellung Aliasing ein- und ausschalten konnte. Man kann sich also aussuchen, ob man schöne 80-er Retro Klötzchenschrift oder weichgespülten Text will. Hat beides seine Vor- und Nachteile. Vielleicht krame ich meinen Patch doch nochmal vor und schau ihn mir an...


    Gruß, kanadakruemel

  • hast Du nicht, kein Problem! Mein Patch hat auf Pixmaps aufgesetzt und nur die Teletextauflösung benutzt. Mein letzter (unveröffentlichter) Stand war, dass man per OSD-Einstellung Aliasing ein- und ausschalten konnte. Man kann sich also aussuchen, ob man schöne 80-er Retro Klötzchenschrift oder weichgespülten Text will. Hat beides seine Vor- und Nachteile. Vielleicht krame ich meinen Patch doch nochmal vor und schau ihn mir an...


    Das klingt doch gut. Wobei ich dann wohl im rpihddevice-Plugin das Antialiasing noch deaktivierbar machen muss - den Parameter ignoriere ich momentan gänzlich, da ich mir zum Zeitpunkt der Implementation nicht vorstellen konnte, dass jemand bewusst Klötzchengrafik haben will... ;)


    Gruss
    Thomas

  • Das kann ich bei mir nicht nachvollziehen. Passiert das auch bei deaktiviertem High-Level-OSD?


    Hm, könnte daran liegen, dass ich im softhddevice

    Code
    1. #define OGL_CMDQUEUE_SIZE 100


    gesetzt habe?! Bitmaps werden wohl pixelweise gezeichnet?


    Ciao Louis

  • Hallo,


    Thomas : wenn es dich interessiert, wie das 'Ausblenden' aussieht, kannst du dir einen Screencast ansehen.


    Mit softhddevice ohne High Level OSD (letzter Stand von johns) passiert das nicht.


    Ich habe mal etwas mit der Einstellung 'Hintergrundtransparenz' des osdteletext gespielt. Stellt man die auf 255 (0 Transparenz) bleiben keine Reste der alten Seite sichtbar, stellt man auf 0 (volle Transparenz) verschwinden die alten Seiten gar nicht mehr, alles wird überlagert.


    Gruß,
    Tomas

  • Bitmaps werden wohl pixelweise gezeichnet?

    Hoffentlich nicht! ;) Beim rpihddevice kopiere ich den Inhalt der Bitmaps zwar pixelweise (weil indiziert) in ein OpenVG-Image, zeichne dieses dann aber am Stück, d.h. nur mit einem Kommando.


    Ich habe mal etwas mit der Einstellung 'Hintergrundtransparenz' des osdteletext gespielt. Stellt man die auf 255 (0 Transparenz) bleiben keine Reste der alten Seite sichtbar, stellt man auf 0 (volle Transparenz) verschwinden die alten Seiten gar nicht mehr, alles wird überlagert.

    Diesen Effekt habe ich beim rpihddevice definitiv nicht. Das scheint wohl noch ein Problem beim High-Level-OSD von softhddevice zu sein.


    Gruss
    Thomas

  • ich muss noch mal blöd fragen: ich kann den patch auch nutzen wenn ich ein stinknormales softhddev nutze, also ohne das High-Level-OSD Gedöns?


    Danke
    Christian

    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

  • ich muss noch mal blöd fragen: ich kann den patch auch nutzen wenn ich ein stinknormales softhddev nutze, also ohne das High-Level-OSD Gedöns?

    Ja, der Patch verhindert primär, dass das Plugin auf die interne Bitmap des OSDs zugreift. Diese Funktion wurde mit vdr-2.3.1 "privatisiert", da sie prinzipiell nicht mit High-Level-OSDs funktionieren kann. Deshalb ist der Patch generell erforderlich, um osdteletext mit einem ungepatchten VDR >2.3.1 zu nutzen.


    Gruss
    Thomas

  • Nun habe ich meinen Patch doch nocheinmal rausgekramt und etwas angepasst. Dieser benutzt - wie von reufer vorgeschlagen - als Auflösung die Teletextauflösung. Das ist für Geräte wie den RPi natürlich ressourcenschonender. Für das Zeichnen in das OSD die Funktion DrawScaledBitmap genutzt. Im Einstellungsmenü des OSDTeletext Plugins kann man Antialiasing ein- und ausschalten. reufer Wenn das rpihddevice das noch nicht kann, müsste man das per DEFINE rausnehmen.


    Gruss, kanadakruemel

  • Hi,


    danke für den Patch, habe osdteletext mit dem Patch kurz angetestet:
    - Das Problem, dass sich (bei eingeschalteter Transparenz) die Inhalte der alten Seite beim Aufrufen einer Seite nicht sofort löschen, besteht immer noch.
    - Mit aktiviertem Ani-Aliasing wird das System bei mir sehr träge, es dauert mehrere Sekunden bis sich eine neue Seite aufbaut.


    Gruß maz

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • Hi maz,
    danke für's Testen. Das Anti-Aliasing wird über die Option der Funktion DrawScaledBitmap realisiert. Auf meinem System merke ich keinen Geschwindigkeitsunterschied (System siehe Signatur mit Standard softhddevice/VDPAU). Falls Du es auf Deinem System mit rpihddevice getestet hast: reufer meinte, die Anti-Aliasingfunktion ist da noch nicht drin.


    M-Reimer
    Die von Dir vorgeschlagene Lösung wäre natürlich die optisch und speichertechnisch Beste. Leider sind freie und gute Teletextfonts nicht so häufig (in Kodi gibt es glaub ich einen). Anderen Fonts würden die teletext typischen Sonderzeichen fehlen. Ich schau mal, wie aufwändig das wäre.

  • Habe es getestet unter yavdr 0.6 mit skindesigner 0.8.3 und softhddevice-openglosd. Sollte also eigentlich gehen..

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<


  • Die von Dir vorgeschlagene Lösung wäre natürlich die optisch und speichertechnisch Beste. Leider sind freie und gute Teletextfonts nicht so häufig (in Kodi gibt es glaub ich einen). Anderen Fonts würden die teletext typischen Sonderzeichen fehlen. Ich schau mal, wie aufwändig das wäre.


    Um die Font-Abhängigkeit loszuwerden würde ich nur die "ASCII-Zeichen" aus dem Font nehmen.


    Ich könnte mir das so vorstellen, dass die eingebaute Zeichenliste so umgebaut wird, dass für die ASCII-Zeichen nurnoch das entsprechende Zeichen hinterlegt wird. In dem Fall wird ein externer Font (wählbar) genommen und damit das angegebene Zeichen gerendert.