Beiträge von hubermat

    Sodele, jetzt klappt's!


    - einfach nur in directfbrc ARGB zu RGB32 ändern bringt nichts


    - Patch in SoftOsd.c: ich habe jetzt ein halbtransparentes OSD (d.h. auch Text und Rahmen etc. sind halbtransparent). Bei meiner DXR3-Karte ist nur der Hintergrund des OSD halbtransparent, oder irre ich da? Gleichzeitige Änderung der directfbrc (siehe oben) bringt nichts weiter. Wie kann ich denn den Transparenz-Grad ändern?


    Vielen Dank, daß es schon so gut geht!
    Gruß,
    Matthias

    Neue Ergebnisse:


    - Black-Border-Patch habe ich rausgenommen, jetzt habe ich bei Screen Aspect "15:9" ein schönes 4:3-Bild (mit schwarzen Streifen links und rechts) auf meinem TFT. So soll es sein. Allerdings wäre es schön, wenn ich dieses Bild jetzt proportional skalieren könnte, so daß es das ganze TFT ausfüllt (auch wenn dadurch oben und unten etwas vom Bild wegfallen würde). Gibt es da schon irgendetwas oder sollte ich da eine Setup-Einstellung erfinden?


    - die Änderung von regs->OCMD bringt leider nichts für das OSD :(


    - Xorg habe ich nicht auf meinem System drauf (hatte ich eigentlich auch nicht vor).


    Gruß,
    Matthias

    Super, ich habe jetzt ein Bild in voller Höhe! :welle


    Was ich noch nicht so richtig verstanden habe, ist, nach welcher Heuristik das Bild wie skaliert wird.


    Das wäre zunächst "Screen Aspect". Das ist bei mir (1280x768) 15:9. Dabei wird das Bild dann hochskaliert und manchmal sind da schwarze Balken links und rechts und manchmal nicht.


    Die Skalierung wechselt offensichtlich dynamisch ("new Aspect detected 1.555556" oder "new Aspect detected 1.777778"). Wer detectet da was?


    Eigentlich möchte ich gerne, daß das normale PAL Fernsehbild (720x576?) entweder auf die volle Display-Höhe gleichmäßig skaliert wird (=956x768, entspricht 4:3 mit schwarzen Balken links und rechts) oder auf die volle Display-Breite (=1280x1024, also fällt oben und unten etwas weg).


    Uuups, gerade nachgerechnet: 720/576 = 1.25 = 5:4. Langsam blicke ich nicht mehr durch...


    Vielleicht kannst Du da ein wenig Licht reinbringen?


    Vielen Dank und Gruß,
    Matthias


    P.S. und das OSD-"Problem" (kann man eigentlich gar nicht so nennen) existiert weiterhin...

    So, zu den Fragen:


    - Messages in syslog: ich habe eine Aufnahme abgespielt, und im OSD zweimal ein anderes Aspect-Ratio gewählt. Ausgabe in syslog:


    An der Kommando-Zeile (von der aus ich gestartet habe) gibt es nur immer wieder:

    Code
    [surface capabilities] videoSurface: videoonly double-buffered flipping PixelFormat = 0x08100609 
    [dfb] (re)configured 0x08100609
    YaEPG Window open 2
    [dfb] (re)configuring Videolayer to 720 x 576 (720x496)
    -- using: PIPE_A


    - Modifikationen an intelfb:
    Hiermit wird die Überprüfung abgeschaltet, ob DVO bzw. LVDS verwendet wird:

    Code
    diff drivers/video/intelfb/intelfbdrv.c /opt/nfsroot/scu/usr/src/linux/drivers/video/intelfb/intelfbdrv.c
    792c792,793
    <       if (dvo) {
    ---
    >       /* was: if (dvo) */
    >       if (0) {


    Und hiermit wird der PIPE_B der Vorzug gegenüber PIPE_A gegeben (der #if 0-te Teil ist nicht relevant, Ergebnis ist dasselbe):


    - /dev/fb1 gibt es nicht.


    - REGDUMP (der unmittelbar von softdevice: videoout okay):


    Soweit.
    Gruß,
    Matthias

    Juhuuu,
    es gibt ein Bild! Bei 85% idle :D Erstmal vielen Dank für den Patch und alle Tips!!


    Zwei Punkte sind aber noch verbesserungwürdig.
    1. Das OSD ist voll opaque
    Logisch, da der OSD Layer kein Alphablending kann. Aber: um das OSD herum ist das Video-Bild zu sehen (color-keying?). Dann müßte es doch auch möglich sein, die Hintergrundfarbe des OSD generell auszublenden (sprich: nur Schrift und farbige Balken etc. werden angezeigt).


    2. Das Aspektratio
    Ich habe mal eine Serie von Bildern eingefügt. Sie zeigen alle die gleiche Szene von einem Film auf Arte. Der Film ist in Cinemascope o.Ä., auf alle Fälle aspect > 16:9, gut zu erkennen an den breiten schwarzen Balken beim ersten Bild (von meinem 4:3 Fernseher). Das Senderlogo ist auch gut zu sehen, das Film-Bild ist vertikal zentriert. Achtung, nicht verwechseln: dieses Bild ist von meinem anderen VDR mit DXR3-Karte!
    [Blockierte Grafik: http://www.jazzgames.com/4zu3TV.jpg]


    Die anderen Bilder sind von meinem 16:9-TFT (1280x768 Pixel, also nicht ganz 16:9) und dem VDR mit Softdevice.
    Zunächst das Bild mit Softdevice-Aspectration 4:3. Zu erkennen ist, daß der Video-Layer die volle Breite belegt, aber in der Höhe unten und oben Platz läßt (gleichmäßig). Das dunke Grau ist das Schwarz vom Video-Layer. Außerdem fällt auf, daß das Film-Bild nicht mehr vertikal mittig sitzt, unten ist also etwas abgeschnitten.
    [Blockierte Grafik: http://www.jazzgames.com/4zu3.jpg]


    Das nächste Bild ist mit aufgeschaltetem OSD.
    [Blockierte Grafik: http://www.jazzgames.com/osd_4zu3.jpg]


    Wenn ich im Softdevice-Setup zu Aspect "default" wechsele, siehts so aus:
    [Blockierte Grafik: http://www.jazzgames.com/osd_default.jpg]


    Und bei Aspect "16:9":
    [Blockierte Grafik: http://www.jazzgames.com/osd_16zu9.jpg]


    Noch ein Detail: ich bekomme immer die Ausgabe
    [dfb] (re)configuring Videolayer to 720 x 576 (720x496).


    Mein Wunsch wäre natürlich, bei 4:3 die volle Höhe zu nutzen und rechts und links schwarze Balken, bei 16:9 die volle Breite und oben und unten abgeschnitten...


    Gruß,
    Matthias

    Schläfst Du eigentlich auch mal?
    Eigentlich ist das ein kompletter Rechner, den ich im meinem Projekt bei der alten Firma (Heidelberger Druckmaschinen) entwickelt habe. Durch das verwendete ETX-Modul von Kontron, welches schon alle relevanten Chips etc. enthält (also Prozessor, Chipsatz, Speicher-Slot, etc.), beschränkte sich unsere Arbeit auf das Base-Board, auf welches das ETX-Modul aufgesteckt wird und welches eigene Erweiterungen enthält, sowie auf Gehäuse, Kühlung, Spannungsversorgung etc. Bootet von CompactFlash.
    Das Rechner ist ziemlich kompakt (ca. 30x20x15 cm) und komplett passiv gekühlt (kein Lüfter!). Spezifiziert bis zu einer Umgebungstemperatur von 60 Grad.
    Stromverbrauch: 1 A bei Volllast an 24V. 8)
    Bilder später.


    [edit] Wenn ich's mir recht überlege, könnte ich den Rechner eigentlich auch durchlaufen lassen, bei dem Stromverbrauch. Dann wäre mein Client immer sofort verfügbar... :D

    Erstmal vielen Dank für die unermüdlichen Tips und Patches.
    Ich werden den neuesten Patch heute abend ausprobieren.


    Was vielleicht noch interessant ist: Mein Display ist an den LVDS-Ausgang des Chipsatzes angeschlossen, also an Output-Pipe B (ist mir eingefallen, als Du PIPE schriebst :)). Das BIOS aktiviert aber Pipe A und B parallel (CRT + LVDS). Ich mußte den intelfb patchen, daß bei dieser Konstellation die Werte von Pipe B den Vorrang haben vor Pipe A (sprich: es wird geschaut, ob Pipe B aktiv ist und dann dort der Framebuffer aktiviert).
    Wenn es im Patch um die gleiche "Pipe" geht... Ich bin gespannt!!

    Primary-Device: sonst keines drin (es soll ja mal mit streamdev funktionieren).
    In setup.conf: PrimaryDVB=1


    Ich habe jetzt mal mit "df_layer xyz.mpg" probiert, einen mpg Film mit einer Player-Applikation von DirectFB-examples abzuspielen. Und was soll ich sagen: Ton kommt raus, aber kein Bild!!!
    Mit "df_video xyz.mpg" habe ich es dann hinbekommen, einen Film abzuspielen, allerdings ist mir da der Code noch nicht ganz klar.


    Andere Auflösung: geht nicht so einfach, da ich die 1280x768 schon in softdevice regepatcht habe (für das OSD).

    stl: Habe jetzt erst Dein Posting bemerkt.
    Mein Chipsatz ist der Intel i855GM.


    lspci:
    00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
    00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)


    Könnte es sein, daß es bei mir genau umgekehrt ist? Daß der Video-Layer einfach nicht durch das OSD hindurchscheinen kann, weil das OSD voll opaque ist?

    Hallo,
    neueste Ergebnisse mit Patch und mit/ohne geänderten Brightness- etc. Werten: kein Unterschied :(
    Ich schau mir jetzt mal ein paar DFB Examples an, ich denke, bei mir stimmt irgendetwas mit den Layern nicht. Oder der Video-Provider funzt nicht (ich denke da an die geringe Prozessorlast...).
    Für weitere Tips bin ich trotzdem dankbar.
    Gruß,
    Matthias

    Vielen Dank für die Tips. Ich werde das heute abend mal versuchen.
    Ich kann mir allerdings die niedrige Prozessorlast noch nicht so richtig erklären. Ich hätte bei Software-Decoding eher 50%-100% erwartet, es sei denn, der i830-Treiber von DirectFB erledigt die Dekodierung in Hardware...
    Gruß,
    Matthias

    Hallo Stefan,
    UseStretchBlit hatte ich probeweise mal eingeschaltet, hat aber keine Veränderung gebracht. Wenn es aus ist, ist das Problem das gleiche.
    Was ich vergaß zu erwähnen: die CPU-Belastung lag beim Film-Abspielen um die 4%, was darauf schließen läßt, daß das Video gar nicht dekodiert wird.... Wie gesagt, Ton kommt raus.
    Das Board ist eine Eigenentwicklung meiner alten Firma, basierend auf einem ETX-Modul von Kontron (mit Pentium M 1.4 GHz und i855GM Chipsatz).
    Gruß,
    Matthias

    Hallo zusammen,
    ich habe hier ein Framebuffer-TFT mit 1280x768 an einem Pentium M mit i855GM Chipsatz hängen.
    Der i855GM läuft mit intelfb ganz gut (Console in voller Auflösung) und DirectFB läuft auch:

    Ich habe vor, Softdevice mit DirectFB einzusetzen.
    Also vdr, softdevice, streamdev-client übersetzt. Wenn ich den VDR jetzt mit

    Code
    scu ~ # vdr -c /etc/vdr -P "softdevice -ao alsa: -vo dfb:" -P streamdev-client

    starte, bekomme ich ein schönes OSD, aber leider kein Video-Bild (schwarzer Bildschirm). Testen tue ich durch Abspielen einer Aufnahme. Ton kommt raus, aber halt kein Bild.
    Was mache ich falsch?
    In einem anderen Thread hat jemand schonmal mit den DFB-Layern rumgespielt und OSD und Video-Layer vertauscht...


    Hier mal die Ausgabe, wenn ich VDR starte:

    Gruß,
    Matthias


    P.S. Folgende Versionen verwende ich:
    [I--] [ ] sys-kernel/gentoo-sources-2.6.17-r7 (2.6.17-r7)
    [I--] [M~] dev-libs/DirectFB-0.9.25.1 (0)
    [I--] [M~] dev-libs/DFB++-0.9.25 (0)
    [I--] [ ] media-video/vdr-1.4.1-r2 (0)
    [I--] [M~] media-plugins/vdr-softdevice-0.2.3.20060912 (0)
    [I--] [ ] media-plugins/vdr-streamdev-client-0.3.3_pre20051219 (0)

    Ich wäre auch dabei, allerdings mit 70x70 mm und Lüftungsschlitzen.


    Wären so viele verschiedenen individuellen Varianten überhaupt abwicklungstechnisch möglich?
    Wenn ja, bin ich gerne dabei. Wenn nein, verrätst Du uns den Fertigungsbetrieb, oder ist das eine "Beziehungskiste"?


    Ich fänd's ja schon ziemlich geil, wenn's klappen könnte.


    Gruß,
    Matthias

    Hallo,
    ich bin jetzt für 3 Wochen im Urlaub :), daher leider keine weiteren Fotos von Aufhängung oder Lötarbeit meines Displays mit abgesetzter Elektronik. Ich werde aber trotzdem kurz versuchen, die aufgeworfenen Fragen zu klären.


    Das 40-polige Kabel habe ich wie folgt verlötet:
    Jeweils die Pins 1/16, 2/17, 3/18, ..., 15/30 sind mit einem verdrillten Adernpaar verlötet. Diese Pins übertragen das differenzielle LVDS-Signal und liegen jeweils übereinander.
    Bei der unteren Pin-Reihe sind die vier äußeren Pins auf der Huckepackplatine auf Masse zusammengelegt - ich weiß aber nicht mehr auswendig, ob Pin 31-34 oder 41-44. Bitte selber mal auf der Huckepackplatine nachschauen, es ist dort ziemlich eindeutig zu sehen. Diese vier Pins habe ich an den Schirm des Kabels gelötet - auf beiden Seiten!! Der Schirm des Kabels ist damit gleichzeitig die Masse-Leitung. Nur so geht es, daß ich mit 40 Käbelchen + Schirm auskomme bei eigentlich 44 Pins.
    Um einer Rückfrage gleich vorzubeugen: Natürlich darf ich den Schirm in diesem Fall auf beiden Seiten anlöten, das ist hier sogar explizit erforderlich für die Masse-Verbindung. Bei anderen Anwendungen lötet man den Schirm nur auf einer Seite an Masse, da noch eine andere Masse-Leitung im Kabel existiert und sonst eine Masse-Schleife entstehen würde. Hier ist der Schirm die Masse-Leitung!

    Zur Aufhängung:
    Ich habe 8 Montage-Winkel mit Kantenlänge 5cm aus dem Baumarkt gekauft. Je zwei davon werden zu einem U verschraubt. Den einen Schenkel des Us habe ich mit zwei 6er Dübeln an die Wand geschraubt, an den anderen Schenkel wird das Display geschraubt (an den vier Befestigungs-Laschen in den Ecken). Das Display hat dadurch ca. 2 cm Luft zur Wand, das sollte für eine Konvektions-Belüftung reichen (Kamin-Effekt).
    Leider hat bei dieser Entfernung zur Wand die Huckepackplatine keinen Platz mehr hinter dem Display. Ich habe sie daher von unten an das Display geschraubt (in eine der vorhandenen M4-Muttern). Das Tastenfeld habe ich rechts an das Display geschraubt (Löcher auf M4 aufbohren!). Für das Ergebnis siehe die Bilder auf vorheriger Seite.
    Darüber kommt natürlich noch eine Blende...


    Meine Frau hat jetzt nur noch ein Problem damit, daß nun ein überdimensionales schwarzes etwas an unserer Wohnzimmerwand hängt. Sie wünscht sich irgendetwas zum Abdecken, wenn das Display nicht verwendet wird. Zum Beispiel ein Bild, welches sich auf Knopfdruck wegschiebt. Oder ein halb-durchlässiger Spiegel (ist schon wieder vom Tisch, das würde ja bei dunklen Szenen spiegeln wie Sau). Hat jemand von Euch schon irgendwie in diese Richtung gedacht?


    Gruß,
    Matthias