[Announce] VA-API/VPP Patch for vdr-plugin-softhddevice - updated "v9"

  • Ja, nicht einfach, aber auch nicht so schwierig. Der Dreh- und Angelpunkt ist auch bei den neueren Libs wieder der "intel-driver" wie oben beschrieben mit "git cherry-pick ...".


    Bei "libva" war die punktuelle Version nie sooo wichtig, ich hatte mit "einer" 1.3.2pre1 getestet, Antti hatte sogar 1.3.1 zum Entwickeln. Daher habe ich "1.4.0pre1" z.B. auch nicht ausgecheckt sondern ein frisches Update Paket von hier genommen, da hatte ich schon 1.3.2pre1 her. Damit brauch ich mich bloß auf den "intel-driver" zu konzentrieren. Das xorg Modul ist auch nicht so wichtig, hier läuft gar die "problematische" Version 2.99.910, welche Ubuntu Trusty Stock ist ...


    Ok, ffmpeg ist hier immer noch 1.2.6 ...


    Regards
    fnu

    HowTo: APT pinning

  • Ein gotcha hat sich noch ergeben, fehlt leider in Anttis letzter Version vom Patch.


    In "video.c" die Zeile 2132 auskommentieren, der "abort()" verursacht unnötige Abstürze beim Umschalten.


    Mein kompletter Patch sieht daher so aus:



    Regards
    fnu

    HowTo: APT pinning

  • Hallo Leute,


    da ja bei mir das Deinterlacing noch nicht sauber läuft (zumindest bei 576i nicht -- laut logfile läuft es bei 1080i und sieht auch so aus), habe ich mir nochmal die Branches des libva-intel-driver angeschaut und Master scheint die Vebox-Commits nicht zu enthalten. Daher habe ich nun nochmal mit dem aktuellen Staging Tree alles kompiliert und naja, da sind meine Segfaults wieder ... Dafür habe ich jetzt libva / libva-intel-driver und vdr-softhddevice mit Debug-Symbolen gebaut und einen besseren Stacktrace erzeugen können:



    Allerdings ist mir nicht klar, wo jetzt der Fehler sein könnte, ob der blend_state in softhddevice (inkl. des Abort-Patches) nicht sauber gesetzt / übergeben wird ...


    Gruß,


    Space

  • ich bezweifel das Multihead hier in irgendeiner Betrachtung stand. Ich wüsste noch nicht mal ob diese Video Beschleunigung bei Multihead überhaupt möglich ist, selbst mit passender xorg.conf.


    VA-API funktioniert prinzipiell auch im Multihead-Betrieb. Ich habe inzwischen herausgefunden, dass der X-Server nicht einfriert, wenn ich keine separaten Screens benutze, sondern Monitor und TV als einen gemeinsamen großen Screen konfiguriert habe. Das ist wahrscheinlich sogar die bessere Lösung, da ich so den VDR auch einfach auf den Monitor ziehen kann, wenn ich nicht extra den Fernseher einschalten möchte.


    Mit der Version 17.vpp.vebox-r1-8-gad3f8b5 vom libva-intel-driver hatte ich viele Bildstörungen (Artefakte, häufige Aussetzer usw.). Mit dem neuesten Git-Checkout wie von Antti beschrieben funktioniert es dagegen schon ziemlich gut. Gelegentlich "springt" das Bild etwas, so, als ob zwischendurch einzelne Frames fehlen würden.


    Im Log tauchen bei mir ständig "time/frame too long"-Meldungen auf. Hier mal ein kleiner Auszug:


    Ich verwende das Streamdev-Plugin. Kann das eventuell auch davon kommen?


    Außerdem ist es so, daß der VDR beim Start manchmal mit einem Segfault crasht und ich mehrmals den VDR neustarten muss, bevor er läuft.
    Das Log dazu:

  • gentoo-vdr


    Wie gesagt, es hat nur den Anspruch alpha/unstable aktuell, damit sich das ändert bedarf es viel Patch bezogenes Feedback. Jeder Einfluss, jede Diskussion "zu Spielereien" verwässern erstmal nur diesen Fokus ...


    Hast Du die 2 Posts gelesen?


    - [Announce] VA-API/VPP Support (alpha) for vdr-plugin-softhddevice
    - [Announce] VA-API/VPP Support (alpha) for vdr-plugin-softhddevice


    Vorallem letzterer könnte hilfreich bei Deinem Start-Problem sein.


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()


  • Ja, habe ich gelesen und ausprobiert. Mit den Werten decoder->SecondFieldHistory[1] und decoder->FirstFieldHistory[2], die bei Dir gut funktionieren, zittert das Bild bei mir extrem. Die anderen Möglichkeiten probiere ich noch aus.


    - [Announce] VA-API/VPP Support (alpha) for vdr-plugin-softhddevice


    Vorallem letzterer könnte hilfreich bei Deinem Start-Problem sein.


    Habe ich ausprobiert aber keine Verbesserung feststellen können.

  • zittert das Bild bei mir extrem. Die anderen Möglichkeiten probiere ich noch aus.

    Ja, bitte unbedingt die richtige Kombination zu [Second|First]FieldHistory herausfinden, bitte alle anderen Tester auch. Auf 50Hz Ausgabe achten, sonst verwässern die Erkenntnisse ...


    Da sollte man viele Werte sammeln mit Angabe der GPU, Gen6, Gen7, Gen8, evtl. findet sich da ein einfacher[er] Weg das per OSD einstellbar zu machen.


    Habe ich ausprobiert aber keine Verbesserung feststellen können.

    Da wäre ein Backtrace sicher hilfreich, dazu müsstest Du den VDR durch gdb starten lassen, wenn er beim Start crasht kannst Du ja keine PID abfangen ...


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Hi,


    there's something new, from my point of view impressive, not even close to rudimentary anymore, this is good for a first beta:



    Please check in syslog what your GPU might support, "MotionCompensated" or "MotionAdaptive", the latter e.g. BayTrail-D, and do set this correctly at plugins setup in OSD. "Scaling" should work, we need to find out if there's difference between "normal" and "HQ". "Denoise" does work also, in OSD you see range "1..1000", VA-API does have "1..100". So if you want to set "10" for VA-API, you need to set "100" in OSD ... and on top you can set "FirstFieldHistory" & "SecondFieldHistory" in OSD, settings do work right away.


    Each setting can be set separately for the different formats. So, disable Denoise for HD material completely, as we do with VDPAU, to relax GPU. On my BayTrail-D J1800 this brought a lot, video is smoother and more fluent, sound seems to be sync now on 1080i and power consumption did drop significant.


    Channel switching did improve greatly, thanks for the great work Antti ... :tup


    Regards
    fnu

    Dateien

    HowTo: APT pinning

    3 Mal editiert, zuletzt von fnu ()

  • Erstmal, warum schreibst du auf Englisch?


    Mit dem neuen Patch habe ich jetzt Bild und dieses Bild sieht unglaublich gut aus.
    Etwas störend ist die gelbe Linie links und rechts und ein leichtes Ruckeln im Bild. Außerdem spielt bei vaapi-glx das OSD nicht so mit.


    ffmpeg 2.4.1
    libva 1.4.0
    libva-intel-driver 1.4.0


    Edit: OK vaapi ohne glx und der gelbe Balken ist weg, dafür ist das OSD komplett verzerrt.
    Edit2: Das verzerrte OSD ist mit LCARS weg.
    Edit3: Mit Motion Adaptive Deinterlacing wird das Ruckeln wirklich extrem.

  • Erstmal, warum schreibst du auf Englisch?

    Weil Antti kein n.m.I. kein deutsch spricht und ich vertretungsweise das Announcement übernommen habe, er möchte sicher mitlesen und wir können kein finnisch ... ^^


    Gelb heißt Du nutzt "va-api-glx" und nicht "va-api" was richtig wäre.


    Regards
    fnu

    HowTo: APT pinning

  • und dieses Bild sieht unglaublich gut aus.

    Ja, das kann ich bestätigen ... ;)


    Die FieldHistory sollte bei allen BayTrail-D gleich sein vmtl. bei allen Gen7/IvyBridge GPUs. Da ich bei VDAPU immer "Denoise=10" für 576i setze, also sehr gering, setze ich hier "Denoise=1".


    Bisher habe ich nur mit LCARS als Skin getestet, aber SkinFlatPlus sollte nun auch ohne Abstürze funktionieren.


    Regards
    fnu

    HowTo: APT pinning

  • Hab's noch nicht getestet, aber LCARS verzerrt nicht ... auf ServusTV HD kommt grad "Die fabelhafte Welt der Amelie", top Bild ...


    Regards
    fnu

    HowTo: APT pinning

  • Hi!


    I am still getting the same stack trace as in [Announce] VA-API/VPP Patch for vdr-plugin-softhddevice - updated "v9" and it does not matter if I use master or staging tree of libva-intel-driver.


    Is this more likely a driver bug in the libva-intel-driver and I should open a bug at freedesktop.org or is this more likely a bug in softhddevice / VA-API patch?


    Thanks for all the work and best regards,


    Space

  • Space


    How about some infos about your system? What Intel base, SNB, IVB, HSW, BayTrail, means Gen6,7 or 8? Underlying ffmpeg, other related details?


    The "v9" runs awesome here ...


    Regards
    fnu

    HowTo: APT pinning

  • Hi fnu,


    sure. I have posted most infos already but I will summarize them in one post:


    Code
    media-video/ffmpeg-1.2.6-r1
    x11-drivers/xf86-video-intel-2.99.916
    x11-libs/libva-9999 -> same error / backtrace with both master / staging from git://anongit.freedesktop.org/vaapi/libva
    x11-libs/libva-intel-driver-9999 -> same error / backtrace with both master / staging from git://anongit.freedesktop.org/vaapi/intel-driver


    Also it does not matter if I use va-api or va-api-glx in softhddevice --> same error / backtrace. My CPU is Intel(R) Celeron(R) CPU G1610 on Gigabyte B75N.


    I have uploaded the VDR logs to pastebin ... although the logfiles states


    Code
    libva 0.34 (Intel i965 driver for Intel(R) Ivybridge Desktop - 1.0.21.pre1 (staging-20130205-631-g3e8cce4)) initialized_


    the current staging version is used. I verified there is no other libva or libva-intel-driver installed. I guess this comes from the way the package is built via portage from git:


    Code
    GIT update -->
       repository:           	git://anongit.freedesktop.org/vaapi/intel-driver
       at the commit:        	73e87442bb37f780c1ee58d542599163682f1cc8
       commit:               	3e8cce4e7292651af10c9f375a6ad2e9fa494021
       branch:               	staging


    Thanks and best regards,


    Space


    EDIT: corrected pastebin link.

  • Hmm, ok, but libva & libva-intel-driver should come back in "vainfo" rather similar like that:


    Code
    ...vainfo: VA-API version: 0.36 (libva 1.4.1.pre1)vainfo: Driver version: Intel i965 driver for Intel(R) Bay Trail - 1.4.1.pre1 (1.4.1.pre1)...


    I'm already testing with ready to use packages, to make it maybe available for less experienced user with less changes on Trusty and maybe Precise. Just to get more spreaded feedback ...


    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!