From 243e05ca5e17fdc07e35b4428748e9c96e564b1a Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Wed, 20 May 2026 17:08:07 +0200 Subject: [PATCH] libva-v4l2-request-fourier: c332d34 -> 9898331 (LIBVA-2 close) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to libva PR #7 (merged as 9898331). Without that commit, H.264/VP9/AV1 profiles never got advertised on Pi 5 mixed deploys (rpi-hevc-dec primary + daedalus_v4l2 alt) because the profile- enumeration probe in any_fd_supports_output_format only walked rkvdec / hantro / rpi-hevc-dec / vpu981 fds. ffmpeg vaapi -i h264_test.mp4 on higgs bailed with "No support for codec h264 profile 578" before the LIBVA-1 per-codec dispatch could even fire. 9898331 extends the fds[] from 5 to 6 with video_fd_daedalus as the 6th slot (HAVE_DAEDALUS_V4L2-gated, -1 fallback otherwise). Effect on higgs once this lands: vainfo lists VP9Profile0 + AV1Profile0 + H264* alongside HEVCMain, and ffmpeg -hwaccel vaapi -i h264_test.mp4 routes through the daedalus daemon (via 'd' kind in request_switch_device_for_profile). Both packages: pkgver 1.0.0.r380.9898331 (count from rev-list), pkgrel reset to 1 (new upstream pin). Backward-compatible on RK3399/3588 — the new fd slot is gated by HAVE_DAEDALUS_V4L2 *and* video_fd_daedalus >= 0, both false in those deployments. Companion to the prior LIBVA-{1,ABI} bumps that landed in marfrit- packages PRs #43, #44. Together they close the Pi 5 stack: boot -> modules-load.d loads daedalus_v4l2 -> daedalus-v4l2.service starts daemon -> libva opens both decoders -> ffmpeg -hwaccel vaapi enumerates all codecs from both -> routes per-codec. Co-Authored-By: Claude Opus 4.7 --- arch/libva-v4l2-request-fourier/PKGBUILD | 14 +++++++++----- debian/libva-v4l2-request-fourier/build-deb.sh | 17 ++++++++++------- .../libva-v4l2-request-fourier/debian/changelog | 15 +++++++++++++++ 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/arch/libva-v4l2-request-fourier/PKGBUILD b/arch/libva-v4l2-request-fourier/PKGBUILD index bbfb81b7f..f455bc462 100644 --- a/arch/libva-v4l2-request-fourier/PKGBUILD +++ b/arch/libva-v4l2-request-fourier/PKGBUILD @@ -33,18 +33,22 @@ _upstreampkg=libva-v4l2-request # Prior pin (7ac934e) was iter38b — fresnel-fourier multi-device probe # + MAX_PROFILES bounds-check fix. de27e95 added the daedalus_v4l2 # probe slot (b5b3acf), the meson option gate (2146341), and the -# S_EXT_CTRLS diagnostic (de27e95 itself). c332d34 (LIBVA-1) finishes +# S_EXT_CTRLS diagnostic (de27e95 itself). c332d34 (LIBVA-1) added # the per-codec dispatch: rpi-hevc-dec + daedalus_v4l2 both probe each # other as alts, VP9/AV1/H.264 route to daedalus via new 'd' kind, -# HEVC stays on 'p' (rpi-hevc-dec). Required for the Pi 5 / CM5 -# mixed-decoder deployment (higgs). -_commit=c332d34643be29e88012e30878d2fbeb255b20ab +# HEVC stays on 'p' (rpi-hevc-dec). 9898331 (LIBVA-2) completes that +# by adding video_fd_daedalus to any_fd_supports_output_format's probe +# array — without it, H.264/VP9/AV1 profiles never got advertised on +# Pi 5 mixed deployments (rpi-hevc-dec primary, daedalus alt) and +# ffmpeg bailed with "No support for codec h264 profile 578" before +# the per-codec dispatch could fire. +_commit=989833114a7708ad999dc68309cbc181d9913bdb # Project version from meson.build (1.0.0) + commit count + short sha, # matching the ffmpeg-v4l2-request-fourier convention. Recomputed at # build time by pkgver() below; the static value here is a placeholder # so AUR-style consumers see something coherent before src/ exists. -pkgver=1.0.0.r378.c332d34 +pkgver=1.0.0.r380.9898331 pkgrel=1 pkgdesc="VA-API backend for V4L2 stateless decoders (multiplanar fork — fourier umbrella)" arch=('aarch64') diff --git a/debian/libva-v4l2-request-fourier/build-deb.sh b/debian/libva-v4l2-request-fourier/build-deb.sh index 34be619f6..0642a3f93 100755 --- a/debian/libva-v4l2-request-fourier/build-deb.sh +++ b/debian/libva-v4l2-request-fourier/build-deb.sh @@ -10,13 +10,16 @@ # Upstream fork: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier set -euo pipefail -# Same pin as the Arch PKGBUILD. c332d34 = LIBVA-1 close — per-codec -# dispatch on Pi 5: rpi-hevc-dec + daedalus_v4l2 both probe each other -# as alts, VP9/AV1/H.264 route to daedalus via new 'd' kind, HEVC stays -# on 'p' (rpi-hevc-dec). -UPSTREAM_COMMIT=c332d34643be29e88012e30878d2fbeb255b20ab -PKGVER=1.0.0+r378+gc332d34 -PKGREL=2 # rebuild against pinned trixie libva-dev (2.22) for __vaDriverInit_1_22 ABI +# Same pin as the Arch PKGBUILD. 9898331 = LIBVA-2 close — completes +# the per-codec dispatch from c332d34 (LIBVA-1) by adding video_fd_ +# daedalus to any_fd_supports_output_format's probe array. Without +# it, H.264/VP9/AV1 profiles never got advertised on Pi 5 mixed +# deployments (rpi-hevc-dec primary, daedalus_v4l2 alt) — ffmpeg +# bailed with "No support for codec h264 profile 578" before the +# per-codec dispatch could even fire. +UPSTREAM_COMMIT=989833114a7708ad999dc68309cbc181d9913bdb +PKGVER=1.0.0+r380+g9898331 +PKGREL=1 HERE=$(dirname "$(readlink -f "$0")") diff --git a/debian/libva-v4l2-request-fourier/debian/changelog b/debian/libva-v4l2-request-fourier/debian/changelog index 38ac6b8d9..d66100a18 100644 --- a/debian/libva-v4l2-request-fourier/debian/changelog +++ b/debian/libva-v4l2-request-fourier/debian/changelog @@ -1,3 +1,18 @@ +libva-v4l2-request-fourier (1.0.0+r380+g9898331-1) bookworm trixie; urgency=medium + + * Bump to 9898331 — LIBVA-2 close. Adds video_fd_daedalus to + any_fd_supports_output_format's probe list in config.c so the + profile enumerator actually sees daedalus_v4l2's OUTPUT formats + (VP9F + AV1F + S264). Before this commit, ffmpeg vaapi against + H.264 on higgs bailed with "No support for codec h264 profile 578" + because RequestQueryConfigProfiles only walked rkvdec/hantro/ + rpi-hevc-dec/vpu981 fds and never asked daedalus what it could do. + * Backward-compatible on RK3399/3588 — new slot gated by + HAVE_DAEDALUS_V4L2 *and* video_fd_daedalus >= 0; both false in + those deployments. + + -- Markus Fritsche Wed, 20 May 2026 19:30:00 +0000 + libva-v4l2-request-fourier (1.0.0+r378+gc332d34-2) bookworm trixie; urgency=medium * Rebuild on a native Debian trixie runner (actrunner-debian-aarch64-bohr) so