Beiträge von rell

    So habe meine Festplatten installation hinbekommen
    ich werde nun mal nur den x-server installieren ohne fenstermanager
    evtl verhindert der das saubere osd ;)


    Performance möglicherweise ja, OSD Problem nein.

    Zitat


    evtl bringt es auch etwas den 3.10 kernel mal drauf zu haun ..


    Nein. stage/sunxi-3.4 ist der aktuellste bzw. umfangreichste.


    Möglicherweise haben wir das Problem gefunden. Könnt ihr bitte schauen, ob es sich bei euch das "flackernde" OSD reproduzieren lässt?
    Bei mir taucht bei dmesg immer diese Meldung auf "wait g2d irq pending flag timeout" - danach flackerts.
    Vorgehensweise: Mit mplayer das bunny abspielen, geht gut. VDR Start 1, geht gut. Keine Meldung, VDR Start 2 -> Flackern und Meldung.
    Wenn sich jemand den Kernel selber bauen möchte, kann er mal probehalber den Timeout hier https://github.com/linux-sunxi…char/sunxi_g2d/g2d.c#L122 auf 100 hochzusetzen.
    Gruß Andreas

    Ok. Den Commit hatte ich noch nicht drin am Samstag. Ich muss da heut abend mal ein paar Tests fahren.
    Ja, bei mir war das OSD ordentlich in der richtigen Größe da. Mit "svdrpsend hitk ..." konnte ich auch navigieren. Das war alles problemlos bis auf Minimales Flackern. Aber das wird sich auch noch geben...
    Ob die Farben passten weiß ich nicht, da war die Zeit zu kurz, aber das kann höchsten noch an Drehern in den ARGB Werten liegen.
    EDIT Gibts da logs, wo/womit softhddevice aussteigt? Ok ;)
    Gruß Andreas


    EDIT2: Achtung: repo (ein letztes Mal) rebased, damit endlich Ordnung ins Datum kommt ;)

    Hallo,
    ich habe mein Repo rebased auf Basis von den neuesten Commits von jemk. Siehe hier. Den aktuellen Stand habe ich noch nicht ausprobiert, sollte aber so funktionieren, wie der alte von Samstag. OSD ging da ganz gut, flackerte noch minimalst.
    softhddevice habe ich mit DUSE_BITMAP kompiliert, und in der script.bin framebuffer_num=4 und scaler_mode enabled. Alles auf einem A10.
    Jetzt muss noch an der Performance geschraubt werden, dann schauts schon ganz gut aus für einen nativen VDR client.
    Vielleicht kann sich jemand den anderen WIP branch anschauen mit output_surface_put_bits_native. Das habe ich nur mal schnell aus surface_bitmap (blind) übernommen und werds heute abend mal testen.
    Gruß
    Andreas

    Ich habe mich mal hingesetzt und den Code von libvdpau mit log Einträgen geflutet um nachzuvollziehen, wo der Hund begraben ist. Werde das sobald möglich auf meinen github account stellen, damit wir hier testen können und evtl. ein Stück weiter kommen.
    Gruß
    Andreas

    2x DVB-S + 1x DVB-S2.
    3x aufnehmen auf USB + streamen funktioniert. Ob da jemals HD dabei war bezweifle ich, da ich HD noch nicht so arg nutze. Aber vielleicht sollte ich mal einen Belastungstest machen ;) Gegen böse Plugins hat er auch nichts.


    Kurzer OffTopic Exkurs zu Allwinner, weil du es ansprichst:
    Die Mele A2000 hat einen Allwinner A10, 512MB und SATA. Das Cubieboard 1 hat ebenfalls den A10, 1GB und SATA. Cubieboard 2+3 den DualCore A20.
    Der A31 ist ein QuadCore und mag als Server leistungsfähiger sein. Allerdings ist hier ein PowerVR statt Arm-Mali als GPU (3D) verbaut, weshalb sich die Entwicklungsfreude in Grenzen hält.
    Die Priorität liegt derzeit eindeutig auf A10/A20/A13/A23 und das Warten auf den A80 OctaCore hat begonnen.
    Ich versuche hier ja immer wieder Leute zu finden, die sich mit vdpau auskennen und Interesse an der sunxi-Entwicklung haben. Ein REing Projekt für den Video Decoder ist ganz gut fortgeschritten, so dass ein Einsatz als Client vie softhddevice auch (theoretisch) möglich wäre.
    Es gibt diverse Cubieboard-Threads hier, die sich damit befassen - viel fehlt nicht mehr (OSD) - ausser ein halt paar Leuten, die genug Ahnung haben und sich ein bißchen damit befassen wollen. Meine Ahnung hält sich leider in Grenzen. Hardwaretechnisch scheinen mir die Allwinner SoCs geeigneter als VDR oder XBMC Client als der RPi, obwohl ich VDR auf dem RPi zugegebenermaßer noch nicht probiert habe... Nur die letzten Schrauben der Software fehlen halt.


    Gruß Andreas


    PS: Sorry fürs Hijacking :p

    Ich bin ja schwer am Überlegen mir auch ein Allwinner ARM Board zu holen, allerdings liebäugel ich eher mit dem A31, der sollte noch etwas mehr Pepp haben als das Cubietruck (A20). Allerdings ist der PowerVR wohl nicht gut unterstützt,


    Auf alle Fälle A20, da der A31 wg. PowerVR nicht gut in der Community ankommt und die Lust aufs Entwickeln daher nicht so groß ist... Die Wartezeit, um mit dem A20 was Vernünftiges anfangen zu können wird deutlich kürzer sein, als beim A31. Zumindest was Video/Grafik Geschichten angeht.

    welchen Grafiktreiber nehmt ihr denn für den Mali im Cubie (Lima, irgendein Binärtreiber oder gar libhybris)?


    Die Binärtreiber. Lima ist (noch) kein Treiber, sondern momentan nur ein POC mit verschiedenen Test-Anwendungen z.B. Q3...

    Braucht man bei Ausgabe über CedarX überhaupt ein laufendes X11?


    Für Cedarx alleine nicht. XBMC läuft z.B. ohne X. Für libvdpau-sunxi starte ich bei mir hier immer parallel ein X, da ein Display geöffnet werden muss. Aber die Frage habe ich mir auch schon gestellt, obs das überhaupt braucht. Da lasse ich mich gerne belehren.
    Gruß Andreas

    Du meinst, es wird ein ARGB an VdpBitmapSurfacePutBitsNative geschickt, wobei möglicherweise ein RGBA oder BGRA erwartet wird?
    Dann müsste in VdpBitmapSurfacePutBitsNative abhängig von den Quelldaten zuerst der alpha-Wert verschoben werden? z.B. sowas?

    Code
    rgba = ((argb & 0xFF000000) >> 24) | ((argb << 8) & 0xFFFFFF);


    Trotzdem müsste doch was angezeigt werden, wenn auch Alpha und Farben durcheinander?
    Könnte es sein, dass der Video-Layer den OSD Layer überdeckt?


    Gruß Andreas

    Zwischenstand:
    Nach ein wenig herumprobieren und lesen von logs bin ich der Meinung, dass das OSD mit softhddevice und libvdpau_sunxi generell funktioniert. Die Funktionen werden alle sauber aufgerufen, soweit ich das beurteilen kann.
    z.B.

    Code
    vdp_output_surface_render_bitmap_surface(7, {102, 424, 1214, 663}, 9, {102, 424, 1214, 663}, NULL, {(ver=0) 4, 5, 1, 5, 2, 2, {-0,000002, 0,000000, -0,000002, 0,000000}}, 0)
        -> 0


    im vdpau log, oder

    Code
    video/vdpau: osd upload 1112x239+102+424 3ms 1063072


    usw.
    Nur dargestellt wird es nicht. Ich denke da hakt es noch irgendwo in libvdpau_sunxi am korrekten osd overlay... Möglicherweise liegt hier der Grund wg. X11 und G2D.
    Muss ich mir morgen mal genauer ansehen.


    Gruß
    Andreas

    z.B. hier: http://store.r0ck.me/
    Kommt halt dann aus China und evtl. musst du dich mit dem Zoll rumschlagen. Ich habe meinen damals vorab als einen der ersten 15 Prototypen direkt von den Jungs bekommen... aber auch schon meine Cubieboard2 bei obiger Adresse bestellt. Das ist der Shop des Herstellers und es gab keine Probleme.
    Gruß Andreas


    Müsste falsch sein, ich überprüfe es, dann packe ich alles ins GIT.
    Johns


    Hört sich gut an. Danke.


    Allerdings funktioniert das OSD auch mit der Änderung (noch) nicht und video/vdpau vermisst einige Frames, so dass das Bild ruckelt. Ich denke, das liegt aber in erster Linie am libvdpau_sunxi.so als an softhddevice.
    Gibt es einen Schalter, mit dem man softhddevice maximal debuggen kann? Bzw. wie kann man im Log erkennen, dass bei softhddevice bzgl. OSD alles korrekt aufgerufen wird?
    Gibt es denn eine Liste von softhddevive mit den Methoden, die von VDPAU implementiert sein müssen, damit alles läuft, dann könnte man das möglicherweise abarbeiten.


    Ich vermute, dass im vdpau-backend noch einige Sachen fehlen, bzw. falsch implementiert sind. Wenn wir Fehler im softhddevice ausschließen können, wäre das ein weiterer Schritt.
    Wäre doch schade, wenn wir das nicht zum laufen bekommen...


    Moorviper: Ruckelt bei dir nichts? D.h. hast du nicht die "video/vdpau: missed frame" Meldungen? Ich habe hier ein Cubieboard 1.


    Danke und Gruß
    Andreas


    EDIT: Vielleicht sollte man die Diskussion ab hier in einen neuen Thread "Cubieboard: softhddevice über vdpau" auslagern!?

    Dumme Frage: Wie stosse ich die Anzeige des OSD an, wenn ich vdr über ssh starte?
    Der neue Branch läuft übrigens hier mit DUSE_BITMAP ohne segfault, aber (noch) ohne OSD. Und das Bild stottert wegen "video/vdpau missed frame". Habt ihr das auch?


    johns: stimmt denn dein Patch oder müsste die Zeile 8257 nicht "VdpauOutputSurfaceRenderBitmapSurface(VdpauSurfacesRb" heißen?


    Gruß Andreas

    Mittlweile habe ich jetzt auch alles mal aufgesetzt. Video funktioniert bei jemk/master und pkendall/bitmap - allerdings mit einigen/vielen framedrops (video/vdpau missed frame). Aber gehen tuts.
    Wenn ich USE_BITMAP anschalte bekomme ich einen Speicherzugriffsfehler (pkendall/bitmap vorrausgesetzt, da nur dort die bitmap Sachen "theoretisch" implementiert sind).
    In Johns' Patch ist allerdings noch ein kleiner Fehler, wenn ich richtig liege:

    Code
    ...
    +#ifdef USE_BITMAP
    +    status =
    +	VdpauOutputSurfaceRenderBitmapSurface(VdpauSurfacesRb
    +	[VdpauSurfaceIndex], &output_rect,
    ...


    Mein VDPAU-Log (export VDPAU_TRACE=1):