Hi,
nach einigen Jahren und den Wunsch, ein wirklich neues Ausgabe-Plugin zu entwickeln, habe ich dieses jetzt endlich umgesetzt. vaapivideo basiert nicht mehr wie die meisten Ausgabeplugins auf softhddevice, sondern wurde von Grund auf neu programmiert. Zum Rendern wird VAAPI genutzt (Fallback: Software), ALSA als Audioausgabe und DRM für den Bildschirm. Die meiste Arbeit ist an FFmpeg ausgelagert. Der Source ist C++20 und wesentlich kleiner als bisherige Plugins, es wird nur moderne API genutzt. Die Entwicklung des Plugin war aufgrund der Größe sehr aufwändig, aber nun ist es Zeit für den ersten Release.
vaapivideo Release 1.0.0
Hardware-accelerated video output plugin for VDR using VAAPI decode, DRM atomic modesetting, and ALSA audio. Runs on a bare console — no X11 or display server required.
Highlights
- Zero-copy video path — VAAPI surfaces are exported as DRM PRIME buffers and displayed directly without touching system memory
- Hardware decode — H.264, HEVC, and MPEG-2 via VAAPI with automatic per-codec software fallback
- Video processing — deinterlace, denoise, scale (DAR-preserving), and sharpen via VAAPI VPP or software filters (bwdif, hqdn3d)
- Audio — PCM decode (AAC, MP2) and IEC61937 passthrough (AC-3, E-AC-3, DTS, DTS-HD, TrueHD, AC-4, MPEG-H) with automatic EDID-based format detection
- DRM atomic modesetting — double-buffered page-flip, BT.709 SDR, up to 3840×2160
- Hardware OSD — true-color alpha-blended overlay on a dedicated DRM plane
- SVDRP commands — STAT, CONFIG, DETA/ATTA for runtime control and hardware hot-detach
Supported Hardware
- Intel (Broadwell+): intel-media-driver (iHD)
- AMD: mesa-va-drivers (radeonsi)
Freue mich auf jeden Fall über Feedback!
Dirk