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

  • I guess you've already tried the latest driver and library versions? I had similar artefacts on my Haswell systems when I had a out-dated/misconfigured version of libdrm, xf86-video-intel, or something (sorry, cannot remember anymore). Anyway, Braswell is completely different generation than Haswell. Does those filters work in Kodi?

  • I got my Intel Skylake desktop pc.


    My softhddevice gets green video with -v va-api.
    Video works with -v va-api-glx.


    VPP softhddevice shows only OSD no video.


    Any ideas?


    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

  • intel-vaapi-driver, libva, libdrm versions?


    I have quite good video and OSD with intel-vaapi-driver 1.6.0, libva 1.6.0 and libdrm 2.4.65+git150922 ... only caveat, 720p doesn't work, but 567i & 1080i @ MADI on my BayTrail Test System.

    HowTo: APT pinning

  • linux - 4.2.0-r1
    xorg-server - 1.17.2-r1
    xf86-video-intel - 2.99.917-r2
    mesa - 11.0.0
    libdrm - 2.4.65
    libva - 1.6.1
    libva-intel-driver - 1.6.1
    ffmpeg - 2.8


    I currently try to get some reference code (mpv, kodi, ..) to run. To see if it is a hardware / driver problem or a softhddevice.


    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

  • Try to downgrade back to ffmpeg-2.7 in order to get visible video.


    My working setup with Haswell (based on Gentoo):
    linux 4.2.0
    xorg-server 1.16.4
    xf86-video-intel 2.99.917
    mesa 10.3.7
    libdrm 2.4.65
    libva libva 1.6.2.pre1
    libva-intel-driver 1.6.2.pre1 (1.6.1-47-g2a72f99)
    ffmpeg 2.7

  • should be : VAProcFilterColorBalance, &colorbalance_caps,


    This is not a solution for the bars, but it does fix the segfault when entering the menu
    video - 576i etc. (and also -v va-api-glx)


    Did this happen on va-api or va-api-glx only? I've commited a fix for the latter, but the former one sounds a like a compiler bug.

  • With ffmpeg 2.7.2 i get video and SoftHdDevice GIT with above update.


    Deinterlacer Bob:
    With va-api HDTV with bad frame frames many bars, SDTV only green frames format bug?
    With va-api-glx SDTV and HDTV works with regular bad frames which seems to contain many bars,


    Best Picture with First/Second Field 2,2


    MotionAdapative same, MotionCompensated same.


    I tested mpv git, which works fine, but surprise Deinterlacer not working.
    I tested ffvademo, which works fine, but surprise no deinterlacer implemented.


    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

  • > Did this happen on va-api or va-api-glx only? I've commited a fix for the latter, but the former one sounds a like a compiler bug.


    In va-api when expanding video under 576i you could see strange characters, when on 576i pressing right arrow a segment fault
    was created.
    va-api-glx didn;t do anything at all.
    I will have a look at the status after you're commits, but that will be tomorrow.



    Rene

  • rofafor :


    I tested the new pesintta git
    both va-api and va-api-glx are working, no more segfaults.
    I can use the menu and all settings seem to work.
    The color_balance filters are working.
    I couldn't see any difference in the tone settings, but that is probably because
    it is difficult to see with the horizontal bars flickering.


    Yes, I still have the horizontal bars :-(


    Rene

  • Try to downgrade back to ffmpeg-2.7 in order to get visible video.


    It's working now, but I consider this a workaround. Downgrading is not acceptable for an Arch Linux user. :P
    Ohh and it's still crashing with 720p from ORF1 HD or ZDF HD


    Backtrace with glx:

  • >.and those horizontal bars exists only with softhddevice? Have you tried other vaapi mediaplayers with vpp enabled on your system? I still think this is due to a incompatible library version or buggy driver.


    Well I wanted to test with xbmc, but I cannot seem to find the vpp settings (kodi-bin:amd64/sid 15.1+dfsg1-3)
    That will take some time to figure out.


    N.B. I found something else:
    As soon as I get into the menu : setup : plugins :softhddevice , and out of it again
    (without doing something), the picture is distorted (like over saturated) but very bad.

  • I though Kodi isn't using vpp stuff, but doing those things in software. Anyway, I stand corrected.



    Does your compiled plugin support both vdpau and vaapi? If yes, please, disable vdpau and try again. The plugin code somehow selects invalid code execution path for some unknown reason and it could be your environment as a 720p channel works nicely here with Gentoo. The other thing worth of trying would be changing the compiler optimization level...

  • As referenz i suggest mpv GIT,, it has va-api and va-vpp support.


    I'm not sure. if i should use my code to find the bugs or if i pull the vpp branch and use this as start.
    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

  • I got a problematic 720p sample recording, but it works nicely on my Haswell, so I can't help on that matter (and still think it's a driver bug).


    On the otherhand I found the bug in skin tone enchancement and made a pull request for pesintta's repo. So, with the Haswell platform the only remaining issue is the ffmpeg-2.8 incompatibility.

  • N.B. I found something else:
    As soon as I get into the menu : setup : plugins :softhddevice , and out of it again
    (without doing something), the picture is distorted (like over saturated) but very bad.


    Well, this was a user error (sort of).
    If I go into the menu and directly out of it, the values for brightness, contrast etc. are set to
    the values that are (hiden) in the menu.
    The values for contrast and saturation where on max.


    N.B. I believe the defaults for these are coming from


    static int ConfigVideoContrast = 1000; ///< config video contrast
    static int ConfigVideoSaturation = 1000; ///< config video saturation


    in softhddevice.cpp.


    It would be better if they where 10.



    greetings Rene