[ANNOUNCE] vaapivideo 1.7.3

  • Wie sind denn die Umschaltzeiten im Vergleich zu softhddevice?
    Wenn ich das richtig sehe, überspringst du kein Audio, sondern spielst den Vorlauf komplett ab.
    Das würde aber mehrere 100 ms längere Umschaltzeiten zu Folge haben (abhängig vom A/V Versatz).

    Wird instant in den Decoder gekippt, Audio, Video, nachdem ich es detected habe (ähnlich wie softhddevice). Schneller geht es nicht. Nach einer "Warmup-Phase" wird der Video-Stream verlangsamt, der läuft nämlich immer voraus. Siehe cVaapiDecoder::SyncAndSubmitFrame(). Daran habe ich lange getüftelt, damit die Umschaltzeiten minimal sind. I-Frame Sync habe ich rausgeworfen und lasse ffmpeg arbeiten.

    System 1: Hardware : MSI PRO B760M-B, Intel Core i3-13100, DVBSky S952 V3, 1x 2TB NVMe, Gehäuse Antec Remote Fusion Black, 16 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14
    System 2: Hardware : Intel NUC10i5FNK, Intel Core i5-10210U (Comet Lake), DVB TechnoTrend TT-connect S2-4600 USB, 1x 1TB NVMe, 32 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14

  • Schneller geht es nicht.

    Doch.
    Wenn nämlich Video nicht auf Audio warten muss, weil Audio passend weggeworfen wird.
    Im Audioteil von softhddevice gibt es dafür "skip".
    Soll keine Kritik sein, eher ein Hinweis für Verbesserungspotential.

  • URL stimmt, fixe ich. intel-media-driver passt bei Fedora, kommt allerdings aus dem nonfree-Repository.

    System 1: Hardware : MSI PRO B760M-B, Intel Core i3-13100, DVBSky S952 V3, 1x 2TB NVMe, Gehäuse Antec Remote Fusion Black, 16 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14
    System 2: Hardware : Intel NUC10i5FNK, Intel Core i5-10210U (Comet Lake), DVB TechnoTrend TT-connect S2-4600 USB, 1x 1TB NVMe, 32 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14

  • Mal ne Frage: ich habe das Plugin auch mit UHD-Sendern getestet, aber ich muss sagen: UHD scheint tot zu sein unter DVB-S2. Außer "RTL UHD" / "Pro7Sat.1 UHD" (mit "speziellen" Plugin unter VDR sichtbar, kaum Content) und "QVC UHD" (Verkaufssender) gibt es nicht wirklich was. Ich habe darum entschieden, erst mal nur den DVB-Standard BT.709 / HD zu supporten. Obwohl ARD/ZDF ca. 10 Mrd. €/Jahr bekommen, kommt da nichts.

    Ja, da hast Du Recht. Gerade die öffentlich rechtlichen könnten da mal aufholen.

    Manchmal kommt auf Pro7 UHD ein interessanter Film in UHD. Den nehm ich dann mal auf oder schaue ihn.

    Den ganzen „Haid“ bzgl. UHD hier im Forum kann ich nicht nachvollziehen. Wenn etwas gesendet wird, würde ich das halt gerne auch schauen. Und dann auch mit allen Festures, die ausgestrahlt werden (HDR 10bit, E-AC3).

  • Doch.
    Wenn nämlich Video nicht auf Audio warten muss, weil Audio passend weggeworfen wird.
    Im Audioteil von softhddevice gibt es dafür "skip".
    Soll keine Kritik sein, eher ein Hinweis für Verbesserungspotential.

    Verstehe ich nicht ganz. Audio läuft doch immer nach, wie kann ich denn Audio dann wegwerfen. Ich hatte das wie folgt gelöst:

    1. Freerun -> no audio processor, no PTS, or clock invalid: submit immediately
    2. Warmup -> freerun until audio clock appears, then record baseline delta
    3. Same PTS -> second interlaced field: submit without re-evaluating
    4. Discontinuity -> delta jumped >300 ms from previous: reset baseline
    5. Late (drop) -> delta < -100 ms: discard frame so decoder catches up

    Also erst mal raushauen, so schnell es geht, wenn sich beide PTS stabilisiert haben, dann droppe ich ein paar Videoframes bis es passt. Aber gerne optimiere ich das noch. Passt aktuell noch nicht in allen Situationen.

    System 1: Hardware : MSI PRO B760M-B, Intel Core i3-13100, DVBSky S952 V3, 1x 2TB NVMe, Gehäuse Antec Remote Fusion Black, 16 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14
    System 2: Hardware : Intel NUC10i5FNK, Intel Core i5-10210U (Comet Lake), DVB TechnoTrend TT-connect S2-4600 USB, 1x 1TB NVMe, 32 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14

  • Code
    /usr/include/libdrm/xf86drmMode.h:484:18: error: ISO C++ forbids flexible array member ‘lessees’ [-Wpedantic]
      484 |         uint32_t lessees[];
          |                  ^~~~~~~
    /usr/include/libdrm/xf86drmMode.h:491:18: error: ISO C++ forbids flexible array member ‘objects’ [-Wpedantic]
      491 |         uint32_t objects[];
          |                  ^~~~~~~

    Bitte mal probieren:

    C
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wpedantic"
    #include <xf86drmMode.h>
    #pragma GCC diagnostic pop


    Welche Distribution? Dann kann ich mal selber probieren. Sind wahrscheinlich alte Includes.

    System 1: Hardware : MSI PRO B760M-B, Intel Core i3-13100, DVBSky S952 V3, 1x 2TB NVMe, Gehäuse Antec Remote Fusion Black, 16 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14
    System 2: Hardware : Intel NUC10i5FNK, Intel Core i5-10210U (Comet Lake), DVB TechnoTrend TT-connect S2-4600 USB, 1x 1TB NVMe, 32 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14

  • Deinen Sync-Stufen-Abruf finde ich interessant. A/V Sync ist ein spannendes Thema, zu dem es verschiedene Lösungsansätze gibt, mit denen sich die Ausgabeplugins auf verschiedene Weise beschäftigen. Da würde sich fast ein neuer Thread anbieten... softhddevice-drm-gles z.B. puffert erstmal alles was kommt und füllt die Puffer. Die Wiedergabe startet genau dann, wenn ein audio und video pts vorliegt, der sich synchronisieren lässt, die beiden input buffer voll sind und zusätzlich auch der drm output buffer erstmalig voll ist. Audio und Video starten also immer synchron, eine Sofortwiedergabe mit anschließendem Aufholen gibt es (noch) nicht.

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.9 mit vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4B+ - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP-Clients) --- RPi5, Radxa Rock 4C+ (RK3399T), Tanix TX6, Odroid N2+ --- SW: VDR*ELEC mit softhddevice-drm-gles --

    Edited once, last by rell (March 8, 2026 at 4:39 PM).

  • Ich bekomme einen Segmentation fault

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Dazu kommt das HD sauber auf ein UHD Display skaliert eben auch ziemlich gut aussieht und für den allermeisten Content quasi kein Unterschied besteht zwischen HD skaliert & nativem UHD Material, wie schon zu Beginn der HD Ära.

    Ich möchte jetzt nicht zu OffTopic werden, aber mal kurz meine meinung zum Thema HD vs UHD und auch 8bit vs 10bit Farbtiefe.
    Prinzipiell hast Du da recht, aber das gilt meiner Erfahrung nach nur dann, wenn FullHD (1920x1080x50p) als Quellmaterial genommen wird und nicht das bei den ÖR-TV-Sendern verwendete HD (1280x720x50p).

    Gerade dann bei Aufnahmen/Bildern in der Totalen, wo es viele kleinere Details gibt ist ein HD-Bild doch wesentlich unschärfer als ein Bild in FullHD.
    Wenn die TV-Sender also in FullHD senden würden, brauchte man für LiveTV nicht unbedingt UHD! Aber momentan gibt's ja nur das kastrierte HD.

    Aber es gibt noch einen weiteren wichtigen Punkt neben der Bildauflösung: Die Farbtiefe!
    Also ob ich 8bit - 10bit oder sogar 12bit zur Verfügung habe, um die Abstufungen einer Farbe darstellen zu können.
    Bei 8bit habe ich ja nur 256 Abstufungen, bei 10bit sind es dann schon 1024 Abstufungen wie ich eine Farbe darstellen kann.
    Bei 8bit gibt es oftmals sichtbare Abstufungen im Bild, wenn ein Farbverlauf dargestellt wird, was dann bei 10bit bereits stark minimiert wird!

    meine aktuelle Hard- und Software

    Heimkino: . . . . . . . AVR Denon AVR-X4800H . . . MiniLED-UHD-TV SONY BRAVIA XR-75X95L. . . Universal-FB: Sofabaton U2
    VDR-Hardware: . . Geekom Mini Air12 mit Intel N150 inkl. Intel UHD XE-Grafik, 3x DVB-C USB-Tuner MyGica t230C

    VDR-Software: . . . yaVDR-ansible - VDR-2.7.x , Ubuntu-Server HWE-Kernel 6.14.0
    VDR-Client 1+ Media-Player: . . . Odroid N2 mit VDR*ELEC Kodi21-VDR2.7.x_@Zabrimus
    VDR-Client 2+ Media-Player: . . . Dune HD Homatics R4K+ . 4GB mit VDR*ELEC Kodi21-VDR2.7.x_@Zabrimus

  • Ich bekomme einen Segmentation fault

    Jetzt geht's ans Eingemachte

    Code
        VAContextID contextId = VA_INVALID_ID;
       if (vaCreateContext(vaDisplay, configId, 0, 0, 0, &surface, 1, &contextId) != VA_STATUS_SUCCESS) [[unlikely]] {
           vaDestroySurfaces(vaDisplay, &surface, 1);
           vaDestroyConfig(vaDisplay, configId);
           esyslog("vaapivideo/device: VPP probe failed -- vaCreateContext error");
           return false;
       }


    Hier probe ich, ob Dein Treiber überhaupt VPP kann. Crashed bei mir nicht auf 3 Systemen (Intel, AMD, Nvidia). Irgendwelche Infos? Distribution, Kernel, Ausgabe von "vainfo"? Ich erhöhe mal meine Probe-Area von 1x1 auf 64x64, vielleicht hilft das.

    System 1: Hardware : MSI PRO B760M-B, Intel Core i3-13100, DVBSky S952 V3, 1x 2TB NVMe, Gehäuse Antec Remote Fusion Black, 16 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14
    System 2: Hardware : Intel NUC10i5FNK, Intel Core i5-10210U (Comet Lake), DVB TechnoTrend TT-connect S2-4600 USB, 1x 1TB NVMe, 32 GB DDR4 RAM.
    Software : Fedora 44, vdr 2.8.2, vaapivideo 1.7.3, Kernel 7.0.14

  • Distribution, Kernel, Ausgabe von "vainfo"?

    gentoo

    6.12.41-gentoo

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Du kannst vainfo das DRI-Device direkt mitgeben, also z.B. vainfo --display drm --device /dev/dri/renderD128

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • C
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wpedantic"
    #include <xf86drmMode.h>
    #pragma GCC diagnostic pop

    damit geht es hier ohne Fehler

    (VDR) NUC-11. Generation * BM2LTS * DD NET S2 Max * (Sound) Sonos ARC Ultra, ERA300, Sub Mini * (Stream) Apple TV 4K (2022) * (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G57LW

  • gentoo

    6.12.41-gentoo

    könnte man doch auch mal aktualisieren

    (VDR) NUC-11. Generation * BM2LTS * DD NET S2 Max * (Sound) Sonos ARC Ultra, ERA300, Sub Mini * (Stream) Apple TV 4K (2022) * (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G57LW

  • Das sind halt die von gentoo freigegebenen stabile Versionen

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Paulaner Sicher sieht jeder die etwaigen Vorteile bei UHD, nutzt nur leider überhaupt nichts wenn Europa-weit kein UHD Format gesendet wird oder innerhalb der EBU bisher noch keine abschließende Format-Einigung vorliegt, nur ein, nennen wir es groben Rahmen, in welchem heute getestet wird. Farbtiefe kostet Bandbreite und damit richtig Geld. SD & HD wird per DVB bis heute nicht in 8-bit (0-255) gesendet, sondern in 6,8-bit (16-235), auch bekannt als "studio levels".

    Angesichts dessen das Europa-weit allen öffentlich-rechtlichen Sendeanstalten das Budget gekürzt wird und damit die Angebote ausgedünnt werden, sowie privat-rechtlichen Sender eher mit Bild-Qualität am unteren Ende glänzen, trotz 1080i, ist UHD als DVB Standard weiter weg den je. Es gibt keinerlei Angebot welches man ein Solches nennen kann, da nutzt auch das rumgeheule einzelner Nutzer hier nichts.

    Insofern mein :thumbup: für den Fokus auf das was wirklich aktuell noch Phase ist, HD (720p & 1080i) und leider ja immer auch noch SD (576i). Dieses stabilisieren, und sollte UHD irgendwann mal Phase werden, lässt sich daran dann bestimmt auch arbeiten.

    Vllt. ergibt sich ja eher mal aus einem der Ansätze und einer Zusammenführung unterschiedlicher Strömungen das eine VA-API Ausgabeplugin ... 🫣

    Bzgl. Nvidia Grafik bietet der opensource Treiber "nouveau" schon einige Zeit VA-API Fähigkeiten:

    Bzw. es gibt auch ein AddOn für offizielle Nvidia Treiber Stacks, zuletzt aktualisiert Sommer 2025:

    Click for my gear

    [1] Intel NUC Kit NUC7i5BNH, Akasa Newton S7, 8GB DDR4, WD Black SN700 250GB NVMe, Crucial MX500 2TB, CIR, SAT>IP, Ubuntu LTS 18.04.5, VDR 2.4.1 (15W)
    [2] Intel NUC Kit NUC7i3BNH, 8GB DDR4, WD Black SN700 250GB NVMe, Crucial MX500 1TB, CIR, SAT>IP, Ubuntu LTS 20.04.1, VDR 2.4.1 (13W)
    [3] BQ500, Asrock X470D4U, AMD Ryzen 5 5600, 48GB DDR4 ECC, 2,5Gbe, 2x WD Black SN750 512GB NVMe, 4x 2TB Lexar NM620 NVMe, 4x Samsung SSD QVO 4TB, ASUS USB-C2500, xcp-ng 8.3.0 (50W)
    [4] Sharkoon PCGH, Gigabyte MC12-LE0, AMD Ryzen 5 5600, 48GB DDR4 ECC, 2,5Gbe, 1x Kingston 128GB NVMe, 4x WD Black SN750 512GB NVMe, 4x Intel DC S3500 500GB, 8x Micron 5100 Pro 1.92TB, ASUS USB-C2500, xcp-ng 8.3.0 (60W)
    [5] Intel NUC D34010WYB, Akasa Tesla H, Intel Core i3-4010U, 8GB DDR3, 2.5Gbe, Intel Series 313 24GB mSATA, Samsung SSD QVO 8TB, OpenMediaVault 8 (Synchrony)
    [6] Jultec JPS0501-12AN, JPS0501-8M2, Octopus Net (DVBS2-8) & openHABian 5.2.0 on RaspberryPI 4 4GB

  • finde Deine Wortwahl daneben.

    Zur Kenntnis genommen.

    Click for my gear

    [1] Intel NUC Kit NUC7i5BNH, Akasa Newton S7, 8GB DDR4, WD Black SN700 250GB NVMe, Crucial MX500 2TB, CIR, SAT>IP, Ubuntu LTS 18.04.5, VDR 2.4.1 (15W)
    [2] Intel NUC Kit NUC7i3BNH, 8GB DDR4, WD Black SN700 250GB NVMe, Crucial MX500 1TB, CIR, SAT>IP, Ubuntu LTS 20.04.1, VDR 2.4.1 (13W)
    [3] BQ500, Asrock X470D4U, AMD Ryzen 5 5600, 48GB DDR4 ECC, 2,5Gbe, 2x WD Black SN750 512GB NVMe, 4x 2TB Lexar NM620 NVMe, 4x Samsung SSD QVO 4TB, ASUS USB-C2500, xcp-ng 8.3.0 (50W)
    [4] Sharkoon PCGH, Gigabyte MC12-LE0, AMD Ryzen 5 5600, 48GB DDR4 ECC, 2,5Gbe, 1x Kingston 128GB NVMe, 4x WD Black SN750 512GB NVMe, 4x Intel DC S3500 500GB, 8x Micron 5100 Pro 1.92TB, ASUS USB-C2500, xcp-ng 8.3.0 (60W)
    [5] Intel NUC D34010WYB, Akasa Tesla H, Intel Core i3-4010U, 8GB DDR3, 2.5Gbe, Intel Series 313 24GB mSATA, Samsung SSD QVO 8TB, OpenMediaVault 8 (Synchrony)
    [6] Jultec JPS0501-12AN, JPS0501-8M2, Octopus Net (DVBS2-8) & openHABian 5.2.0 on RaspberryPI 4 4GB

  • HI Zusammen,

    einen Segfault bekomme ich auch

    Code
    Mär 08 23:02:05 MLD vdr[2230]: [2230] vaapivideo/device: VA-API driver -- Intel iHD driver for Intel(R) Gen Graphics - 25.4.6 (d892c528e)
    Mär 08 23:02:05 MLD vdr[2230]: [2230] vaapivideo/device: VAAPI decode -- mpeg2=hw h264=hw hevc=hw
    Mär 08 23:02:05 MLD kernel: vdr[2230]: segfault at 1 ip 00007f9b704b79d0 sp 00007fff39e31ec0 error 6 in iHD_drv_video.so[3e89d0,7f9b7026c000+a8b000] likely on CPU 0 (core 0, socket 0)
    Mär 08 23:02:05 MLD kernel: Code: 8b 8d d4 fc ff ff 8b b5 d0 fc ff ff 48 8b bd c8 fc ff ff e8 62 98 ff ff 5a 59 83 f8 ff 0f 84 4f 02 00 00 48 8b bd d8 fc ff ff <42> 89 04 a7 49 83 c4 01 45 39 ec 0f 82 0f ff ff ff 31 c0 e9 95 fb



    Gruß,

    Roland

    https://www.minidvblinux.de/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.5 SATIP (softhddevice-drm-gles )

    1x Raspberry 5 MLD 6.5 SATIP (softhddevice-drm-gles )

    1x RockPi 4 MLD 6.5 SATIP (softhddevice-drm-gles )

    1x Raspberry 3 mit SATIP MLD 6.5

    1x Raspberry 2 mit STAIP MLD 6.5

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x ODROID N2+ mit SATIP MLD 6.5

    1x ODROID N2 L mit SATIP MLD 6.5

    1x Zotac CI327 MLD 6.5 SATIP (softhddevice)

    1x NUC14MNK-B2 (RNUC14MNK1500002) (vaapivideo)

Participate now!

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