vdpau Wiedergabe mit Geforce 8200 stottert spätestens bei 1080i [solved]

  • Habe (mal wieder) mit betagter Hardware rumgespielt - sprich mit meiner Onboard Nvidia Geforce 8200.


    Bei 1080i-Sender und

    Code
    [vdr-sxfe --display=:0 "xvdr+tcp://127.0.0.1:37890" --video=vdpau --post=tvtime:method=uses_vo_driver --audio=alsa --reconnect


    ruckelts, mit


    Code
    vdr-sxfe --display=:0 "xvdr+tcp://127.0.0.1:37890" --video xv --post tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 --audio=alsa --reconnect


    ist die Wiedergabe fast perfekt. Ganz leichtes Tearing bei vertikalen Schwenks.


    Ist da was mit den Nvidia-Treibern (nutze gerade 304.117 auf Xorg-server 11.01.15.0) kaputt oder rufe ich vdr-sxfe falsch auf, so dass ich den Eindruck bekommen muss, xv ist die bessere Grafikausgabe als vdpau?


    Mit cmplayer habe ich ein ähnliches Phänomen:
    Bei aktivierter Hardwarebeschleunigung ist 1080i nicht ansehbar, bei deaktivierter HW-Beschleunigung ist das Bild super.

    Hauppauge WinTV-dualHD auf Desktop mit archlinux ...


    2 Mal editiert, zuletzt von berndb ()

  • Genug RAM zugewiesen und zwei RAM Riegel im Board?


    Normal ist GPU besser.


    Code
    --post=tvtime:method=use_vo_driver,enable=1,pulldown=0,framerate_mode=full,judder_correction=0,use_progressive_frame_flag=1,chroma_filter=1,cheap_mode=0


    Ich sehe da keinen Parameter um auf Temporal zubegrenzen. Die 8200 kann auf jedenfall kein Temporal Spatial.


    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 8200 kann auf jedenfall kein Temporal Spatial.

    Können tut sie es schon, aber nicht annähernd ruckelfrei. Nicht konfiguriert ist "temporal" eigentlich default Einstellung und das ist bei 8200 schon an der Leistungsgrenze.


    VDPAU richtig konfigurieren: "~/.xine/config_xineliboutput", 512MB Grafikspeicher definieren und CPU auf Takt halten: min. 2000MHz, wenn es eine K8 AMD CPU ist. Aber das ist alles seit langem bekannt und dokumentiert.


    Code
    --post=tvtime:method=uses_vo_driver


    Da hat sich wohl ein Schreibfehler eingeschlichen: "use_vo_driver".


    "xv" mag zwar laufen, es fehlt aber gänzlich alle Videoaufbereitung von VDPAU und das wäre sicher schon längst aufgefallen, seit 2009, wenn "xv" besser sein sollte ... ^^


    Bzgl. den Nvidia Legacy Paketen bin ich immer noch uneinig, früher gab es kein VDPAU Support, heute steht er drin, frag mich immer noch was der Sinn dahinter ist. Evtl. mal Longterm Treiber 319.49 (Certified) testen, der sollte mit den 8x00 gut funktionieren.


    Regards
    fnu

    HowTo: APT pinning

  • wäre sicher schon längst aufgefallen, seit 2009, wenn "xv" besser sein sollte


    Das denke ich doch auch und deshalb bin ich auch ganz gut verwirrt. VDPAU ist eigentlich immer der sichere Lieferant für ein gelangweiltes Restsystem bei der Videowiedergabe. Insofern ist der Titel eher im Sinne von: "das kann doch nicht sein" gemeint.


    Zwei Speicherriegel im Dual Channel Modus sind drin - aber ich gucke nochmal in BIOS-Setup - who knows nach all den Jahren. Zugewiesen sind das Maximum von 512MB.
    Zum zweiten probiere ich das ganze nochmal explizit ohne Schreibfehler, sollte es daran liegen?
    Zum dritten könnte ich ja alternativ vielleicht mal das SoftHdDevice-plugin ausprobieren, da müsste ja Vergleichbares oder Besseres rauskommen?!

  • berndb


    Nun, wie gesagt mich irritiert immer noch das Readme der Nvidia 304.11x (Legacy), evtl. probierst Du mal die Version 319.49.


    SHD läuft wohl sehr gut z.B. bei ULF's 8200 mit 304.116 (Legacy) aus dem Ubuntu Repository, allerdings keine Ahnung welche Settings, ziemlich sicher kein "temporal_spatial".


    Der 8200 wird Mühe haben mit "temporal" allgemein und vmtl. den Default Settings von VDPAU der xinelib, also bitte entsprechend anpassen und je nach CPU muß der Takt auf min. 2000MHz gehalten werden.


    Generell würde ich bei "temporal" xine & SHD mal "skip_chroma=1" testen, das entlastet die GPU nochmals.


    Richtig konfiguriert wird auch was besseres rauskommen, bei "xv" hast Du "cheap_mode=1" gesetzt was zu einem flüssigen Bild führt aber auch auch ein noch schlichteres Deinterlacing ist, siehe hier.


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Irgendwas kapiere ich wahrscheinlich nicht. Das sieht doch unauffällig auf:


    Dann mal cheap_mode auf 0 gesetzt, und siehe da, im ersten Schnelltest ist sogar das letzte Tearing weg:


    Die beiden CPU Cores sind zwar mächtig am rödeln (so um die 80 Prozent), aber das System reagiert weiter flüssig. Also nebenbei eine Email schreiben, kein Problem.


    Jetzt mit vdpau mit den Parametern aus Post2:


    CPU Last zwar um die 20% auf beiden Kernen, aber das System ist träge (Fenster- und Desktopelemente reagieren nur mit Verzögerung), das Bild ist gut aber es werden Frames ausgelassen=es ruckelt!.


    Für das Treiberupdate muss ich nochmal später einen Anlauf nehmen, ich meine aber, als eine der ersten Maßnahmen einen selbstkompilierten 319.82 gegen den laufenden 304er aus dem ARCH-Repo getauscht zu haben - also vermutlich ändert sich da gar nix - auch wenn der Anlass das im Posting 1 schon erwähnte ähnliche Verhalten von cmplayer war und nicht die vdr-Wiedergabe.

  • So bevor ich nicht schlafen kann nochmal Update auf Treiberversion 319.82: Optisch das gleiche Ergebnis. Ruckeln mit vdpau, CPU-Alarm mit xv aber im Ergebnis alles fein.
    Die Treiberversion ist die von der nvidia-Seite empfohlene - irgendwie ist bei mir da was kaputt oder der Treiber mag für betagte Karten nicht mehr.

  • Kannst ja mal mit qvdpautest deine Leistungsdaten testen.


    Auch mal mein Plugin, ob es am Plugin oder am Treiber+Hardware liegt.


    Schon mal CPU Takt auf max. fixiert?


    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

  • Schon mal CPU Takt auf max. fixiert?


    Bei xv klappt es ohne Fixierung, beim vdpau-Lauf hatte ich vorher

    Code
    echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

    zumindest 2000MHZ erzwungen.
    Sobald ich wieder am Rechner bin folgt der Test mit Deinem Plugin, evtl. probiere ich nochmal die 171-Treiber - wurden irgendwo im Netz zumindest für Ubuntu 13.04 für meinen Grafikchip empfohlen.

  • zumindest 2000MHZ erzwungen.

    Ja, Du mußt aber auch schauen ob es eine Taktstufe 2000MHz bei der CPU gibt und dann auch beide Kerne auf die Frequenz festzurren, wenn es denn ein Zweikerner ist. Welche CPU ist es denn überhaupt?


    Code
    #/> cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies#/> cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies


    Prüfen welche Taktstufe es gibt und die nächste zu ca. 2GHz wählen, z.B. 1900MHz oder auch 2200MHz ...


    Guter Input von johns mal "qvdpautest" laufen zu lassen: qvdpautest vor und nach Nvdia 304.4x, damit kann man generell prüfen ob das bei Deiner GPU auch funktioniert ...


    Dazu muß X mit dem Nvidia-Treiber gestartet sein ...


    Regards
    fnu


    PS.: Zu Deinen xinelib Einstellung hast Du auch kein Wort verloren, weil Du mit xv @ cheap_mode=1 und vmtl. vdpau @ temporal Äpfel mit Birnen vergleichst ...

    HowTo: APT pinning

    3 Mal editiert, zuletzt von fnu ()

  • 2 GHZ ist verfügbar (. AMD Athlon(tm) 64 X2 Dual Core Processor 5200+). Und die wird mir von meinem CPU Monitor dann auch (mindestens) angezeigt, wenn per echo Befehl eingestellt. Das Festzurren der CPU-Frequenz bringt zwar, so weit ich die Werte verstehe, im Test leichte Vorteile, aber im Ergebnis ändert sich am Geruckel der 1080i-Streams nichts.
    Ich vermute so langsam, dass es sich hier um gar kein Performance Problem handelt, sondern die nvidia-Treiber die h264-Streams von meinen beiden Testkänalen (Channel4HD und ITVHD) nicht korrekt interpretieren, beim Softwaredekoding via xv klappt das halt gerade noch so. SD klappt, soweit ich sehe, mit vdpau korrekt. 720p teste ich nochmal, wenn meine beiden anderen vdr-Kisten frei sind und ich am Rechner hocke - ich habe hier nur DVB-S und kein DVB-S2.


    Hier einige vdpautest-Ergebnisse:


    Der Treiber 173.xx stellt offenbar gar kein vdpau zur Verfügung, unter xv verhält er sich aber nach Sichtprüfung genauso wacker wie die beiden anderen Treiberversionen.

  • PS.: Zu Deinen xinelib Einstellung hast Du auch kein Wort verloren, weil Du mit xv @ cheap_mode=1 und vmtl. vdpau @ temporal Äpfel mit Birnen vergleichst ...


    Dann mal cheap_mode auf 0 gesetzt, und siehe da, im ersten Schnelltest ist sogar das letzte Tearing weg:


    Sollte heißen:
    cheap_mode=0 bringt meinem Eindruck nach optisch eine Verbesserung, zwingt die xv-Wiedergabe aber nicht in die Knie.

  • Code
    MIXER TEMPORAL (1920x1080): 65 fields/s

    Temporal funktioniert vmtl. gerade so flüssig, könnte aber sicher das ein oder ander Microruckeln zeigen. 70 fields/s+ ist der Sollwert


    Code
    MIXER TEMPORAL (1920x1080): 77 fields/s

    Sollte problemlos laufen.


    720p teste ich nochmal, wenn meine beiden anderen vdr-Kisten frei sind und ich am Rechner hocke - ich habe hier nur DVB-S und kein DVB-S2.

    vdr-plugin-streamdev-[client|server] ...


    Du hast immer noch nichts zu Deinen VDPAU Einstellung für xineliboutput erzählt, default ist temporal? Hast Du ein oder zwei Memory Dimms auf dem Mainboard?


    "xv" ist eine recht alte Video Standard-Schnittstelle von Xorg. Auch wenn xv läuft, ohne cheap_mode eben besser, kannst Du das dennoch nicht vergleichen. Ich kenne das Bild zur Genüge, hatte sehr lang einen SD VDR mit "vdr-plugin-softdevice" @ xv @ Radeon betrieben, sichtbar verrauscht.


    Nvidia's VDPAU "temporal" arbeitet das Bild sehr aufwändig auf, mit einem sehr guten Scaler, noch nicht mal HQ der neueren Karten, Kammfilter etc. Bei temporal wird jeder Frame 2x im Speicher ge'sample't um ein hochwertiges Differenzbild zu erzeugen und anzuzeigen. Jetzt rechne nach, bei 50Hz wird das Bild 100x pro Sekunden im Speicher "dargestellt" und aus-differenziert, das benötigt einfach GPU/CPU Power ... Es gibt nur einen einzigen Software Stack der annähernd gut arbeiten kann, yadif 2x, da fehlt aber das gute Scaling und Kammfilter, aber es sample't immerhin jeden Frame 2x. Deine AMD CPU wäre hier btw. deutlich überfordert.


    Dein einfaches "xv" Layout ist ein Witz dagegen, das pappt die 2 Halbbilder zusammen und, ..., das war's, damit hat kaum eine CPU heute irgendwelche Mühen. Solange Du hier nicht rumkommst, wie VDPAU eingestellt ist, ist dieser Vergleich irrelevant.


    Selbst "Bob" ist bei Nvidia's VDPAU nicht gerade popelig, weil dort auch der gute Scaler und vmtl. die Kammfilter aktiv sind, aber das wäre die einzig richtige Vergleichsbasis zu "xv" ...


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Hast Du ein oder zwei Memory Dimms auf dem Mainboard?


    Ich habe zwei Speicherbausteine im Betrieb und beim booten wird Dual Channel Mode gemeldet


    Du hast immer noch nichts zu Deinen VDPAU Einstellung für xineliboutput erzählt


    Ich glaube, ich bin gerade ein wenig überfordert. Ich sehe weder im OSD Menü unter plugins noch im Programm nvidia-settings oder sonst wo irgendwie explizite vdpau Einstellmöglichkeiten bezüglich Deinterlacing. Wie kann ich das denn prüfen?


    Wenn ich vdr-sxfe so starte:
    [code][vdr-sxfe --display=:0 "xvdr+tcp://127.0.0.1:37890" --video=vdpau --post=tvtime:method=use_vo_driver/code]


    habe ich dann die Default-Einstellungen, also temporal? Ich ändere mal den Titel um. "xv besser als vdpau" bringt es nicht offenbar nicht auf den Punkt. Vdpau ist besser als xv basta - trotzdem funktioniert bei mir spätestens mit 1080i halt irgendwas nicht.

  • Wie kann ich das denn prüfen?

    Hatte ich weiter oben schon mal geschrieben, im Home Deines Nutzers gibt es ab dem ersten Start eine Datei unter "$HOME/.xine/config_xineliboutput"

    HowTo: APT pinning

  • O.K., ich bin nicht nur überfordert, sondern auch zu blöd zum Lesen. :wand Bäng, da steht doch alles :wand


    vorher

    Code
    # vdpau: HD deinterlace method
    # { bob  half temporal  half temporal_spatial  temporal  temporal_spatial }, default: 3
    #video.output.vdpau_hd_deinterlace_method:temporal


    jetzt

    Code
    # vdpau: HD deinterlace method
    # { bob  half temporal  half temporal_spatial  temporal  temporal_spatial }, default: 3
    video.output.vdpau_hd_deinterlace_method:bob


    und auch bei 1080i fluppt es jetzt bei deutlich entspannterer CPU als bei xv - Wiedergabe - so soll es sein. Mehr als BOB scheint nicht drin zu sein, aber das ist nun wirklich kein Beinbruch. Zum Testen meiner vdr-Installationen und mal nebenher ein TV-Bild laufen zu lassen reicht das ja nun wirklich.

  • qvdpautest nach sollten aber die Werte reichen.
    Prüfe mal ob bei xine die Filter Noise und Sharpness abgestellt sind, die kosten auch GPU Rechenleistung.


    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

  • Habe mal meine ganze config_xineliboutput unter den Spoiler geklemmt. So weit ich das sehe, ist die fragliche Stelle diese hier?:

    Code
    # vdpau: restrict enabling video properties for SD video only
    # { none  noise  sharpness  noise+sharpness }, default: 0
    #video.output.vdpau_sd_only_properties:none


    Das heißt:Einstellung auf default, also weder noise noch sharpness-Filter? Oder besser mal explizit auskommentieren?



  • Code
    # vdpau: restrict enabling video properties for SD video only# { none  noise  sharpness  noise+sharpness }, default: 0video.output.vdpau_sd_only_properties:noise+sharpness


    Das ist die seit langem empfohlene Einstellung, noise & sharpness nur für SD, weil man das eigentlich nur da benötigt ... und dann nochmals "temporal" testen.

    HowTo: APT pinning

  • Code
    # vdpau: restrict enabling video properties for SD video only
    # { none  noise  sharpness  noise+sharpness }, default: 0
    video.output.vdpau_sd_only_properties:noise+sharpness


    Steht nun vor und nach dem Lauf von vdr-sxfe in der config-Datei, aber ich kriege es nicht richtig zum Laufen. Bei temporal scheint es gerade nicht so zu reichen, alle wenige Sekunden springt das Bild. Habe die CPU sogar auf maximale 2.7 MHZ festgezurrt, hilft aber nicht.


    Mit

    Code
    # vdpau: HD deinterlace method
    # { bob  half temporal  half temporal_spatial  temporal  temporal_spatial }, default: 3
    video.output.vdpau_hd_deinterlace_method:bob


    bleibt die Wiedergabe ansehnlich und flüssig und der PC weiter bedienbar.

Jetzt mitmachen!

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