forked from marfrit/marfrit-packages
libva-v4l2-request-fourier: bump pin to c454618 (#15 transparent resize)
Bumps both Arch PKGBUILD and Debian build-deb.sh pins to PR #16 — codec_store_buffer + request_pool_resize transparent OUTPUT-pool grow on a mid-session resolution upshift overrun. Picks up the frame- survival path that supersedes #13's drop-and-recreate fallback. Dual-pin per feedback_marfrit_packages_dual_pin so both Arch and Debian repos see check-already-published.sh report a new version.
This commit is contained in:
@@ -24,28 +24,29 @@ pkgname=libva-v4l2-request-fourier
|
||||
epoch=1
|
||||
_upstreampkg=libva-v4l2-request
|
||||
|
||||
# Pin the fork tip. 2860d75 = PR #14 merge "picture: bounds-check
|
||||
# codec_store_buffer slice writes against source_size (#13)" — addresses
|
||||
# marfrit/libva-v4l2-request-fourier#13. Guards the three append sites
|
||||
# in codec_store_buffer's VASliceDataBufferType branch (H.264 Annex-B
|
||||
# start code, VP8 uncompressed-header pad, slice payload) against the
|
||||
# OUTPUT pool slot's fixed sizeimage; returns
|
||||
# VA_STATUS_ERROR_ALLOCATION_FAILED with a request_log line instead of
|
||||
# memcpy'ing past the mmap on a resolution upshift mid-stream (SIGSEGV
|
||||
# in mpv --hwdec=vaapi-copy, heap-corruption hazard in Firefox RDD).
|
||||
# The root-cause refactor (re-init OUTPUT pool / re-create surfaces on
|
||||
# resolution change, or grow source_data on demand) is tracked as the
|
||||
# follow-up backlog item; this PR is the memory-safety floor.
|
||||
# Pin the fork tip. c454618 = PR #16 merge "picture, request_pool:
|
||||
# transparent OUTPUT-pool resize on bitstream overrun (#15)" —
|
||||
# follow-up root-cause fix to #13/#14. On a mid-stream bitstream-
|
||||
# budget overrun (typical cause: SPS-driven resolution upshift in an
|
||||
# adaptive-bitrate stream), codec_store_buffer now snapshots the in-
|
||||
# flight surface's accumulated bytes, releases its OUTPUT pool slot,
|
||||
# calls request_pool_resize (STREAMOFF → REQBUFS(0) → S_FMT with
|
||||
# 2×sizeimage hint, capped at 1 GiB, page-aligned → CREATE_BUFS →
|
||||
# mmap → media_request_alloc → STREAMON), re-acquires a slot, re-
|
||||
# mirrors the surface's source_{data,size,request_fd}, restores the
|
||||
# bytes, and continues. The frame 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
|
||||
# (V4L2_CID_STATELESS_AV1_SEQUENCE for the daedalus daemon track).
|
||||
_commit=2860d75afe6a8e34df6afb508ff85c822bf9e908
|
||||
# Prior pin (2860d75) = PR #14 merge — codec_store_buffer bounds-
|
||||
# check floor (#13).
|
||||
_commit=c454618ae11addce2e17b560f4deeacbed067d98
|
||||
|
||||
# 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.r388.2860d75
|
||||
pkgver=1.0.0.r390.c454618
|
||||
pkgrel=1
|
||||
pkgdesc="VA-API backend for V4L2 stateless decoders (multiplanar fork — fourier umbrella)"
|
||||
arch=('aarch64')
|
||||
|
||||
+18
-16
@@ -10,23 +10,25 @@
|
||||
# Upstream fork: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier
|
||||
set -euo pipefail
|
||||
|
||||
# Same pin as the Arch PKGBUILD. 2860d75 = PR #14 merge "picture:
|
||||
# bounds-check codec_store_buffer slice writes against source_size
|
||||
# (#13)" — guards the three append sites in codec_store_buffer's
|
||||
# VASliceDataBufferType branch (H.264 Annex-B start code, VP8
|
||||
# uncompressed-header pad, slice payload) against the OUTPUT pool
|
||||
# slot's fixed sizeimage; returns VA_STATUS_ERROR_ALLOCATION_FAILED
|
||||
# with a request_log line instead of memcpy'ing past the mmap on a
|
||||
# resolution upshift mid-stream. Fixes a SIGSEGV in mpv
|
||||
# --hwdec=vaapi-copy and a heap-corruption hazard in Firefox RDD.
|
||||
# The root-cause refactor (re-init OUTPUT pool / re-create surfaces
|
||||
# on resolution change, or grow source_data on demand) is tracked
|
||||
# as the follow-up backlog item; this is the memory-safety floor.
|
||||
# Same pin as the Arch PKGBUILD. c454618 = PR #16 merge "picture,
|
||||
# request_pool: transparent OUTPUT-pool resize on bitstream overrun
|
||||
# (#15)" — follow-up root-cause fix to #13/#14. On a mid-stream
|
||||
# bitstream-budget overrun (typical cause: SPS-driven resolution
|
||||
# upshift in an adaptive-bitrate stream), codec_store_buffer now
|
||||
# snapshots the in-flight surface's accumulated bytes, releases its
|
||||
# OUTPUT pool slot, calls request_pool_resize (STREAMOFF →
|
||||
# REQBUFS(0) → S_FMT with 2×sizeimage hint, capped at 1 GiB, page-
|
||||
# aligned → CREATE_BUFS → mmap → media_request_alloc → STREAMON),
|
||||
# re-acquires a slot, re-mirrors the surface's source_{data,size,
|
||||
# request_fd}, restores the bytes, and continues. The frame
|
||||
# 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
|
||||
# (V4L2_CID_STATELESS_AV1_SEQUENCE for the daedalus daemon track).
|
||||
UPSTREAM_COMMIT=2860d75afe6a8e34df6afb508ff85c822bf9e908
|
||||
PKGVER=1.0.0+r388+g2860d75
|
||||
# Prior pin (2860d75) = PR #14 merge — codec_store_buffer bounds-
|
||||
# check floor (#13).
|
||||
UPSTREAM_COMMIT=c454618ae11addce2e17b560f4deeacbed067d98
|
||||
PKGVER=1.0.0+r390+gc454618
|
||||
PKGREL=1
|
||||
|
||||
HERE=$(dirname "$(readlink -f "$0")")
|
||||
|
||||
Reference in New Issue
Block a user