[Announce] VA-API/VPP Patch for vdr-plugin-softhddevice - v10

  • Hi, a new version of VAAPI patch is now available for testing. On my Haswell setup the picture quality is much better than in earlier versions and even MCDI is finally usable. Also, the stuttering on Burosch samples is now neglible.
    Please, remember to reset both FieldHistory values to 0 before reporting any feedback (in German or English) on this thread! We are hoping to get rid of those field order settings in the setup menu.



    Download: 0001-VA-API-VPP-support-to-softhddevice-v10.patch


    Example of required command line parameters:

    Code
    1. ~# vdr -P 'softhddevice -a hw:0,3 -d :0.0 -f -v va-api'


    One can check the current GPU load with the intel_gpu_top application from x11-apps/intel-gpu-tools package:

    Code
    1. ~# emerge x11-apps/intel-gpu-tools # using Gentoo
    2. ~# intel_gpu_top


    All credits go to Antti Seppälä for his superb work!

  • MotionCompensated deinterlacing doesn't seem to work at all. Massive interlace artifacts in fast moving objects.


    MotionAdaptive deinterlacing works quite good with first field: 2 and second field 1. But if you take a closer look at moving texts you can spot some juddering.


    libva : git master
    libva-intel-driver: git master
    ffmpeg: 2.4.3
    xf86-video-intel: 2.99.916
    + Intel Celeron J1900

  • All credits go to Antti Seppälä for his superb work!

    Yes, this must be marked loud and clear, thanks for that passion and patience :tup


    Will test on BayTrail and SandyBridge and come back ... MADI w/o micro stutter would be great. Maybe I find some HW to test MCDI, but I suspect the difference is more or less subtle ...


    Regards
    fnu

    HowTo: APT pinning

  • MotionCompensated deinterlacing doesn't seem to work at all. Massive interlace artifacts in fast moving objects.

    Have you set both FieldHistory to "0" for MCDI?


    I suspect the little BayTrail might lack a bit performance for MCDI, but doesn't matter, we get 1080i on temporal level at 14W ... :P


    Regards
    fnu

    HowTo: APT pinning

  • I tried this on my new ASRock Q2900M, but the VDR crashes. The still picture from the radio-plugin works, but when switching to ARD it crashes. This is my first attempt to set up a VDR with intel drivers so I am not sure if all my versions are correct.


    The famous last words in the log:

    Code
    1. Nov 29 18:42:50 vdr-lan vdr[17943]: video: --:--:--.--- +0 0 0/\ms 0+0 v-buf
    2. Nov 29 18:42:50 vdr-lan vdr[17943]: video: decoder buffer empty, duping frame (8843/4) 0 v-bu
    3. Nov 29 18:42:50 vdr-lan vdr[17943]: video/vdpau: missed frame (6495/4)
    4. Nov 29 18:42:50 vdr-lan vdr[17943]: video: decoder buffer empty, duping frame (8844/4) 0 v-bu
    5. Nov 29 18:42:50 vdr-lan vdr[17943]: video: --:--:--.--- +0 0 0/\ms 0+0 v-buf
    6. Nov 29 18:42:50 vdr-lan vdr[17943]: codec/video: ffmpeg/libav buggy: width or height zero


    I compiled the VDR and intel drivers by myself on an OpenSUSE 13.2
    vainfo:


    ffmpeg

    Code
    1. vdr-lan:/video/src/va/intel-driver # ffmpeg
    2. ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
    3. built on Nov 14 2014 12:17:00 with gcc 4.8 (SUSE Linux)


    snippet from xorg.0.log


    And a backtrace:


    vdr-lan:/video/src # svdrpsend plug

    VDR 2.4.0 Kodi 17.4-Krypton
    OpenSUSE Leap 15.0, Kernel 4.20, Thermaltake DH102, ASHRock Q2900M, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , externalplayer 0.3.3, trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenu v1.2.5-git, streamdev-server v0.6.1-git, cecremote 1.4.2, osd2web 0.2.48, softhdcuvid v1.1.0-GIT8682ab0

  • Please, disable first VDPAU in the softhddevice plugin as your backtrace seems to be using it instead of VAAPI.


    Thanks, I had an old parameter for using VDPAU in my setup. With a single screen setup I get now a picture.


    My thermaltake case has a built in LCD-Display which I had already used for graphtft. This display is connected to the VGA output. I have configured this as screen 1 and the TV as screen 0 connected to the HDMI ouput. After this change I got strange effects. Initially after start up i got a completely black picture on the VGA output and a red picture on the TV (HDMI output). After moving the mouse I got a picture on both outputs. So this looks like an intel driver problem to me. Has anybody a working xorg.conf? Attached is my current xorg.conf


    Getting a simple dual screen setup with two X11 screens is really annoying with the intel drivers :wand , I had to specify the resolutions to use at both displays instead that the driver chooses the correct resolution as send by the EDID information send by the monitors.

    Dateien

    • xorg.conf

      (2,82 kB, 95 Mal heruntergeladen, zuletzt: )

    VDR 2.4.0 Kodi 17.4-Krypton
    OpenSUSE Leap 15.0, Kernel 4.20, Thermaltake DH102, ASHRock Q2900M, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , externalplayer 0.3.3, trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenu v1.2.5-git, streamdev-server v0.6.1-git, cecremote 1.4.2, osd2web 0.2.48, softhdcuvid v1.1.0-GIT8682ab0

  • MotionCompensated deinterlacing doesn't seem to work at all. Massive interlace artifacts in fast moving objects.


    MotionAdaptive deinterlacing works quite good with first field: 2 and second field 1. But if you take a closer look at moving texts you can spot some juddering.


    Does SoftHdDevice says it is supported? IIRC there was no fallback to worser Deinterlacer.


    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

  • Hello everyone,


    I just want to report status. I am running current GIT master of libva + libva-intel-driver on my Celeron G1610 (Ivy Bridge based) and both VAAPI-BOB and VAAPI-MADI are running "smooth". For VAAPI-MADI I have to set first field to 1 and second field to 0.


    But there are some artifacts with MADI deinterlacing (can be easily seen in N24) but this seems to be driver based (XBMC people noticed the same problems). MCDI is not advertised with GIT master:


    Code
    1. Dec 03 00:40:42 [vdr] video/vaapi: noise reduction supported_
    2. Dec 03 00:40:42 [vdr] video/vaapi: 0,00 - 1,00 ++ 0,03 = 0,50_
    3. Dec 03 00:40:42 [vdr] Enabling denoise filter (pos = 0)_
    4. Dec 03 00:40:42 [vdr] video/vaapi: deinterlacing supported_
    5. Dec 03 00:40:42 [vdr] video/vaapi: bob deinterlace supported_
    6. Dec 03 00:40:42 [vdr] video/vaapi: motion adaptive deinterlace supported_
    7. Dec 03 00:40:42 [vdr] Enabling Deint (pos = 1)_
    8. Dec 03 00:40:42 [vdr] Allocating 1 forward reference surfaces for postprocessing_
    9. Dec 03 00:40:42 [vdr] Allocating 0 backward reference surfaces for postprocessing_


    There is a branch (19.vpp.adi) by Gwenole Beauchesne which is supposed to contain some fixes regarding deinterlacing on Sandy / Ivy Bridge and even enable MCDI on Ivy Bridge.


    But with that driver version I get no deinterlacing at all at MADI/MCDI setting even though it's reported as supported according to VDR log. Next weekend I should be able to provide those logs again.


    So from my side: thanks a lot for your hard work!


    Best regards, Space

  • Some more (late) feedback from me:
    The stuttering problem after setting and moving some editing marks, which I had with v9, is now gone.
    MCDI is now usable and looks very good (I had to reset the FirstField and SecondField setting to 0 for both MADI and MCDI). The ticker on N24 is very good readable. Maybe it could be a little bit smoother but that's complaining on a high level.
    All in all I am very satisfied with the current status and use it in my productive environment. Thank you very much Antti!!!
    By the way, I have a Celeron G1840 and I am using libva-1.5.0, libva-intel-driver-1.5.0 and xf86-video-intel-2.99.917.

  • Vielleicht komm ich ja die Tage auch mal zum Testen, aber vorher noch ein paar Fragen:


    1. Ist der Patch noch aktuell oder gibts schon einen neueren?
    2. Kann ich libva parallel installieren, ohne das es Probleme gibt, wenn ich später meine NVidia Karte in den Rechner stecke? Oder muss ich die dann wieder deinstallieren.
    3. Was kann/muss ich auch den Debian-Repos installieren und was von Hand installieren?


    Den intel-Treiber nehme ich an, aus dem git im Ausgangspost.


    Was ist mit dem Rest?



    Was ist mit xf86-video-intel 2.99.916? Da finde ich nur xserver-xorg-video-intel in der Version 2:2.21.15-2+b2.


    Achso, softhddevice patchen ist klar.


    Grüsse
    TheChief

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Hallo TheChief,
    im MLD Portal ist da gerade eine Diskussion drum im Gange. Dort wurde auch der V10 Patch in die Distrie integriert. (Wäre für Dich auch eine Option, mit der sich leicht testen liesse, ohne alles neu machen zu müssen) Leider hat der scheinbar Nebenwirkungen auf den NVidia Part. Die Karten scheinen durchweg bis zu 20 % der Frames zu verlieren. Dies ist auch in Microrucklern zu sehen. Ist das hier eigentlich bekannt? Oder kann es hierfür auch noch andere Gründe geben? Der NVidia, der dort verwendet wird ist der aktuellste 346 er. Und der Kernel ist ein 3.16 er.
    Gruß
    Michael

  • sofhddevice patchen ist kein Problem. Ich will mir nur nicht zwangsläufig mein laufendes System zerschiessen. Daher wollt ich mich mal vorher kundig machen, was benötigt wird und was das für Konsequenzen auf den Betrieb mit Nvidia hat.


    Leider hat der scheinbar Nebenwirkungen auf den NVidia Part. Die Karten scheinen durchweg bis zu 20 % der Frames zu verlieren.


    Du meinst, wenn ich softhddevice patche, hat das auch Aufwirkungen auf vdpau? Oder versteh ich da jetzt was falsch?

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • So hab ich es gemeint. In der MLD ist seit einiger Zeit auch dieser Patch drin. Seit dem ist es so, das die NVidia bstückten Systeme bis zu 20% Paketverluste haben. Auch die Bezeichnungen für temporal_spatial wurden angepasst, was für einiges an Verwirrung sorgte. Außerdem ist Softhddevice mit dem Patch sehr "gesprächig", was in Verbindung mit den gedropten Frames zu viel Schrott im Log geführt hat.


    Gruß
    Michael

  • Auch die Bezeichnungen für temporal_spatial wurden angepasst,

    Nein, nicht angepasst, bei VDPAU Betrieb sollte da nachwievor "temporal_spatial" stehen, bei Intel Betrieb eben "Motion Compensated Deinterlacing". Aber das ist eben noch nicht fehlerfrei in SHDD integriert, daher würde ich das eher in einem testing/unstable Branch freigeben. Wer es produktiv nutzen will, kann das ja dennoch schon tun ...


    Regards
    fnu

    HowTo: APT pinning

  • fnu Hast Du denn auch mal Frame Verluste festgestellt mit der gepatchten Version mit NVidia Karten?

    Ich hatte mal eine gepatchte Version mit Nvidia im Einsatz und keine Probleme festgestellt, GT630. Es ist aber nicht auszuschließen das das passieren kann, daher mein gebetsmühlenartiger Aufruf mitzutesten und Feedback zu liefern, sonst wird das nix.


    Statt dessen wird das bei MLD gleich integriert? Wow, verquere Welt ... :rolleyes:


    Regards
    fnu

    HowTo: APT pinning