daedalus-v4l2: 6e6dfa1 -> 1d8f5af — pause-time tiny-bitstream filter (#18)
Picks up reauktion/daedalus-v4l2 PR #18 (closes #17): daemon drops degenerate (<4 byte) bitstreams at REQ_DECODE entry instead of letting avcodec_send_packet emit AVERROR_INVALIDDATA, replies RESP_FRAME NO_FRAME so libva's V4L2 surface pool stays alive. Fixes the Firefox YouTube avc1 pause→resume regression observed on higgs: libva-v4l2-request-fourier flushes a 3-byte stub into OUTPUT_MPLANE at the pause boundary; the old daemon path turned that into a decode failure, Firefox marked H.264-via-VAAPI as broken for the session, and routed every subsequent frame to libmozavcodec SW. After this bump the daemon logs 'tiny bitstream 3 bytes — dropping as no-op' and the next real REQ_DECODE proceeds normally. Wire protocol unchanged. daedalus-v4l2-dkms bump not needed.
This commit is contained in:
@@ -23,12 +23,12 @@ _upstreampkg=daedalus-v4l2
|
|||||||
# (daedalus-v4l2#11). Daemon still needs daedalus-fourier at
|
# (daedalus-v4l2#11). Daemon still needs daedalus-fourier at
|
||||||
# build time (Arch packaging for that is a follow-up; Debian side
|
# build time (Arch packaging for that is a follow-up; Debian side
|
||||||
# fetches inline via build-deb.sh).
|
# fetches inline via build-deb.sh).
|
||||||
_commit=6e6dfa144da7bc7fa8be50c8da91d7d1c6132a2c
|
_commit=1d8f5af1646c7c09b75e07be0c2763b37ea367e6
|
||||||
|
|
||||||
# 0.1.0 (pre-1.0) + commit count + short sha. Bump the .Y on each
|
# 0.1.0 (pre-1.0) + commit count + short sha. Bump the .Y on each
|
||||||
# Phase 8.x close. pkgver() recomputes at build time.
|
# Phase 8.x close. pkgver() recomputes at build time.
|
||||||
pkgver=0.1.0.r41.6e6dfa1
|
pkgver=0.1.0.r43.1d8f5af
|
||||||
pkgrel=1 # reset for new upstream pin (6e6dfa1 — soname 62 via /opt/fourier)
|
pkgrel=1 # reset for new upstream pin (1d8f5af — pause-time tiny-bitstream filter, closes #17)
|
||||||
pkgdesc="Userspace daemon for the daedalus-v4l2 V4L2 stateless decoder shim (VP9/AV1/H.264 on Pi 5 / CM5)"
|
pkgdesc="Userspace daemon for the daedalus-v4l2 V4L2 stateless decoder shim (VP9/AV1/H.264 on Pi 5 / CM5)"
|
||||||
arch=('aarch64')
|
arch=('aarch64')
|
||||||
url="https://git.reauktion.de/reauktion/daedalus-v4l2"
|
url="https://git.reauktion.de/reauktion/daedalus-v4l2"
|
||||||
|
|||||||
Vendored
+3
-3
@@ -19,9 +19,9 @@ set -euo pipefail
|
|||||||
# source tree we own in marfrit-packages. Headers + .pc files
|
# source tree we own in marfrit-packages. Headers + .pc files
|
||||||
# come from ffmpeg-v4l2-request-fourier (installed by the CI
|
# come from ffmpeg-v4l2-request-fourier (installed by the CI
|
||||||
# workflow before this script runs; see PKG_CONFIG_PATH below).
|
# workflow before this script runs; see PKG_CONFIG_PATH below).
|
||||||
UPSTREAM_COMMIT=6e6dfa144da7bc7fa8be50c8da91d7d1c6132a2c
|
UPSTREAM_COMMIT=1d8f5af1646c7c09b75e07be0c2763b37ea367e6
|
||||||
PKGVER=0.1.0+r41+g6e6dfa1
|
PKGVER=0.1.0+r43+g1d8f5af
|
||||||
PKGREL=1 # reset for new upstream pin (6e6dfa1 — soname 62 via /opt/fourier)
|
PKGREL=1 # reset for new upstream pin (1d8f5af — pause-time tiny-bitstream filter, closes #17)
|
||||||
|
|
||||||
# daedalus-fourier pin. d87239d = marfrit/daedalus-fourier PR #1 merge
|
# daedalus-fourier pin. d87239d = marfrit/daedalus-fourier PR #1 merge
|
||||||
# (install rules + pkg-config, enables this consumer to find_package
|
# (install rules + pkg-config, enables this consumer to find_package
|
||||||
|
|||||||
+20
@@ -1,3 +1,23 @@
|
|||||||
|
daedalus-v4l2 (0.1.0+r43+g1d8f5af-1) bookworm trixie; urgency=medium
|
||||||
|
|
||||||
|
* Bump to 1d8f5af — picks up daedalus-v4l2 PR #18 (closes #17).
|
||||||
|
Daemon now drops degenerate (<4 byte) bitstreams at the REQ_DECODE
|
||||||
|
entry instead of letting avcodec_send_packet return
|
||||||
|
AVERROR_INVALIDDATA. Reply RESP_FRAME with status=
|
||||||
|
DAEDALUS_DECODE_NO_FRAME so libva's V4L2 surface pool stays
|
||||||
|
healthy.
|
||||||
|
* Fixes the Firefox YouTube avc1 pause→resume regression observed
|
||||||
|
on higgs: libva-v4l2-request-fourier flushes a 3-byte stub
|
||||||
|
(presumably a bare NAL start code) into OUTPUT_MPLANE at the
|
||||||
|
pause boundary; the old INVALIDDATA error path made Firefox
|
||||||
|
fall off to libmozavcodec SW for the rest of the session. With
|
||||||
|
this filter the daemon logs the sentinel as 'tiny bitstream 3
|
||||||
|
bytes — dropping as no-op' and the next real REQ_DECODE
|
||||||
|
proceeds normally.
|
||||||
|
* Wire protocol unchanged. No daedalus-v4l2-dkms bump needed.
|
||||||
|
|
||||||
|
-- Markus Fritsche <mfritsche@reauktion.de> Fri, 22 May 2026 17:30:00 +0000
|
||||||
|
|
||||||
daedalus-v4l2 (0.1.0+r41+g6e6dfa1-1) bookworm trixie; urgency=medium
|
daedalus-v4l2 (0.1.0+r41+g6e6dfa1-1) bookworm trixie; urgency=medium
|
||||||
|
|
||||||
* Bump to 6e6dfa1 — daedalus-v4l2 PR #16. Daemon dlopens Kwiboo
|
* Bump to 6e6dfa1 — daedalus-v4l2 PR #16. Daemon dlopens Kwiboo
|
||||||
|
|||||||
Reference in New Issue
Block a user