Allgemeine Fragen zum DVB-OSD

  • Hi!


    Hätte zwei prinzipielle Fragen zum OSD.


    Als erstes dachte ich immer, dass man ein cOsdObject erstellen kann, das 720x576 Pixel groß ist, allerdings scheint das nicht so zu sein, sondern 672x567. Das sind auch im VDR die Grenzen für die OSD-Größe, die man einstellen kann. Zudem scheint es noch so zu sein, dass das OSD dadurch die Videofläche nicht kompett belegt, zumindest wenn man es nach (0,0) legt.
    Wenn man es ca. auf (24, 5) legt, verdeckt es das Video komplett. Weiß jemand warum das OSD kleiner ist? Ist da der Overscan schuld?


    Die zweite Frage wäre: Weiß jemand welche Auswirkung ein true beim cOsdObject bewirkt? Dadurch soll man einen "FastResponse" erhalten, aber was genau bringt das?


    Ich hoffe mal das sind nicht zu nervige Fragen. ?(


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Hallo Brougs78,


    Zitat

    Original von Brougs78
    Die zweite Frage wäre: Weiß jemand welche Auswirkung ein true beim cOsdObject bewirkt? Dadurch soll man einen "FastResponse" erhalten, aber was genau bringt das?


    In der Warteschleife auf neue Tasten wird normalerweise eine Sekunde gewartet bis 'kNone' zurückgegeben wird --> das aktuelle Objekt auf dem OSD hat also nur jede Sekunde die Kontrolle.


    Wird jetzt bei der Erstellung des Objektes FastResponse = true mit angegeben, so wird es ca. 100 mal die Sekunde aufgerufen --> höhe CPU-Last.


    Siehe cReplayControl zur Darstellung des Balkens ist es erfoderlich das eine Akualisierung mal als einmal in der Sekunde erfolgt.


    Hardy


    PS: zur ersten Frage habe ich keine Ahnung

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • Hi!


    Danke für die Antwort. Deshalb ist das wahrscheinlich auch im OSDPip auf true gesetzt, damit man mehrere Bilder/Sekunde schafft.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Original von Brougs78
    Ist da der Overscan schuld?


    Ja.


    Ich habe eine 4MB Karte und hab auch schon full-screen Skins damit gemacht, der Overscan schneidet aber ab (und ich durfte alles nochmal malen).
    Mehr als die oben genannten Dimensionen würden Dir daher ohnehin nichts nützen.

  • Hi!


    Naja, da muss man leider erst so draufkommen. :D
    Hab ich auch einige Zeit zu gebraucht. :]


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Original von Brougs78
    Danke für die Antwort. Deshalb ist das wahrscheinlich auch im OSDPip auf true gesetzt, damit man mehrere Bilder/Sekunde schafft.


    Nicht ganz, bei OSDPip (sowie z.B. auch bei text2skin) wird das OSD in einem eigenen Thread gezeichnet, da haben wir die volle Kontrolle über das Zeitverhalten. Mit FastResponse=true lässt sich halt schneller auf Ereignisse von aussen reagieren, sollten diese in ProcessKeys abgefragt werden müssen (aus welchem Grund auch immer).

  • Hi!


    Ahhh, ist eigentlich logisch. War Blödsinn von mir. Die Eingabe hat da eigentlich wenig mit der Ausgabe zu tun.
    Ja das mit dem Threading möchte ich mir auch noch mal ansehen. Mal schauen welche Plugins ich dazu "zerlegen muss" bis ich das kapiere. :D
    Das hat ja mit Mutex zu tun oder? (wofür das auch immer steht MUTe EXec ???). Und wegen einer Änderung in vdr-1.3.13 am Mutex funzen genau diese Plugins, die den Mutex brauchen nicht mehr oder? Hoffe ich verzapfe nicht schon wieder Dummfug. ;D


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Original von Brougs78
    Ahhh, ist eigentlich logisch. War Blödsinn von mir. Die Eingabe hat da eigentlich wenig mit der Ausgabe zu tun.
    Ja das mit dem Threading möchte ich mir auch noch mal ansehen. Mal schauen welche Plugins ich dazu "zerlegen muss" bis ich das kapiere. :D
    Das hat ja mit Mutex zu tun oder? (wofür das auch immer steht MUTe EXec ???). Und wegen einer Änderung in vdr-1.3.13 am Mutex funzen genau diese Plugins, die den Mutex brauchen nicht mehr oder? Hoffe ich verzapfe nicht schon wieder Dummfug. ;D


    MutEx steht für MUTual EXclusion (gegenseitiges Ausschliessen). Das funktioniert in VDR 1.3.13 alles noch wie vorher, da Klaus die "kritische" Änderung in eine neue Klasse verlagert hat und die alten Klassen wie bisher anbietet.


    Mit diesem MUTEX hast Du primär erstmal die Möglichkeit zu verhindern, dass zwei Threads dieselben Datenbereiche (Beispiel Text2Skin: die angezeigten Daten) benutzen, damit nicht etwa ein Thread gerade die Daten aktualisiert während der andere Thread aus den "halb-aktualisierten" Daten ein Bild aufbaut.


    Um eine richtige Synchronisation zu erhalten spielt noch eine Condition Variable mit. Diese ist fähig einen Thread warten zu lassen, bis ein anderer ein Signal gibt. Diese braucht auch einen Mutex, um zu verhindern, dass der eine Thread ein Signal gibt, obwohl der andere noch garnicht wartet (Near-Miss Condition, oder "knapp verpasst").

  • Hi!


    Danke für die Infos. Ja das Threading ist sicherlich auch wieder ein "lustiges" Gebiet wo man lange Fehler suchen kann. :D
    Derzeit verusche ich ein Memory-Leak einzudämmen. Um so einem "Segmentation Fault" auf die Schliche zu kommen muss ich mich wohl mal genauer mit gdb beschäftigen ... :rolleyes:


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

Jetzt mitmachen!

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