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

  • Hi,


    in the version of vdr-plugin-softhddevice-vpp_menu_integration cloned yesterday, there is a small
    problem when compiling on an ubuntu trusty system:


    Code
    softhddevice.cpp: In member function ‘virtual void cSoftOsd::Flush()’:
    softhddevice.cpp:503:32: error: invalid conversion from ‘cPixmap*’ to ‘cPixmapMemory*’ [-fpermissive]
     	while ((pm = RenderPixmaps())) {
                                	^
    make: *** [softhddevice.o] Fehler 1


    if this is changed back to the softhddevice git version with the v10 patch applied, everything compiles fine,i.e.


    Code
    while ((pm = (dynamic_cast < cPixmapMemory * >(RenderPixmaps())))) {


    patch:



    best wishes pbg4

    vdr1:Produktivsystem: Zotac Box mit Atom 525/ION 2.Generation yaVDR 0.6.1 und satip plugin, mit digibit r1/minsatip
    vdr2:Zotac CI-320 vdr für ARD radio transponder und VDR Aufnahmen server yaVDR 0.6.1,.. und weiterer minisatip-server + Hauppauge WinTV-Quad HD,
    vdr3: testsystem: Shuttle NC02U mit Skylake und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..
    vdr4: testsystem: Acer Laptop ES11-132 mit Braswell und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..

  • You should also change delete pm to DestroyPixmap(pm) in the same function for a proper release (see HISTORY of vdr 2.1.10)

    vdr-2.7.3

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, web, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

  • Hi,


    thanks for the hint, hmm, missed the commit in johns master repo, and yes, I was compiling for vdr 2.1.10,..
    everything is fine now,..


    best wishes pbg4

    vdr1:Produktivsystem: Zotac Box mit Atom 525/ION 2.Generation yaVDR 0.6.1 und satip plugin, mit digibit r1/minsatip
    vdr2:Zotac CI-320 vdr für ARD radio transponder und VDR Aufnahmen server yaVDR 0.6.1,.. und weiterer minisatip-server + Hauppauge WinTV-Quad HD,
    vdr3: testsystem: Shuttle NC02U mit Skylake und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..
    vdr4: testsystem: Acer Laptop ES11-132 mit Braswell und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..

  • Hi,
    I try to use the internal graphic card of the I7 (2600) of my test vdr.


    I use following packages/sources:
    softhddevice -> https://github.com/pesintta/vdr-plugin-softhddevice
    libva -> 1.5.0-1 (https://launchpad.net/~oibaf/+…e/ubuntu/graphics-drivers)
    Intel-vaapi-Driver -> 1.5.0-1 (https://launchpad.net/~oibaf/+…e/ubuntu/graphics-drivers)
    xserver-xorg-video-Intel -> 2.99.917+git1502241642 (https://launchpad.net/~oibaf/+…e/ubuntu/graphics-drivers)


    VDR starts and I get a (quit good) Image (no vissible problems except red background using va-api or yellow borders using va-api-glx)
    But softhddevice write a huge amount of messages to the syslog (40-50 per Second).
    It repeate this line:

    Code
    vaapi/vpp: begin Picture failed (0x5): invalid VAContextID


    How can I resolve this problem? Is it right that the grab Image functions does not work with va-api (no shrinked Image inside skindesigner-blackhole)?


    Kind regards,
    Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • You can comment out the Debug Mode in the Makefile to avoid the red and yellow backgrounds.


  • How can I resolve this problem? Is it right that the grab Image functions does not work with va-api (no shrinked Image inside skindesigner-blackhole)?


    This is no grab, this is the scaling video API. IIRC there was a problem with NVidia VA-API, with Intel it can work. Should work?


    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

  • nc17, thank you for the hint. with disabled debug the yellow/red Colors are gone


    john: scaling should work with intel va-api in softhddevice (have you a test machine with Intel va-api where this is working)?


    What could be the problem with chause these many Errors in the log?


    Here are some more logs from starting VDR


    Bye, Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • Hello,
    I updated libav from the version of frodos repository (0.10.12) to libav from Debian jessie (11.2-1) and compiled softhddevice from rofafors git (https://github.com/rofafor/vdr…evice/tree/windowed_video).
    Now the error logs are gone and the scaled Video Image is working.


    What mode for softhddevice should be used: va-api or va-api-glx?


    Kind regards,
    Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • va-api or va-api-glx?

    va-api-glx, does run better here and is the better choice for SandyBridge and IvyBridge. With Haswell ist might not make that difference.


    Regards
    fnu

    HowTo: APT pinning

  • Hello,


    I think I have discovered two possible bugs:


    I have a dual head setup. If I select HQ Scaling and attach the output to my second screen (TV), I see flickering (sometimes static) vertical lines on the right-hand side (about 2-3 pixels). These lines don't disappear even when setting CutLeftRight to a non-zero value. If I select normal Scaling the lines are gone.
    Note: I don't have these lines when attaching the output to my first screen (Monitor). Maybe it's because my monitor has a different resolution (1920x1200).
    I have installed libva-intel-driver-9999 using the master branch. Do I need Gwenole Beauchesne's 19.vpp.adi branch for HQ scaling?


    Second, it recently happened that the picture got stuck while I was watching a recording. I could hear that the playback was running and I could fast-forward/rewind and jump the playback using the yellow/green keys but I was still getting the old picture. Then I stopped the playback and started the recording again. This time I had no problems but I saw that the broadcasting station switched from 16:9 to 4:3 when the picture got stuck the first time. Apparently the problem was caused by the format switching. I was able to reproduce it again but it doesn't seem to happen always.


    By the way, with va-api-glx I still have the issue that the screen goes black if I click with the mouse to change from fullscreen to window mode. Is there any solution for this?

  • I have a dual head setup. If I select HQ Scaling and attach the output to my second screen (TV), I see flickering (sometimes static) vertical lines on the right-hand side (about 2-3 pixels). These lines don't disappear even when setting CutLeftRight to a non-zero value. If I select normal Scaling the lines are gone.


    These sounds like scaling bug in the driver that was fixed by Antti and should be committed in freedesktop's master branch, but this might be yet another bug in the driver...


    Do I need Gwenole Beauchesne's 19.vpp.adi branch for HQ scaling?


    IIRC, yes. At least on my Haswell it produces much better visuals where there's no actual difference with the freedesktop version.


  • These sounds like scaling bug in the driver that was fixed by Antti and should be committed in freedesktop's master branch, but this might be yet another bug in the driver...


    Thanks for your reply. Is the fix already commited? Do you mean this commit? I re-emerged libva-intel-driver today but the problem persists.



    IIRC, yes. At least on my Haswell it produces much better visuals where there's no actual difference with the freedesktop version.


    I tried the 19.vpp.adi branch but couldn't spot any difference in my short test. I have a Celeron G1840 btw. The only difference I noticed is that I now have a horizontal line at the bottom on my first screen (not on the second screen) when using HQ scaling, which I don't have with the master branch. The vertical line on the second screen is also still there.


    Additionally I noticed that the OSD is distorted (happens with both branches) if the output window is not maximized (see first picture at Softhddevice mit Intel GPU bzw. va-api - Erfahrungsbericht)

  • Thanks for your reply. Is the fix already commited? Do you mean this commit? I re-emerged libva-intel-driver today but the problem persists.


    Yes, that's the one. So, it seems that there's another bug using a second screen. I know that Antti isn't using such setup and I don't have such either, so you'll have dig out the bug by yourself.

  • So, it seems that there's another bug using a second screen. I know that Antti isn't using such setup and I don't have such either, so you'll have dig out the bug by yourself.


    I am afraid my programming knowledge is not sufficient to figure this out and fix it by myself. For now I switched back to normal scaling since I don't see any difference, too.
    If someone is willing to fix the bug and needs a tester, I would be glad to help.

  • The git master of libva-intel-driver now contains VPP fixes for advanced deinterlacers - especially in Sandybridge and Ivybridge CPUs.


    Thanks for the info. So using Gwenole Beauchesne's 19.vpp.adi branch is no longer needed? How about Haswell systems (and HQ scaling)?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!