From 9580f33cb6eb66910bddb4613c23e484b30280c3 Mon Sep 17 00:00:00 2001 From: claude-noether Date: Wed, 20 May 2026 21:17:54 +0200 Subject: [PATCH] libva-v4l2-request-fourier: c1bb444 -> 77f9236 (PR #12 / issue #11 libva side) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps both Arch (PKGBUILD) and Debian (build-deb.sh) sides in one commit this time — following the dual-pin lesson from PR #53. 77f9236 = libva PR #12 merge: src/av1.{c,h} implements av1_set_controls mapping VAPictureParameterBufferAV1 onto struct v4l2_ctrl_av1_sequence, queued via S_EXT_CTRLS as V4L2_CID_STATELESS_AV1_SEQUENCE. The daedalus_v4l2 daemon track will consume the ctrl to synthesise an OBU_SEQUENCE_HEADER and prepend it to the slice bitstream, so libdav1d can parse the OUTPUT buffer that ffmpeg-vaapi delivers without the sequence header. Until the daemon-side OBU synth lands (issue #11 operator track), the SEQUENCE ctrl is just sitting in the request unused. Harmless on the RK3588 vpu981 hardware path (vpu981 parses OBU bytes directly, ignores the ctrl payload). pkgver: r382.c1bb444 -> r386.77f9236 (commit count 382 -> 386, two new upstream commits: 9fa18f2 av1 + 77f9236 merge). pkgrel: 1 (fresh pkgver, no rebuild-only iteration). Co-Authored-By: Claude Opus 4.7 --- arch/libva-v4l2-request-fourier/PKGBUILD | 34 +++++++++---------- .../libva-v4l2-request-fourier/build-deb.sh | 29 ++++++++-------- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/arch/libva-v4l2-request-fourier/PKGBUILD b/arch/libva-v4l2-request-fourier/PKGBUILD index d3946330d..5d138c005 100644 --- a/arch/libva-v4l2-request-fourier/PKGBUILD +++ b/arch/libva-v4l2-request-fourier/PKGBUILD @@ -24,29 +24,29 @@ pkgname=libva-v4l2-request-fourier epoch=1 _upstreampkg=libva-v4l2-request -# Pin the fork tip. c1bb444 = PR #9 merge "h264: max_num_ref_frames -# fallback + libva-boundary instrumentation (#8)" — addresses the -# libva-side portion of marfrit/libva-v4l2-request-fourier#8: the -# daedalus_v4l2-via-libavcodec strict consumer rejected frames whose -# sps.max_num_ref_frames was 0 (older ffmpeg-vaapi paths leave the -# field unset and HW decoders tolerated it). Adds a per-profile spec -# minimum fallback (counts valid DPB entries first; 1 for baseline / -# 4 for main+high if even that is 0) and a one-line request_log at -# h264_set_controls entry dumping raw VAAPI bitfields (seq_fields, -# pic_fields, num_ref_frames, bit_depth_*) for disambiguating where -# the still-open PPS-flag-zero portion of issue #8 originates. +# Pin the fork tip. 77f9236 = PR #12 merge "av1: populate +# V4L2_CID_STATELESS_AV1_SEQUENCE in codec_set_controls (#11 libva side)" +# — addresses the libva-side portion of marfrit/libva-v4l2-request-fourier#11. +# Adds src/av1.{c,h} with av1_set_controls that maps VAAPI's +# VAPictureParameterBufferAV1.seq_info_fields onto struct +# v4l2_ctrl_av1_sequence and queues V4L2_CID_STATELESS_AV1_SEQUENCE via +# S_EXT_CTRLS. The daedalus_v4l2 daemon track is the consumer that turns +# the ctrl into an OBU_SEQUENCE_HEADER and prepends it to the slice +# bitstream so libdav1d can parse the (sequence-header-stripped) OUTPUT +# buffer that ffmpeg-vaapi delivers. Until the daemon side lands the ctrl +# is just sitting in the request unused — no-cost no-op for HW decoders +# (vpu981 parses OBU bytes directly). # -# Prior pin (9898331) was the LIBVA-2 close — config-side video_fd_daedalus -# added to the profile enumeration probe array. c332d34 (LIBVA-1) added -# the per-codec dispatch. Earlier de27e95 (Phase 8.13 diagnostic), -# 7ac934e (iter38b multi-device probe + MAX_PROFILES bounds-check fix). -_commit=c1bb444d0731ca7ca831c7e01ec4b52ed736ca8e +# Prior pin (c1bb444) = PR #9 merge — h264_set_controls +# max_num_ref_frames fallback + libva-boundary instrumentation for the +# daedalus consumer-strict path (issue #8 libva side). +_commit=77f92364661419f6e5a7bd827c1b845b4e426569 # 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.r382.c1bb444 +pkgver=1.0.0.r386.77f9236 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 503da3af8..b73c41493 100755 --- a/debian/libva-v4l2-request-fourier/build-deb.sh +++ b/debian/libva-v4l2-request-fourier/build-deb.sh @@ -10,21 +10,22 @@ # Upstream fork: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier set -euo pipefail -# Same pin as the Arch PKGBUILD. c1bb444 = PR #9 merge "h264: -# max_num_ref_frames fallback + libva-boundary instrumentation (#8)" — -# addresses the libva-side portion of marfrit/libva-v4l2-request-fourier#8. -# The daedalus_v4l2-via-libavcodec strict consumer rejected frames whose -# sps.max_num_ref_frames was 0 (older ffmpeg-vaapi paths leave the field -# unset and HW decoders tolerated it). PR adds a per-profile spec -# minimum fallback (counts valid DPB entries first; 1 for baseline / 4 -# for main+high if even that is 0) and a one-line request_log at -# h264_set_controls entry dumping raw VAAPI bitfields for diagnosing -# the still-open PPS-flag-zero portion of issue #8. +# Same pin as the Arch PKGBUILD. 77f9236 = PR #12 merge "av1: +# populate V4L2_CID_STATELESS_AV1_SEQUENCE in codec_set_controls +# (#11 libva side)" — adds src/av1.{c,h} with av1_set_controls that +# maps VAAPI's VAPictureParameterBufferAV1.seq_info_fields onto +# struct v4l2_ctrl_av1_sequence and queues V4L2_CID_STATELESS_AV1_ +# SEQUENCE via S_EXT_CTRLS. The daedalus_v4l2 daemon track is the +# consumer that turns the ctrl into an OBU_SEQUENCE_HEADER and +# prepends it to the slice bitstream so libdav1d can parse the +# (sequence-header-stripped) OUTPUT buffer that ffmpeg-vaapi +# delivers. # -# Prior pin (9898331) was the LIBVA-2 close — config-side -# video_fd_daedalus added to the profile enumeration probe array. -UPSTREAM_COMMIT=c1bb444d0731ca7ca831c7e01ec4b52ed736ca8e -PKGVER=1.0.0+r382+gc1bb444 +# Prior pin (c1bb444) = PR #9 merge — h264_set_controls +# max_num_ref_frames fallback + libva-boundary instrumentation for +# the daedalus consumer-strict path (issue #8 libva side). +UPSTREAM_COMMIT=77f92364661419f6e5a7bd827c1b845b4e426569 +PKGVER=1.0.0+r386+g77f9236 PKGREL=1 HERE=$(dirname "$(readlink -f "$0")")