[PATCHES] YaEPG Hack obsolete as of vdr-1.7.33

  • Hi,


    in letzter Zeit leasst mir der YaEPG-Hack irgendwie keine Ruhe, ich fing also an ihn zu jagen wo er ueberall anzutreffen ist, seit es vdr-1.7.33 gibt. Johns hat mittlerweile die API in Softhddevice im GIT, Patches fuer den eigentlichen YaEPG-HD gibt es hier, und nun habe ich mal als naechstes fuer vdr-xine-0.9.4 etwas gebastelt. Vdr-xineliboutput knuepfe ich mir auch noch demnaechst vor. Bei vdr-xine habe ich es mit dem besagtem yaepg-hd getestet, und dank des entscheidenden Hinweises von jrie auch mit nOpacity mit OSD display mode NICHT auf X11-overlay, was zwar zu lustingen Skalierungen des OSD insgesamt und je nach Sender Reduzierung der Aufloesung des OSD auf die des Videomaterials fuehrt, aber das Videofenster schien mir in allen getesteten Kombinationene von Aufloesungen und Sendeformaten mit korrektem Seitenverhaeltnis skaliert.


    Werde wohl in Zukunft diesen Post solange die Patches noch noetig sind, editieren. Fuer vdr-xine-0.9.4 habe ich "for convenience" auch den noetigen PmtParser-Patch den viele kennen duerften, mit hoch geladen.


    Have fun & Frohe Weihnachten, Lucian

  • skinpearlhd verwendet auch -DUSE_YAEPG.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Also ich habe die API etwas anders verstanden.
    Basierend auf Zoolook Version.


    Dieser Patch:


    CanScaleVideo prüft nur ob möglich und reduziert falls nötig das Rectangle.
    ScaleVideo vor dem Flush setzt dann die Videoposition.
    Beim Verlassen wird wieder die Fullscreenposition hergestellt.


    Wenn dies auch schon verändert war, gibt es ein Flackern.


    Anbei ein Patch für mein Plugin, die mit dem oben gepatchten yaepghd funktioniert.


    Johns


  • CanScaleVideo prüft nur ob möglich und reduziert falls nötig das Rectangle.


    Ich weiß ja nicht, ob du CanScaleVideo() evtl. irgendwo anders aufrufst (in dem Diff sehe ich es zumindest nicht). Es gar nicht aufzurufen ist allerdings nicht korrekt, denn es kann durchaus sein, daß ein Device nicht an jede beliebige Stelle bzw. in jeder beliebigen Größe skalieren kann. Wenn dein Plugin also allgemeingültig sein soll, dann solltest du diesen Aufruf auch machen. Im Übrigen kann es ja sogar sein, daß ein Device gar nicht skalieren kann, und evtl. sollte eine Skin da ja auch mit umgehen können.


    Klaus

  • @Klaus: könntest du das Scale*... nicht für das hddvbdevice Plugin auch einbauen? :D

  • Genau, dann sieht man wie es richtig geht. :)


    Ich dachte mir schon, daß mein Patch für Verwirrung sorgt.


    Zoolock hat yaepghd bereits gepatched https://github.com/lucianm/gen…ut-YAEPG-vdr-1.7.33.patch
    auf diese Änderung setzt mein Patch wiederum auf.


    War zu faul, einen direkten Patch zuerzeugen.


    Wenn CanScaleVideo nicht funktioniert, dann sollte ScaleVideo ja ein Noop sein.
    Damit wird halt im OSD nur ein Ausschnitt des unskalierte Videos gezeigt.
    Bei Yaepghd gibts (vermute ich mal) Skins die Transparent sind und ohne das Guckloch auskommen.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Hallo,

    Es gar nicht aufzurufen ist allerdings nicht korrekt, denn es kann durchaus sein, daß ein Device nicht an jede beliebige Stelle bzw. in jeder beliebigen Größe skalieren kann. Wenn dein Plugin also allgemeingültig sein soll, dann solltest du diesen Aufruf auch machen. Im Übrigen kann es ja sogar sein, daß ein Device gar nicht skalieren kann, und evtl. sollte eine Skin da ja auch mit umgehen können.

    Ich hatte es so verstanden, CanScaleVideo sollte vom Skin aufgerufen werden, dann erst erfaehrt es vom Device ob und wie es skalieren kann. Ob es darauf reagiert, ist Sache des Skins, aber das Device hat es zumindest informiert, ob es das kann. Deswegen verstehe ich nicht warum das Device-Plugin CanScaleVideo aufrufen sollte, es sollte es nur zur Verfuegung stellen, dachte ich. ScaleVideo hingegen fuehrt das Skalieren bedingungslos aus, falls es das ueberhaupt kann, ansonsten passiert gar nichts, oder? Und dass es in cOsd::Flush optimalerweise aufgerufen werden sollte, sowie auch bei Schliessen des Osd, darueber hatten wir uns ja schon verstaendigt.


    Guten Rutsch, Lucian

  • Wenn CanScaleVideo nicht funktioniert, dann sollte ScaleVideo ja ein Noop sein.
    Damit wird halt im OSD nur ein Ausschnitt des unskalierte Videos gezeigt.
    Bei Yaepghd gibts (vermute ich mal) Skins die Transparent sind und ohne das Guckloch auskommen.

    So funktioniert es auch, und ich denke es ist auch dem Anwender gegenueber legitim, im Falle wenn das Device nicht skalieren kann, dass ein unskalierter Bereich im Guckloch sichtbar bleibt (wie es auch urspruenglich bei nOpacity implementiert war, vor dem Patch).


    Gruss, Lucian

  • Hallo,

    Ich hatte es so verstanden, CanScaleVideo sollte vom Skin aufgerufen werden, dann erst erfaehrt es vom Device ob und wie es skalieren kann. Ob es darauf reagiert, ist Sache des Skins, aber das Device hat es zumindest informiert, ob es das kann. Deswegen verstehe ich nicht warum das Device-Plugin CanScaleVideo aufrufen sollte,


    Das habe ich ja auch nicht gesagt. Ich dachte, es geht hier um eine *Skin* - oder ist YaEPG ein Device?
    Ich wollte lediglich klar machen, daß jemand, der ScaleVideo() verwendet, vorher bitteschön CanScaleVideo() aufrufen sollte.


    Klaus

  • yaEPG ist ein OSD Plugin, zeigt alternative EPG Ansicht.


    Genau hier lagen unsere Interpretations (Zoolook + meine) Unterschiede.


    Zoolook hat ScaleVideo ins cOsd::Flush() vom Ausgabeplugin eingebaut.
    Und in den Destructor cOsd::cOsd() vom Ausgabeplugin.


    Und ich bin der Meinung dies gehört in die Skin.


    Gesundes 2013,
    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • yaEPG ist ein OSD Plugin, zeigt alternative EPG Ansicht.


    Hmmm, ich weiß zwar nicht, was ein OSD-Plugin mit dem EPG zu tun haben sollte, aber vielleicht muß ich das auch nicht verstehen...


    Zitat


    Zoolook hat ScaleVideo ins cOsd::Flush() vom Ausgabeplugin eingebaut.
    Und in den Destructor cOsd::cOsd() vom Ausgabeplugin.


    Das ist natürlich beides falsch.


    Zitat


    Und ich bin der Meinung dies gehört in die Skin.


    Ganz genau!


    Klaus

  • Hi,

    skinpearlhd verwendet auch -DUSE_YAEPG

    ich wollte es gerade eben auch in Angriff nehmen, aber wenn Du das hier meinst, das ist kein VDR-Plugin sondern nur eine Ansammlung von Themes fuer vdr-text2skin, die optional auch YaepgHD Themes installieren. Vdr-text2skin selber scheint ueberhaupt nicht zu skalieren. Oder habe ich da was falsch verstanden?


    Lucian

  • Danke Euch fuer die Erlaeuterungen, habe nun am Anfang des Threads den vdr-xine scaling Patch dem entsprechend aktualisiert, den verlinkten YaEPGHD auch.
    Ciao, Lucian

  • Hi,

    ich wollte es gerade eben auch in Angriff nehmen, aber wenn Du das hier meinst, das ist kein VDR-Plugin sondern nur eine Ansammlung von Themes fuer vdr-text2skin, die optional auch YaepgHD Themes installieren. Vdr-text2skin selber scheint ueberhaupt nicht zu skalieren. Oder habe ich da was falsch verstanden?


    Ich habe nur gesucht (fgrep) wer sowas verwendet ohne darauf zuachten warum,


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Ich habe nur gesucht (fgrep) wer sowas verwendet ohne darauf zuachten warum,

    Habe ich mir fast gedacht, dann passt es ja, danke.


    Lucian

  • skinpearlhd (natives skin) != skin-pearlhd (text2skin)

    Danke, jetzt wo Du es sagst, erinnere ich mich es frueher mal gesehen zu haben, bloss diese Namensgebung und der Umstand dass das native Plugin fuer Gentoo nicht gepackaged war hat uns hinter's Licht gefuehrt. Ok, ich habe mal 'rein geguckt, das native skinpaerlhd verwendet (zumindest noch) keine Skalierung des Videobildes.


    Gruesse, Lucian

Jetzt mitmachen!

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