Softdecoder plugin

  • ich hab es kompeliert bekommen *hüpf* ...


    ich hab es gestartet und ... "channel not available" ... ok, es ist keine dvb-karte drinne, also ist das ok ...


    dann ins recordingsmenu gegangen und eine aufnahme abgespielt und ... kaboooommmmm


    was kann ich machen? hillffääää .... ;))


    hier die ausgabe:


    vdr vdr-1.2.5 # /runvdr
    initializing Plugin
    Device constructed
    Truecolor FB found
    fbdev init 1024 x 768 (Size: 6291456 LineLen 4096)
    Opening alsa device plughw:0,0
    Device opened! Ready to play
    cMpeg2Decoder created. ready to decode.
    Creating WindowLayer at 54 x 504, (624 x 27)
    Creating WindowLayer at 54 x 504, (624 x 27)
    Creating WindowLayer at 54 x 504, (624 x 27)
    Creating WindowLayer at 54 x 396, (624 x 135)
    Creating WindowLayer at 54 x 45, (624 x 27)
    Creating WindowLayer at 54 x 72, (624 x 405)
    Creating WindowLayer at 54 x 477, (624 x 54)
    Neuer Thread geatartet: pid:1142
    Period size 8 Buffer size 1016Hardware initialized
    delay too big
    /runvdr: line 36: 1136 Illegal instruction /usr/bin/vdr -w 60 -v /video/rec -c /vdr.conf -L/vdr.conf/plugins/ -P"softdevice"

  • Hmm. Welchen Proz. hast du?
    kann der noch kein MMX2?


    ich denke dass die "Innegal Instruction" ein MOVNTQ.
    diesen müsste man ersetzen durch movq.
    Ausserdem kann es sein, dass man VDR als root starten muss (nicht getestet).


    Gruß
    Roland


    p.s. ich versuch demnächst meine Nvidia-Karte mit dem Plugin zum Laufen zu bringen ;)

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • Zitat

    Original von pram
    p.s. ich versuch demnächst meine Nvidia-Karte mit dem Plugin zum Laufen zu bringen ;)


    Oh, cool! Poste dann mal obs funktioniert und welche Auflösungen du einstellen kannst. Mich interessiert auch, ob du noch schwarze Ränder auf dem Fernseher siehst wenn du den TV-Out der GraKa benutzt.
    Welche NVidia-Karte hast du eigentlich? Die haben auf ihren Karten folgende TV-Chips verbaut:
    BT868, BT869, CX25870 - 25875, CH7003 - 7008, SAA7102, SAA7104 (A) und SAA7108 (A)
    Der SAA7104A, der SAA7108A und der CX25871 sollen die beste Bildqualität liefern.


    Gruß
    Jarny

    MLD 3.0.3 Server. Aufnahmen schaue ich mit einem separaten XBMC (OpenElec Distribution) im Wohnzimmer am 47 Zoll HD Fernseher

  • Hallo


    Wollte auch mal das Plugin testen, ist aber nach wie vor das selbe:



    Ist ein 800er fürs xine-plugin langts (im normalen fenster), nen fullscreen bekomme ich nicht hin (fbxine das selbe), dann gehts ruckeln los, das selbe bei Aufnahmen.


    Nun wie gesagt wollte mal mit dem SoftDevice Plugin mein Glück versuchen, aber es will nicht, siehe oben.


    Hast Du einen Tip?


    MFG Ronny

  • Hi Ronny,


    das liegt vermutl. an deiner gcc-version. Aber ich will mir jetzt kein anderen gcc installieren und mir mein system versau.. ;)


    Aber du könntest mal folgendes testen:


    | make all plugins
    | make: Nothing to be done for `all'.
    | make[1]: Entering directory `/usr/local/src/VDR/PLUGINS/src/softdevice-0.0.3'
    | g++ -O2 -Wall -Woverloaded-virtual -L/usr/local/src/ffmpeg/libavcodec -c -DPLUGIN_NAME_I18N='"softdevice"' -I../../../include -I../../../../DVB/include -I/usr/local/src/ffmpeg/libavcodec softdevice.c


    soweit so gut


    | In file included from softdevice.c:37:
    | audio.h:18: warning: `class cAudioOut' has virtual functions but non-virtual
    | destructor


    bitte mal in der Zeile in audio.h vor "~cAudioOut" ein "virtual" reinschreiben


    | In file included from softdevice.c:39:
    | utils.h:30:7: warning: no newline at end of file


    in der Datei utils.h am Ende noch eine Leerzeile anhängen


    | softdevice.c: In constructor `cSoftDevice::cSoftDevice()':
    | softdevice.c:173: error: parse error before `(' token
    | make[1]: *** [softdevice.o] Error 1


    evtl wird dieser Fehler dadurch behoben.


    Gruß
    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • sooo .....
    ich muss gestehen, als ich den letztem beitrag geschrieben habe, hätte ich en wenig mehr testen sollen.
    mplayer ging auch nicht ...
    jetzt bin ich einen grossen schritt weiter.
    zum einen hab ich mir nen kernel-patch besorgt für den via cle266, somit ist es mir jetzt sogar möglich xvid auf meinem epia c3 800 in fullscreen ruckelfrei zu schauen.


    nun zurück zu meinem problem.


    ich hab mir softdevice 0.0.3 besort und mit
    DFB_SUPPORT=1
    #FB_SUPPORT=1
    #VIDIX_SUPPORT=1
    gebaut.


    beim starten meint der jedoch:


    hier hab ich noch nen strace:
    http://207.44.134.195/vdr/strace.txt

  • hoi,


    hab auch grad mal probiert, unter debian woody das softdevice zu compilieren.


    leider gibts stress mit alsa (libasound2-dev):



    Code
    make[1]: Entering directory `/root/vdr-1.2.6/PLUGINS/src/softdevice-0.0.3'
    g++ -O2 -Wall -Woverloaded-virtual -L/root/ffmpeg-0.4.8/libavcodec  -c -DPLUGIN_NAME_I18N='"softdevice"' -DFB_SUPPORT -I../../../include -I../../../../DVB/include -I/root/ffmpeg-0.4.8/libavcodec  audio.c
    audio.c: In method `int cAlsaAudioOut::SetParams(int, unsigned int)':
    audio.c:150: passing `unsigned int *' to argument 3 of `snd_pcm_hw_params_set_rate_near(snd_pcm_t *, snd_pcm_hw_params_t *, unsigned int, int *)' lacks a cast
    audio.c:163: passing `snd_pcm_uframes_t *' as argument 2 of `snd_pcm_hw_params_get_period_size(const snd_pcm_hw_params_t *, int *)'
    /usr/include/alsa/pcm.h:580: too many arguments to function `snd_pcm_sframes_t snd_pcm_hw_params_get_buffer_size(const snd_pcm_hw_params_t *)'
    audio.c:164: at this point in file
    /usr/include/alsa/pcm.h:634: too many arguments to function `snd_pcm_uframes_t snd_pcm_sw_params_get_xfer_align(const snd_pcm_sw_params_t *)'
    audio.c:172: at this point in file
    make[1]: *** [audio.o] Error 1


    was zu tun?


    thx,


    -- randy

  • Zitat

    Original von pram
    Hi Ronny,


    das liegt vermutl. an deiner gcc-version. Aber ich will mir jetzt kein anderen gcc installieren und mir mein system versau.. ;)


    Hi


    Werde heute Abend mal mein Glück versuchen.


    MFG Ronny

  • Hi. ich hab mal meinen aktuellen Stand wieder hochgeladen


    http://www.k13zoo.de/vdr/vdr-softdevice-0.0.4.tar.bz2


    Dies ist eine "Testversion" welche zwar momentan compiliert, aber ich weiß nicht ob meine Nvidia-Karte ein Bild bringt. Dazu muss ich erst wieder Monitor ins WoZi schleppen)


    Wer Lust hat, kann ja mal testenl ob die Version:
    1. compiliert (auch mit gcc 3.0)
    2. nicht abstürzt (wenn doch: Kommentare/Ratschläge in der video-dfb.c durchlesen und entsprechende Teile mal ausklammern)
    3. Ein Bild bringt :D :D :D


    Meine Versionen:


    DFB: 0.9.21
    Alsa 0.9.8 (müsste auch mit 0.9.x gehen)
    ffmpeg-0.4.8 (Pfad muss momentan noch manuell im Makefile angepasst werden)
    gcc 2.95.4
    vdr 1.2.5


    Bei Fragen/Problemen helfe ich natürlich gerne weiter


    Gruß
    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • Hi pram,


    ich habe mich gleich mal dran gemacht und die neue Version ausprobiert.


    Meine Konfiguration:
    SuSE 8.2
    DirectFB CVS von heute
    DFB++ 0.9.20 (CVS von heute stoppt schon beim configure)
    VDR 1.2.6


    Das Plugin ließ sich erst kompiliern, nachdem ich die Zeilen mit "cerr" im vide-dfb.c auskommentiert habe. Dann ließ es sich auch laden. Leider hing dann der ganze PC - wohl wegen Probleme mit dem FB. Ich habe hier eine GeForce2-MX und möchte den rivafb (kernel 2.4.23) laden. Jedoch geligt es mir nicht ihm die richtige Auflösung mitzugeben, "mode=800x600x32 rate=75" wird ignoriert.


    Wie lädst Du den rivafb? Oder doch besser den vesafb?


    Wichtig sind mir die timings, da hier ein LCD dran hängt und das z.B. mit Interlacing nicht klar kommt.


    Gruß, Ollo

  • hey,


    also bei mir laeufts mit ner tnt2 (hatte grad nix andres ;)) bisher soweit, das
    das osd kommt. livebild oder aufnahmen gehen aber nicht. in video-dfb.c musste
    ich das colorkeying auskommentieren, da sonst directfb sich aufhaengt.
    dafuer koennte ich die caps sachen einkommentieren.


    mal schaun, wie man das machen kann ;)


    -- randy

  • habe selbes Problem mit cerr
    ffmpeg-0.4.8
    DFB++-0.9.20
    DirectFB-0.9.20
    Suse 8.1
    gcc 3.2
    kernel 2.6


    wo sollte die cerr Funktion definiert sein


    der rechner friert nicht richig ein bei mir - weiterhin pingbar (vdr kann meist mit kill -s9 pid wieder gekillt werden)


    dann passiert nichts mehr :(


    ansonsten mal im Makefile von DFB_suport auf fb_support umstellen, dann bekomme ich eine art bild bei mir


    output vom vdr: (per Hand beendet)


    gf2 mx
    wird als directcolor erkannt


    bild sieht etwa so aus
    osd ist ok - tv bild ist in streifen geschnitten und auseinander gerückt - ebenso etwas langsam trotz 1 Ghz Athlon

  • Hallöle!


    Ich versuche krampfhaft das softdevice auf einem VIA Epia M6000 zum laufen zu bringen. Der Prozessor ist ein VIA C3, der kein MMX2, kein 3DNow2, kein SSE und auch kein SSE2 kann (dafür wohl ein bißchen Plattdeutsch, aber das bringt dem Assembler nix). Zu:


    Zitat

    ich denke dass die "Innegal Instruction" ein MOVNTQ.
    diesen müsste man ersetzen durch movq.
    Ausserdem kann es sein, dass man VDR als root starten muss (nicht getestet).


    Ich hab in der utils.c unter mmx_unpack_16rgb die ersten paar MOVNTQ durch movq ersetzt (genauer: movq_r2r). Weiter unten geht es dann aber weiter mit:

    Code
    case 16:
        movntq (mm0, *(image));
        movntq (mm5, *(image+8));
        break;


    Dort hat ein einfaches Austauschen von movntq zu movq_r2r leider nicht mehr geholfen, der Assembler legte folgende Beschwerde ein:

    Zitat

    /tmp/ccZ4N2ic.s: Assembler messages:
    /tmp/ccZ4N2ic.s:342: Error: bad register name `%*(image)'


    Da ich hier nicht weiterkomme hab ich einfach mal die gesamte for-Schleife

    Code
    // U
        // V
        for (int i = 0; i < lines; i++) {
            switch (step) { // I know this looks not nice.
    ...
        }


    rauskommentiert. Das ließ sich dann übersetzen und gar starten! Klar, kein Bild, aber OSD (ich benutze das Softdevice übrigens im Frame Buffer Modus, DirectFB geht zur Zeit noch nicht, aber im video-dfb.c sind ja auch noch movntq drin).
    Beim Starten zeigte sich, wie erwartet, kein Video-Bild, allerdings konnte ich im Menü herumspringen und - etwas seltsam klingenden - Ton hören. Allerdings stürzt der vdr nach kurzer Zeit ab. Die Ausgabe sieht dann so aus:


    Was nun?

  • OK, ich weiß jetzt, dass ich statt

    Code
    movntq (mm0, *(image));


    Code
    movq_r2m (mm0, *(image));


    schreiben muss. Ich probier dann erstmal weiter.

  • hallo tim,


    den kram hatte ich auch

    Code
    [mpeg2video @ 0x81fb510]invalid cbp at 3 16
    [mpeg2video @ 0x81fb510]ac-tex damaged at 2 16
    [mpeg2video @ 0x81fb510]ac-tex damaged at 0 11
    [mpeg2video @ 0x81fb510]invalid cbp at 15 12
    [mpeg2video @ 0x81fb510]slice mismatch
    [mpeg2video @ 0x81fb510]slice mismatch
    [mpeg2video @ 0x81fb510]ac-tex damaged at 3 15
    [mpeg2video @ 0x81fb510]ac-tex damaged at 2 16
    [mpeg2video @ 0x81fb510]ac-tex damaged at 16 17
    [mpeg2video @ 0x81fb510]ac-tex damaged at 5 18


    schuld ist die audio ausgabe:
    probier mal in der datei mpec2decoder.c
    ca. zeile 163
    die anweisung in dem if (delay<100) mittels // auskommentieren
    dann läuft das ganze wesendlich besser bei mir

    Code
    if (delay < 100) { // if we have less than 100 ms in buffer we double frames
                //audioOut->Write(audiosamples,audio_size);
            }
  • Hiya!


    Nach ich gesehen (oder besser: gelesen ;) ) habe, dass einige hier EPIA's in Betrieb haben, eine Frage: Hat einer von euch schon ein ME6000 oder aehnliches ohne DVB-Karte zum laufen gebracht, und zwar so dass er den onboard MPEG-Decoder nutzt?


    ciao,
    kuba

    Who the hell is general failure, and why is he reading my harddisk? :schiel

  • Hi kuba!


    Ich hab in den letzten Tagen ne Menge Fortschritte gemacht. Mit den original-Treibern von Via hab ich noch nix gemacht, aber unter SuSE 9.0 hab ich den VeXP zum Laufen bekommen, einmal selbst kompiliert und einmal als rpm runtergeladen. Das ganze läuft mit


    Ganz detallierte Informationen findest Du unter


    Im Moment versuche ich, die DirectFB-Unterstützung zum Laufen zu bringen, das softdevice bietet ja auch dafür Unterstützung und mein MPlayer läuft schon prima mit DirectFB. Der VIA enhanced Xine Player läuft prima unter X, kann aber wohl nur DVDs abspielen. Das hab ich irgendwo mal aufgeschnappt und kann es bisher leider auch nur bestätigen.
    Aber soviel erstmal nur zum Überblick. Falls Du Fragen hast, ich helfe gerne, wo ich kann.


    Gruß,
    tim

  • Hallo Tim!


    Danke erstmal fuer die rasche und vor allem umfassende Antwort :)


    Die Links werde ich mir jetzt mal naeher zu Gemuete fuehren. Einige davon kannte ich schon und hab mich auch schon eingelesen. Allerdings hat mir nach einiger Zeit ziemlich der Schaedel gebrummt und ich bin dann irgendwo ausgestiegen zwischen all den Patches und Libraries...


    Ich moechte mir mit dem M6000 einen luefterlosen Client fuers Wohnzimmer zusammenbauen. Basieren soll das ganze auf dem c'tVDR und den Updates/Patches von Tobi, die laufen auf meinem Server erstklassig.
    Fuer die Ausgabe wollte ich eigentlich versuchen, ob ich das xine-plugin mit dem Viaexp zum laufen bringe. Hast du da schon Erfahrung damit? Im Internet hab ich ueber diese Konstellation nichts gefunden.


    Gruesse
    Kurt

    Who the hell is general failure, and why is he reading my harddisk? :schiel

  • Xine-Plugin unf Viaexp hab ich auch schon ein bißchen versucht, da gibt es allerdings zwei Probleme:
    der Viaexp basiert auf einer Xine-Version <1.0.0
    und der Viaexp spielt nur DVDs ab, also nicht mal reingepipte MPEG2-Streams von der DVB-Karte. Deswegen will ich unbedingt das softdevice zum Laufen kriegen. Im Moment lasse ich den vdr mit dem gepatchten XFree laufen. Also ohne MPEG2 Beschleunigung aber wenigstens mit schnellem Speicherzugriff (die mtrr Einträge klappen jetzt vernünftig). Das geht schon sehr sehr gut, bis auf die OSD Einblendungen, dort fängt dann das Bild tierisch an zu ruckeln. Auch kann man im Xine-Plugin noch nicht spulen, geschweige denn auf Pause drücken, was die Funktion ja noch erheblich einschränkt. Im softdevice aber wohl auch noch nicht.
    Ist also alles noch am Anfang. Aber es funktioniert schon wenigstens zum Gucken!
    Einen kleinen Bug hab ich glaub ich noch im Xine-Plugin gefunden, bin mir aber noch nicht sicher: wenn Pro7 Filme mit DolbyDigital-Ton sendet hat das Xine-Plugin arge Probleme und zweigt nur etwa 5 fps :(

Jetzt mitmachen!

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