softhddevice - Software VDPAU/VA-API/CPU Decoder und Ausgabe Plugin

  • @Hoplo: habe ich auch gerade im Chat gepostet: Versuch mal diesen Patch. Anscheinend benutzt Johns eine ältere Libav.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

    Einmal editiert, zuletzt von gda ()

  • Das Problem ist anders herum, meine ffmpeg sind wohl zuneu. Verwende 0.8.7 und GIT, dachte zwar ein 0.7.x ist auch dabei, habe mich aber getäuscht.
    Gentoo sieht wohl die 0.8.7 als inzwischen stabil genug an.
    Habe vorhin festgestellt das avcodec_alloc_context3 auch erst im GIT officiell gibt, in 0.8.7 steht noch drin nicht verwenden.
    Hatte den alten Code gerade erst weggeworfen, weil er mit deprecated meckerte.


    Meinst du mit alte intel GPU die erste Core I Serie die ich auch hab?


    Ja die erste Generation der Core I meinte ich.


    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

  • Das Problem ist anders herum, meine ffmpeg sind wohl zuneu. Verwende 0.8.7 und GIT, dachte zwar ein 0.7.x ist auch dabei, habe mich aber getäuscht.
    Gentoo sieht wohl die 0.8.7 als inzwischen stabil genug an.


    Komisch: Die Include-Datei, in der AVFrame definiert wird, ist die /usr/include/libavcodec/avcodec.h. Die kommt bei Ubuntu aus dem Paket libav. Im git git://git.debian.org/git/pkg-multimedia/libav.git ist ebenfalls keine sample_aspect_ratio in AVFrame enthalten. Das Ubuntu-Paket ist in dem Punkt zumindest aktuell. Es scheint wohl eher so zu sein, dass Gentoo ganz andere Sourcen für die Libs verwendet.


    Oder ist das einfach ein veralteter Debian-Fork?


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Die sind geforked. Es gibt libav und ffmpeg. Wer nun wer ist oder das Original, keine Ahnung.
    Das Problem ist, wärend des Laufenden Streams wird 4:3 -> 16:9 umgeschaltet und dies ist eine Frame Information. Der Platz in der Frame ist schon richtig. Erkennt die Alte also "codec->aspect" dies und ändert es sich, wenn der Stream sich verändert. Oder muss ich eine andere Lösung einbauen bis alle neuere Libs haben.


    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

  • Die sind geforked. Es gibt libav und ffmpeg. Wer nun wer ist oder das Original, keine Ahnung.
    Das Problem ist, wärend des Laufenden Streams wird 4:3 -> 16:9 umgeschaltet und dies ist eine Frame Information. Der Platz in der Frame ist schon richtig. Erkennt die Alte also "codec->aspect" dies und ändert es sich, wenn der Stream sich verändert. Oder muss ich eine andere Lösung einbauen bis alle neuere Libs haben.


    Hoplo baut gerade mit meinem Patch und fnu muss das dann testen, er wollte ja unbedingt ein Ausgabe-Plugin.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • fnu muss das dann testen, er wollte ja unbedingt ein Ausgabe-Plugin.


    Ja, Papa Schlumpf, mache ich doch ... :arme


    johns


    Teste mit Intel-HW und "eigentlich" läuft alles, vdr startet das Plugin auch, aber ich bekomme kein OSD zu sehen. Gibt es dazu ein Geheimnis?

    Regards
    fnu

    HowTo: APT pinning

  • Moin,


    Ja gibts eins. Nächste Version sollte es besser können. Scheinbar vergisst Intel die Größe und Position vom OSD.
    Und ich habe das Problem, wenn man auf einem Interlaced Kanal (besonders HDTV) startet, hängt die GPU öfters.
    Ich wollte noch suchen ob ich das wegbekomme bevor ich ins GIT packe.
    Anbei ein Patch der das OSD fixed, der Rest kommt wenn ich zufrieden bin.


    Johns

    Dateien

    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

  • Mit der selben Version des Plugins gibt es mit dem ION2 nur eine Diashow. Alles in Zeitlupe.
    Ausgabe von vainfo


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Scheinbar vergisst Intel die Größe und Position vom OSD.


    Jupp, habe ich gemerkt, wobei es bei den HD Sender immer passte, bei SD nur einmal, wenn ein SD Sender Startkanal war, danach aber sehr schnell nicht mehr. Da ich auf einer frischen Ubuntu 12.04 Installation teste, mußte ich erst eine "xorg.conf" erstellen ...


    Und ich habe das Problem, wenn man auf einem Interlaced Kanal (besonders HDTV) startet, hängt die GPU öfters.


    Also die drei deutschen ÖR Sender liefen ganz gut, micro-ruckler, weil ich wohl die 50HZ Ausgabe noch nicht erzwingen kann. Bei allen anderen Sender, auch ServusTV HD, bin ich mir wegen des Deinterlacings nicht sicher ob da was geht... ?


    Das OSD, hier grad nur default sttng, war sehr flott.


    Regards
    fnu

    HowTo: APT pinning

    3 Mal editiert, zuletzt von fnu ()

  • Ich habe jetzt mal Gelegenheit gehabt, das Plugin zu testen. Die Geschwindigkeit beim Zappen und beim OSD sind schon mal phänomenal. Allerdings gibt es arge Sync-Probleme. Meist kommt der Ton zu früh. Außerdem habe ich bei dem einen oder anderen Text2skin-Skin einen Segfault (reproduzierbar bei anthra_1920_FSE).
    Und falls möglich, sollten auch die VDPAU-Interlacer implementiert werden. Gerade auf den SD-Kanälen sieht das Bild über xine um Meilen besser aus.
    Trotzdem freue ich mich über Deine Mühen, denn ein schlankes Ausgabeplugin ohne das ganze Xine-Gedöns mit gefühlten 3 Millionen Konfigurationsmöglichkeiten hat mir noch gefehlt.
    Vielen Dank und weiter so.

    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.

  • So das OSD sollte nun auch bei Intel immer passen.
    Auch der Ton sollte nun ziemlich syncron sein. In der letzten Version habe ich das Löschen der Buffer beim Kanalwechsel vergessen.
    Ich habe die Buffer noch etwas verkleinert, wenn jemand zuviele Aussetzer merkt, muss ich sie wieder hochsetzten.


    Das Größte Manko bleiben die 1080i Kanäle mit Inteltreiber, die scheinen einfach nicht richtig zulaufen. Kann natürlich auch ein Bug im Intelteil sein.


    Der VA-API Interlacer ist nur ein Bob, etwas besseres haben die noch nicht eingebaut. Für das VDPAU Backend kann man ja mal beim Author die
    Besseren beantragen. Ich hatte zwar schon mal einen Patch gemacht, aber der war nicht ganz richtig und nun habe ich ja genug mit dem Plugin zutun.
    Aber ich werde auf jeden Fall versuchen yadif einzubauen, der meiner Meinung nach, nicht viel schlechter als temporal ist.


    Text2skin kann ich leider nicht testen, da es bei mir nie funktionieren wollte. Mal mit gdb starten und gucken wer auf die Nase fliegt. Es kann sein, daß
    das OSD die Ausgabe zusehr verlangsamt und dann was anderes abstürzt. (Bei mir ist es streamdev-client).


    Die nächste Große Baustelle ist, die Wiedergabe von Aufnahmen.


    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

  • So im GIT gibts nun eine Version die mit Intel Sandy-Bridge/VA-API und NVidia/VA-API in SDTV und HDTV (720p/1080i) funktioniert.


    Wenn jemand mal gucken will VaapiBuggyVdpau und VaapiBuggyIntel sorgen für die korrekte Ausgabe, also ich sehe keinen Fehler in meinem Code,
    Ich denke eher es sind Fehler im Treiber (wie immer).


    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

  • Mal ein paar Rückmeldungen mit vdpau/G210:
    Man kann jetzt schon gut durch die Sender zappen, SD und HD geht tadellos.
    Als ich per git ausgecheckt habe, fehlte das po Verzeichnis.
    Einstellungs Änderungen im Setup des Plugins werden nicht gespeichert.
    Nach einigem Zappen blieb der Bildschirm schwarz, Ton kam aber noch.
    Die Synchronisation Ton-Bild ist besser, aber noch deutlich auseinander.
    Wie kann man herausbekommen, warum bei Suse was auskommentiert werden muss (ich vergesse das jedes mal wieder)?
    Was meinst du mit " G210 osd update too slow (needs hardware problem workaround)"?
    Jörg

  • Das "po" Verzeichnis habe ich hinzugefügt.


    Das Setup wird gespeichert, nur wird es für das Menu als Vorgabe noch nicht verwendet. Habe dies mal ins TODO geschrieben.


    Also ich habe nur beim Zappen das Problem, daß es in "av_parser_parse2" kracht. Wenn das Problem auftritt, mal bitte im syslog gucken, was das Plugin so schreibt.
    Wenn das Menu noch aufrufbar ist, bekommt das Plugin keine Daten, sollte kein Menu erscheinen, hat sich die Ausgabe aufgehängt.


    Habe mit dem Ton nicht weitergemacht, da es erstmal andere Probleme gab. Im Moment loggt er alle 10s den Versatz ins syslog.


    Bei "SuSE" meinst du das xcb_icccm_set_wm_name usw. nicht gefunden wird?
    Entweder hat SuSE zu alte Libraries oder die Linker Library Anordnung macht Probleme.
    Bitte mal mit "nm -D /usr/lib64/libxcb-icccm.so | fgrep xcb_icccm_set_wm_name" prüfen ob es die Funktion überhaupt im Library gibt.
    Wenn nicht ist das Library zu alt, ich brauche min. Version 0.3.8 von xcb-util-wm.


    Mit der aktuellen Version ist nicht mehr so schnell zuerkennen, aber drücke mal fleissig die Pfeiltasten im Menu oder verwende eine Skin mit scrollenden Text.
    Nach einer gewissen Zeit gibt es Bildstörungen, weil die Buffer voll sind. Bzw. sollte Bild und Ton noch asynchroner werden. Dies tritt auch mit meiner GT 520 auf, durch die OSD Updates dauert die Wiedergabe einfach zulange. Und ich muss mal gucken wie ich dies umgehen kann.


    Habe noch aktuelle Version im ersten Post dieses Threads aktuallisiert. Wiedergabe von Aufnahmen sollte nun auch gehen. Schneiden konnte ich nicht testen, muss mal gucken wie man das Bedient.


    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

    Einmal editiert, zuletzt von johns ()

  • johns


    Eben den letzten GIT Stand ausprobiert, aber mit einer Nvidia Quadro FX 380 LP (GT218GL).


    Hatte schon vor zwei Tagen die 0.8er Version darauf mal mit VDPAU getestet und muss sagen läuft gut. Immer noch 60hz Microruckler hier, evtl. auch daher das der Unity Desktop kein 100% Fullscreen zuläßt, aber das sind ja lokale Probleme. Selbst Laufschrift auf den N* Sender ist ok, eben mit den 60hz Defiziten. Das Bild ist um Welten besser als mit Intel, v.a. sichtbar bei ServusTV HD (1080i). Ich finden den Unterschied so eklatant, das ich inzwischen Zweifel daran habe, ob es überhaupt Sinn macht VA-API ein Chance zu geben. OSD passte schon mit der älteren Version und ist super schnell, habe sttng & skinsoppalusikka getestet. Ton ist halt quasi 100% asynchron ... ;)


    Morgen werde ich die Nvidia Karte nochmal ausbauen und Intel testen. Das Plugin müllt das syslog zu mit:


    Code
    Dec 14 21:26:17 vdr4 vdr: video: display buffer empty, duping frame (5358/23732)


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Also muss ich doch endlich mal den 60hz Modus einbauen, hatte schon mal angefangen aber dann nicht weitergemacht.
    Das Problem mit 60hz ist, daß alle meine Video Buffer leerlaufen und damit der Sound komplett daneben liegt und er dann per Zufall die Frames verdoppelt.
    Kannst versuchen ob du 50 Hz über xrandr erzwingen kannst, wenn es aber ein Notebook LCD ist, wird dies leider nicht klappen.
    Mit besserer 50 -> 60 Hz Wandlung hast aber immer die regelmässigen Microruckler. Die Meldungen kommen daher, daß für 60hz die 10 Frames fehlen.


    VA-API taugt nichts und ob es jemals was wird, wird sich erst zeigen. Deshalb kommt irgendwann auch noch die VDPAU Unterstützung (habe die schon Halb fertig).
    Wenn du Windows 7 hast, dann kanst mal testen wie gut Intel Deinterlacen kann. Für Linux kann er nur Bob und der ist nur eine einfache Verdopplung.


    Mit dem Software Deinterlacer hatte ich bei meinem Testclient schon angefangen, da aber damals VA-API überhaupt nicht benutzbar war, hatte ich nicht weitergemacht.
    Du kannst ja mal mit Softwaredecoder und mplayer testen wie gut yadif ist. Sowas in der Art wird wohl das Beste sein was mit Intel GPU in nächster Zeit machbar ist.


    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

  • Respekt,
    geht ja voran. ;)
    auch wenn es noch nicht so stabil laeuft , zeigt es doch deutlich wohin die Reise gehen sollte.
    Zumindest hat es mich davor bewahrt , neue TV-Karten zu bestellen , denn das tlw. langsame und buggy Umschaltverhalten hier
    liegt definitiv nicht an der Skystar HD ;).
    Mit deinem Ausgabeplugin erfolgt das ja fast in Echtzeit , also kann der Tuner garnicht sooo schlecht/langsam sein :D


    Ich hoffe du bleibst dran und da kommt was fertiges/stabiles bei raus , dass wuerde VDR doch in einem neuen Glanz erstrahlen lassen.
    Ansonsten wurde ja schon alles geschrieben..

  • Was Suse betrifft, ich habe noch 11.3 und da ist die 0.3.6 drauf, also zu alt.
    @ udobroemme: Was sagt auf Suse 12.1 "cat /usr/lib/pkgconfig/xcb-icccm.pc | grep Version" ?


    Ansonsten schließe ich mich Morone an!

  • Bei 12.1 ist es auch noch Version 3.6, dann ist es wohl nicht der Linker...

    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.

  • Kannst versuchen ob du 50 Hz über xrandr erzwingen kannst, wenn es aber ein Notebook LCD ist, wird dies leider nicht klappen.


    Ja, ich werde mich nochmal dran versuchen, beim Nvidia-Treiber habe ich ja etliche Möglichkeiten bzw. auch wie erwähnt xrandr.


    Der Monitor (1920x1080) kann das, ich weiß es, er kann sogar 1080i mit einem hübschen Deinterlacing, wenn man z.B. T-Home Entertain Media Receiver dran hängt, die nur 720p oder 1080i kann. Nur im PC Betrieb ist er ziemlich stur ... werde weiter testen.


    Regards
    fnu

    HowTo: APT pinning

Jetzt mitmachen!

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