Merge pull request 'libva-v4l2-request-fourier: bump pin to c454618 (#15 transparent resize)' (#68) from claude-noether/marfrit-packages:bump-libva-fourier-c454618-issue-15 into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 4s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 4s
build and publish packages / lmcp-any (push) Successful in 4s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 3s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 4s
build and publish packages / claude-his-debian (push) Successful in 4s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 3s
build and publish packages / daedalus-v4l2-debian (push) Successful in 5s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 5s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 26s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 4s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 31s
build and publish packages / mpv-fourier-debian (push) Successful in 5s

Reviewed-on: #68
This commit was merged in pull request #68.
This commit is contained in:
2026-05-21 11:25:39 +00:00
2 changed files with 35 additions and 32 deletions
+17 -16
View File
@@ -24,28 +24,29 @@ pkgname=libva-v4l2-request-fourier
epoch=1 epoch=1
_upstreampkg=libva-v4l2-request _upstreampkg=libva-v4l2-request
# Pin the fork tip. 2860d75 = PR #14 merge "picture: bounds-check # Pin the fork tip. c454618 = PR #16 merge "picture, request_pool:
# codec_store_buffer slice writes against source_size (#13)" — addresses # transparent OUTPUT-pool resize on bitstream overrun (#15)" —
# marfrit/libva-v4l2-request-fourier#13. Guards the three append sites # follow-up root-cause fix to #13/#14. On a mid-stream bitstream-
# in codec_store_buffer's VASliceDataBufferType branch (H.264 Annex-B # budget overrun (typical cause: SPS-driven resolution upshift in an
# start code, VP8 uncompressed-header pad, slice payload) against the # adaptive-bitrate stream), codec_store_buffer now snapshots the in-
# OUTPUT pool slot's fixed sizeimage; returns # flight surface's accumulated bytes, releases its OUTPUT pool slot,
# VA_STATUS_ERROR_ALLOCATION_FAILED with a request_log line instead of # calls request_pool_resize (STREAMOFF → REQBUFS(0) → S_FMT with
# memcpy'ing past the mmap on a resolution upshift mid-stream (SIGSEGV # 2×sizeimage hint, capped at 1 GiB, page-aligned → CREATE_BUFS →
# in mpv --hwdec=vaapi-copy, heap-corruption hazard in Firefox RDD). # mmap → media_request_alloc → STREAMON), re-acquires a slot, re-
# The root-cause refactor (re-init OUTPUT pool / re-create surfaces on # mirrors the surface's source_{data,size,request_fd}, restores the
# resolution change, or grow source_data on demand) is tracked as the # bytes, and continues. The frame survives instead of being dropped
# follow-up backlog item; this PR is the memory-safety floor. # back to libavcodec for surface recreation. CAPTURE side untouched
# (per-queue V4L2 streaming independence).
# #
# Prior pin (77f9236) = PR #12 merge — av1_set_controls # Prior pin (2860d75) = PR #14 merge — codec_store_buffer bounds-
# (V4L2_CID_STATELESS_AV1_SEQUENCE for the daedalus daemon track). # check floor (#13).
_commit=2860d75afe6a8e34df6afb508ff85c822bf9e908 _commit=c454618ae11addce2e17b560f4deeacbed067d98
# Project version from meson.build (1.0.0) + commit count + short sha, # Project version from meson.build (1.0.0) + commit count + short sha,
# matching the ffmpeg-v4l2-request-fourier convention. Recomputed at # matching the ffmpeg-v4l2-request-fourier convention. Recomputed at
# build time by pkgver() below; the static value here is a placeholder # build time by pkgver() below; the static value here is a placeholder
# so AUR-style consumers see something coherent before src/ exists. # so AUR-style consumers see something coherent before src/ exists.
pkgver=1.0.0.r388.2860d75 pkgver=1.0.0.r390.c454618
pkgrel=1 pkgrel=1
pkgdesc="VA-API backend for V4L2 stateless decoders (multiplanar fork — fourier umbrella)" pkgdesc="VA-API backend for V4L2 stateless decoders (multiplanar fork — fourier umbrella)"
arch=('aarch64') arch=('aarch64')
+18 -16
View File
@@ -10,23 +10,25 @@
# Upstream fork: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier # Upstream fork: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier
set -euo pipefail set -euo pipefail
# Same pin as the Arch PKGBUILD. 2860d75 = PR #14 merge "picture: # Same pin as the Arch PKGBUILD. c454618 = PR #16 merge "picture,
# bounds-check codec_store_buffer slice writes against source_size # request_pool: transparent OUTPUT-pool resize on bitstream overrun
# (#13)" — guards the three append sites in codec_store_buffer's # (#15)" — follow-up root-cause fix to #13/#14. On a mid-stream
# VASliceDataBufferType branch (H.264 Annex-B start code, VP8 # bitstream-budget overrun (typical cause: SPS-driven resolution
# uncompressed-header pad, slice payload) against the OUTPUT pool # upshift in an adaptive-bitrate stream), codec_store_buffer now
# slot's fixed sizeimage; returns VA_STATUS_ERROR_ALLOCATION_FAILED # snapshots the in-flight surface's accumulated bytes, releases its
# with a request_log line instead of memcpy'ing past the mmap on a # OUTPUT pool slot, calls request_pool_resize (STREAMOFF →
# resolution upshift mid-stream. Fixes a SIGSEGV in mpv # REQBUFS(0) → S_FMT with 2×sizeimage hint, capped at 1 GiB, page-
# --hwdec=vaapi-copy and a heap-corruption hazard in Firefox RDD. # aligned → CREATE_BUFS → mmap → media_request_alloc → STREAMON),
# The root-cause refactor (re-init OUTPUT pool / re-create surfaces # re-acquires a slot, re-mirrors the surface's source_{data,size,
# on resolution change, or grow source_data on demand) is tracked # request_fd}, restores the bytes, and continues. The frame
# as the follow-up backlog item; this is the memory-safety floor. # survives instead of being dropped back to libavcodec for surface
# recreation. CAPTURE side untouched (per-queue V4L2 streaming
# independence).
# #
# Prior pin (77f9236) = PR #12 merge — av1_set_controls # Prior pin (2860d75) = PR #14 merge — codec_store_buffer bounds-
# (V4L2_CID_STATELESS_AV1_SEQUENCE for the daedalus daemon track). # check floor (#13).
UPSTREAM_COMMIT=2860d75afe6a8e34df6afb508ff85c822bf9e908 UPSTREAM_COMMIT=c454618ae11addce2e17b560f4deeacbed067d98
PKGVER=1.0.0+r388+g2860d75 PKGVER=1.0.0+r390+gc454618
PKGREL=1 PKGREL=1
HERE=$(dirname "$(readlink -f "$0")") HERE=$(dirname "$(readlink -f "$0")")