[ANNOUNCE] Avards-Plugin 0.1.0 und 0.1.1-beta

  • Hi,


    ich habe das Plugin (detect.c) so überarbeitet, daß nicht mehr das Video-Device geöffnet wird, um an das aktuelle Image zu kommen. Es wird jetzt GrabImage() genutzt. Dies ist eine Vorstufe, damit zukünftig Atmo- und Awards-Plugin gleichzeitig aktiv sein können. Das Awards-Plugin soll einfach testen ob das Atmo-Plugin geladen und aktiv ist. Wenn ja, bittet es das Atmo-Plugin das letzte 'gegrabbte' Image durchzureichen. Wenn das Atmo-Plugin nicht aktiv ist, wird einfach GrabImage() genutzt.


    Im Patch sieht es so aus, daß detect.c komplett geändert wurde. Dem ist nicht so. Allerdings hat sich ein großer Teil des Kodes um einige Klammerebenen verschoben.


    Gruß
    e9hack

  • Geht damit der Fernseher in VDRAdmin wieder?



    Gruß


    tec

  • Zitat

    Original von tecfreak
    Geht damit der Fernseher in VDRAdmin wieder?


    Ja, aber nur weil sich awards deaktiviert. Das Design von GrabImage läßt es nicht zu, daß mehrere Threads parallel zugreifen.


    Gruß
    e9hack

  • Zitat

    Original von e9hack
    ich habe das Plugin (detect.c) so überarbeitet, daß nicht mehr das Video-Device geöffnet wird, um an das aktuelle Image zu kommen...


    Damit verreisst du dann aber das ganze Timing?! Daneben kannst du so nur jedes zweite Bild verarbeiten?! Sollten 'wir' hier nicht eher eine Lösung mit echtem Frambuffersharing von kls abwarten, bevor wir n+1 Plugins und den vdr verpatchen...?!

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Zitat

    Original von habichthugo
    Damit verreisst du dann aber das ganze Timing?! Daneben kannst du so nur jedes zweite Bild verarbeiten?!


    Wenn die Poll-Rate auf 80ms steht, holt sich awards sowieso nur jedes 3. Bild.


    Zitat


    Sollten 'wir' hier nicht eher eine Lösung mit echtem Frambuffersharing von kls abwarten, bevor wir n+1 Plugins und den vdr verpatchen...?!


    Kannst Du einen Termin nennen, wann es echtes Framebuffersharing geben wird?


    Mir ist schon klar, daß meine Idee keine Ideallösung ist. Ich brauche aber atmo und awards schnellstmöglich parallel.


    Gruß
    e9hack

  • Zitat

    Original von e9hack
    Wenn die Poll-Rate auf 80ms steht, holt sich awards sowieso nur jedes 3. Bild.


    Ach du Sch...!? Die letzte rausgegebene Version ja arbeitet nur mit einem Puffer und kann damit maximal jedes zweite Bild verarbeiten (nicht "nur jedes 3.", aber schnurz) - stimmt. Ich war da schon etwas weiter. Was man in 'nem knappen Jahr nicht alles vergisst... :unsch

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Möchte mich an der Stelle auch gerne bedanken - ich nutze avards jetzt Produktiv und die Aspect-Taste meines TV (den ich btw. in der Avards-Kompatiblitätsliste im Wiki eingetragen habe) ist wesentlich weniger beansprucht ;)

  • hallo,
    ich finde AVARDS auch interessant, leider bekomme ich compiler fehler:


    dvb treiber habe ich aus dem repository, also brandaktuell


    mein system:

  • bei mir hat ein beherztes Einfügen von


    #include <linux/types.h>


    in besagter video.h geholfen. Auch andere Plugins wie z.B. music oder videosystem lassen sich ansonsten nicht kompilieren.

    Dr. Brömme grübelt:
    Acht Wochen, nachdem man ihm beim Kölner Straßenkarneval einen Gratiskorn angeboten hatte,
    dämmert ihm langsam, dass er einem hinterlistigen Alaafisten aufgesessen ist.

  • jau, das hats gebracht. es steht bei mir auch schon etwas ähnliches drin:

    C
    #ifdef __KERNEL__
    #include <linux/types.h>
    #else
    #include <stdint.h>
    #include <time.h>
    #endif


    aber scheinbar ist __KERNEL__ dann ja nicht definiert...
    keine ahnung, jedenfalls kann ich das plugin jetzt übersetzen. besten dank.

  • Im log ist nichts zusehen? Da muss zumindest sowas wie

    Code
    initializing plugin: avards (0.1.0): Automatic Video Aspect Ratio Detection and Signaling Plugin
    .....
    starting plugin: avards


    und beim starten/umschalten dann

    Code
    avards-detector thread started (pid=01234, tid=01234)
    ...
    avards: switching to L16:9(3)
    avards: setting WSS data to 0b


    ... vorhanden sein


    Hast Du im Hauptmenü einen Punkt "Avards starten"? Wenn Du den auswählst und wieder das Hauptmenü aufrufst, steht dann da "Avards stoppen"? Hast Du evtl. mehrere /dev/vbi-Devices?


    Gruß
    FireFly

  • Zitat

    Original von FireFly
    Im log ist nichts zusehen? Da muss zumindest sowas wie

    Code
    initializing plugin: avards (0.1.0): Automatic Video Aspect Ratio Detection and Signaling Plugin
    .....
    starting plugin: avards


    das ja, vdr startet ganz normal und ich habe auch den avards menu eintrag


    Zitat


    und beim starten/umschalten dann

    Code
    avards-detector thread started (pid=01234, tid=01234)
    ...
    avards: switching to L16:9(3)
    avards: setting WSS data to 0b



    Hast Du im Hauptmenü einen Punkt "Avards starten"? Wenn Du den auswählst und wieder das Hauptmenü aufrufst, steht dann da "Avards stoppen"?


    und genau das passiert bei mir nicht. nachdem ich auf start gedrückt habe und erneut das menu öffne, steht dort wieder avards starten...


    Zitat


    Hast Du evtl. mehrere /dev/vbi-Devices?


    Code
    vdr ~ # ls /dev/vb*
    /dev/vbi0
  • gestern hab ich nochmal aus jucks "avards starten" gedrückt und siehe da, es klappt. scheinbar hat der reboot, der zwischen den tests lag, geholfen. auf jeden fall funktioniert es jetzt. und das auch schon ziemlich gut. ich werde das plugin jetzt mal etwas testen. gestern hatte ich auch irgendwas gesehen, was etwas zu viel vergrößert wurde. wie kann man am besten helfen, wenn man ein fehlverhalten feststellt? die entsprechende sendung aufnehmen, damit du das nachvollziehen kannst?

  • Zitat

    Original von hampelratte
    gestern hab ich nochmal aus jucks "avards starten" gedrückt und siehe da, es klappt. scheinbar hat der reboot, der zwischen den tests lag, geholfen. auf jeden fall funktioniert es jetzt.

    Wenn ich bei meinem Dual-System (FF+Budget) die Treiber neu lade habe ich immer einen neuen vbi-Device. Das war es zwar bei Dir lt. dem Post oben nicht, aber vielleicht hängt es ja doch damit zusammen.


    Zitat

    gestern hatte ich auch irgendwas gesehen, was etwas zu viel vergrößert wurde. wie kann man am besten helfen, wenn man ein fehlverhalten feststellt? die entsprechende sendung aufnehmen, damit du das nachvollziehen kannst?

    Ich arbeite daran, das über Logmessages nachvollziehbar zu machen. Es könnte aber sein, dass sich das als ein generelles (Toleranz-)Problem entpuppt .... Habichthugo hatte mir dazu vorgeschlagen die Grenzen einstellbar zu machen, aber erst mal möchte ich mehr Infos dazu sammeln (mit der nächsten Beta-Version ;D)

  • Hallo,


    hier ist mal ein Zwischenschritt auf dem Weg zur nächsten Release. Unter der Haube hat sich einiges getan - nach außen (Schnittstellen) aber auch ;D


    Hinzugekommen sind:

    • eine Service-Schnittstelle, um die OSD-Größe und den WSS-mode abfragen zu können (nicht endgültig)
    • SVDRP-Interface (vorgeschlagen von Viking)
    • Setup-Option zum manuellen Einstellen des WSS-Modus
      Dieser Modus sollte das /dev/video-Device nicht mehr belegen!
    • umstellen der Detectionroutine, um einige Infos nach draußen geben zu können sowie den Modus manuell einstellen zu können
    • es gibt einen alternativen Auswahlalgo für den WSS-Modus. Bisher wird er nicht verwendet, gibt jedoch bei unterschiedlichem Ergebnis eine Meldung im Log aus


    Ob die OSD-Größe über eine Service-Schnittstelle abfragbar sein soll oder die Größe im VDR-Setup von Avards geändert werden soll ist noch nicht endgültig entschieden. Mit dieser Beta geht's mir erst mal darum, ob die OSD-Größenberechnung so ok ist. Ein diff für SkinElchi zum Testen der OSD-Größenänderungen ist mitangehängt. (mit der Bitte um Feedback :))
    Wie sensibel die OSD-Größenänderung ist habe ich letztes Wochenende gemerkt, als ich dachte, ich hätte mir die DVB-Karte zerschossen weil sie gar kein OSD mehr darstellte: VDR-Restart/Treiber-Reload/Reboot hat alles nicht geholfen. Im Endeffekt hatte das Plugin falsche Werte an den Skin geliefert und deshalb wurde einfach gar kein OSD mehr dargestellt...


    Mit dem manuellen Modus sollte das /dev/video-Device jetzt nicht mehr benutzt werden, so dass andere Plugins es benutzen können. Der Modus wird in den Einstellungen des Plugins ausgewählt; aktiviert/deaktiviert wird es weiterhin mit dem Eintrag im Hauptmenü.


    Mir ist aufgefallen, dass manchmal "zuviel" gezoomt wird, so daß oben und unten einige Zeilen fehlen. (Ich hoffe, ich habe da beim umbauen nix kaputtgemacht). Deshalb habe ich testweise mal einen anderen Auswahlalgo für den Zoommodus implementiert, der immer alle übertragenen Zeilen sichbar hält, aber evtl. die Aspect Ratio "verschlimmbessert". Auch hier bitte ich um Feedback. Ganz Mutige können es ja in detector.c Zeile 304 aktivieren ;D


    Viel Spaß beim Testen
    FireFly


    [edit] korrigierten skinelchi-Patch angehängt [/edit]

  • Hallo!


    Zitat

    Original von FireFly
    Hallo,


    hier ist mal ein Zwischenschritt auf dem Weg zur nächsten Release. Unter der Haube hat sich einiges getan - nach außen (Schnittstellen) aber auch ;D


    Vielen Dank für die neue Version und die Schnittstellen, habe ich schon sehnsüchtig erwartet ;)


    Zitat
    • eine Service-Schnittstelle, um die OSD-Größe und den WSS-mode abfragen zu können (nicht endgültig)


    Falls es jemand interessiert:
    Im aktuellen CVS-Stand von EnigmaNG kann man die OSD-Größe vom Avards-Plugin verwenden. Dazu muß man EnigmaNG mit SKINENIGMA_USE_PLUGIN_AVARDS in der Make.config neu übersetzen und dann im EnigmaNG-Setup bei "Allgemein" die Option "Dynamic OSD size" setzen. Außerdem wird dann bei aktivem Avards im ChannelInfo-OSD der WSS-Modus angezeigt.
    Die Implementierung ist noch als experimentell zu sehen und könnte evtl. auf avards-0.1.1beta2 beschränkt sein, falls FireFly die Schnittstelle ändert.


    Gruß,
    Andreas

Jetzt mitmachen!

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