Merge remote-tracking branch 'origin/main' into noether/ffmpeg-fourier-idct4-daedalus
This commit is contained in:
@@ -1160,13 +1160,18 @@ jobs:
|
|||||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
retry apt-get update -qq
|
retry apt-get update -qq
|
||||||
# libav*-dev provide the headers daedalus daemon dlopens at
|
# FFmpeg headers + sonames the daemon dlopens. As of
|
||||||
# runtime — Debian's stock packages match the trixie ABI the
|
# daedalus-v4l2 PR #16 (commit 514da29), the daemon targets
|
||||||
# daemon will encounter on Pi 5 hosts (both ship libavcodec
|
# the Kwiboo fork's libavcodec.so.62 / libavformat.so.62 /
|
||||||
# 61.x). The fourier ffmpeg fork isn't needed here; the
|
# libavutil.so.60 at /opt/fourier — so the build needs
|
||||||
# daemon never link-binds against libav (Option γ — dlopen
|
# /opt/fourier/include and /opt/fourier/lib/pkgconfig.
|
||||||
# at runtime), so any header set with the right struct
|
# ffmpeg-v4l2-request-fourier provides both (plus the
|
||||||
# definitions works.
|
# runtime libs the .deb will dlopen on the target host;
|
||||||
|
# we install it as a build-dep here and the dpkg-shlibdeps
|
||||||
|
# step pulls it into the daemon .deb's Depends automatically).
|
||||||
|
# Debian-stock libav*-dev removed — would conflict on
|
||||||
|
# /usr/include/libavcodec/avcodec.h vs /opt/fourier's copy.
|
||||||
|
#
|
||||||
# libvulkan-dev + glslang-tools: needed by the in-build
|
# libvulkan-dev + glslang-tools: needed by the in-build
|
||||||
# daedalus-fourier fetch (build-deb.sh fetches the sibling
|
# daedalus-fourier fetch (build-deb.sh fetches the sibling
|
||||||
# library, cmake-builds it into a temp prefix, then the
|
# library, cmake-builds it into a temp prefix, then the
|
||||||
@@ -1177,7 +1182,7 @@ jobs:
|
|||||||
# reauktion/daedalus-v4l2 PR #13.
|
# reauktion/daedalus-v4l2 PR #13.
|
||||||
retry apt-get install -y --no-install-recommends \
|
retry apt-get install -y --no-install-recommends \
|
||||||
build-essential cmake ninja-build pkg-config git \
|
build-essential cmake ninja-build pkg-config git \
|
||||||
libavcodec-dev libavformat-dev libavutil-dev libdrm-dev \
|
ffmpeg-v4l2-request-fourier libdrm-dev \
|
||||||
libvulkan-dev glslang-tools \
|
libvulkan-dev glslang-tools \
|
||||||
linux-libc-dev \
|
linux-libc-dev \
|
||||||
curl ca-certificates openssh-client rsync dpkg-dev
|
curl ca-certificates openssh-client rsync dpkg-dev
|
||||||
|
|||||||
+11
-10
@@ -16,18 +16,19 @@
|
|||||||
pkgname=daedalus-v4l2
|
pkgname=daedalus-v4l2
|
||||||
_upstreampkg=daedalus-v4l2
|
_upstreampkg=daedalus-v4l2
|
||||||
|
|
||||||
# 3bc0da1 = picks up daedalus-v4l2 PR #15 — per-frame `decode_us=N`
|
# 6e6dfa1 = picks up daedalus-v4l2 PR #16 — daemon now dlopens
|
||||||
# in the `decoder: OK` log line + a periodic `decoder stats` summary
|
# the Kwiboo fourier fork's libavcodec.so.62 / libavformat.so.62 /
|
||||||
# every 60 frames. Pure observability — baseline for the
|
# libavutil.so.60 at /opt/fourier instead of Debian-stock soname
|
||||||
# substitution work in daedalus-v4l2#11 step 2. Daemon still needs
|
# 61/61/59. First step on the daedalus-fourier substitution arc
|
||||||
# daedalus-fourier at build time (Arch packaging for that is a
|
# (daedalus-v4l2#11). Daemon still needs daedalus-fourier at
|
||||||
# follow-up; Debian side fetches inline via build-deb.sh).
|
# build time (Arch packaging for that is a follow-up; Debian side
|
||||||
_commit=3bc0da168cc0aa2271bfb6bc2864b49c48291185
|
# fetches inline via build-deb.sh).
|
||||||
|
_commit=6e6dfa144da7bc7fa8be50c8da91d7d1c6132a2c
|
||||||
|
|
||||||
# 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.r39.3bc0da1
|
pkgver=0.1.0.r41.6e6dfa1
|
||||||
pkgrel=1 # reset for new upstream pin (3bc0da1 — decode_us + stats)
|
pkgrel=1 # reset for new upstream pin (6e6dfa1 — soname 62 via /opt/fourier)
|
||||||
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"
|
||||||
@@ -35,7 +36,7 @@ license=('BSD-2-Clause' 'GPL-2.0-or-later')
|
|||||||
# Daemon dlopens libavformat.so.61 / libavcodec.so.61 / libavutil.so.59
|
# Daemon dlopens libavformat.so.61 / libavcodec.so.61 / libavutil.so.59
|
||||||
# at runtime (Option γ — see daemon/src/ffmpeg_loader.h). ffmpeg
|
# at runtime (Option γ — see daemon/src/ffmpeg_loader.h). ffmpeg
|
||||||
# provides those; we don't link them.
|
# provides those; we don't link them.
|
||||||
depends=('ffmpeg' 'libdrm')
|
depends=('ffmpeg-v4l2-request-fourier' 'libdrm')
|
||||||
# Headers from libav*-dev needed at compile time for type-safe function
|
# Headers from libav*-dev needed at compile time for type-safe function
|
||||||
# pointer signatures; pkg-config locates them.
|
# pointer signatures; pkg-config locates them.
|
||||||
makedepends=('cmake' 'ninja' 'pkgconf' 'git' 'ffmpeg')
|
makedepends=('cmake' 'ninja' 'pkgconf' 'git' 'ffmpeg')
|
||||||
|
|||||||
Vendored
+12
-9
@@ -11,14 +11,17 @@
|
|||||||
# Upstream repo: https://git.reauktion.de/reauktion/daedalus-v4l2
|
# Upstream repo: https://git.reauktion.de/reauktion/daedalus-v4l2
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# 3bc0da1 = picks up daedalus-v4l2 PR #15 — per-frame `decode_us=N`
|
# 6e6dfa1 = picks up daedalus-v4l2 PR #16 — daemon now dlopens
|
||||||
# in the `decoder: OK` log line + a periodic `decoder stats` summary
|
# the Kwiboo fourier fork's libavcodec.so.62 / libavformat.so.62 /
|
||||||
# every 60 frames (codec, fps, avg decode_us, MBs/s, B/MB). Pure
|
# libavutil.so.60 at /opt/fourier instead of Debian-stock soname
|
||||||
# observability — no behaviour change. Baseline metrics for the
|
# 61/61/59. First step on the daedalus-fourier substitution arc
|
||||||
# substitution work in daedalus-v4l2#11 step 2.
|
# (daedalus-v4l2#11): routes the daemon through the libavcodec
|
||||||
UPSTREAM_COMMIT=3bc0da168cc0aa2271bfb6bc2864b49c48291185
|
# source tree we own in marfrit-packages. Headers + .pc files
|
||||||
PKGVER=0.1.0+r39+g3bc0da1
|
# come from ffmpeg-v4l2-request-fourier (installed by the CI
|
||||||
PKGREL=1 # reset for new upstream pin (3bc0da1 — decode_us + stats)
|
# workflow before this script runs; see PKG_CONFIG_PATH below).
|
||||||
|
UPSTREAM_COMMIT=6e6dfa144da7bc7fa8be50c8da91d7d1c6132a2c
|
||||||
|
PKGVER=0.1.0+r41+g6e6dfa1
|
||||||
|
PKGREL=1 # reset for new upstream pin (6e6dfa1 — soname 62 via /opt/fourier)
|
||||||
|
|
||||||
# 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
|
||||||
@@ -64,7 +67,7 @@ SRCDIR=daedalus-v4l2
|
|||||||
# Build daemon (CMake) — point pkg-config at the daedalus-fourier
|
# Build daemon (CMake) — point pkg-config at the daedalus-fourier
|
||||||
# temp prefix so pkg_check_modules(DAEDALUS_FOURIER …) resolves to it.
|
# temp prefix so pkg_check_modules(DAEDALUS_FOURIER …) resolves to it.
|
||||||
cd "$SRCDIR/daemon"
|
cd "$SRCDIR/daemon"
|
||||||
PKG_CONFIG_PATH="$FOURIER_PREFIX/lib/pkgconfig" \
|
PKG_CONFIG_PATH="$FOURIER_PREFIX/lib/pkgconfig:/opt/fourier/lib/pkgconfig" \
|
||||||
cmake -B build -G Ninja \
|
cmake -B build -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr
|
-DCMAKE_INSTALL_PREFIX=/usr
|
||||||
|
|||||||
+19
@@ -1,3 +1,22 @@
|
|||||||
|
daedalus-v4l2 (0.1.0+r41+g6e6dfa1-1) bookworm trixie; urgency=medium
|
||||||
|
|
||||||
|
* Bump to 6e6dfa1 — daedalus-v4l2 PR #16. Daemon dlopens Kwiboo
|
||||||
|
fourier fork's libavcodec.so.62 / libavformat.so.62 /
|
||||||
|
libavutil.so.60 at /opt/fourier instead of Debian-stock
|
||||||
|
soname 61/61/59. First step on the daedalus-fourier
|
||||||
|
substitution arc (daedalus-v4l2#11): the next PR series
|
||||||
|
layers daedalus_recipe_dispatch_h264_* substitution patches
|
||||||
|
into ffmpeg-v4l2-request-fourier's H264DSPContext NEON init,
|
||||||
|
reaching the daemon's production decode path.
|
||||||
|
* Build: PKG_CONFIG_PATH now includes /opt/fourier/lib/pkgconfig
|
||||||
|
so daemon's pkg_check_modules picks up the Kwiboo .pc files.
|
||||||
|
* CI workflow build-deps: libavcodec-dev / libavformat-dev /
|
||||||
|
libavutil-dev (Debian stock 7.1.3) → ffmpeg-v4l2-request-fourier
|
||||||
|
(provides /opt/fourier/include + .pc files).
|
||||||
|
* Wire protocol unchanged. No daedalus-v4l2-dkms bump.
|
||||||
|
|
||||||
|
-- Markus Fritsche <mfritsche@reauktion.de> Thu, 21 May 2026 21:30:00 +0000
|
||||||
|
|
||||||
daedalus-v4l2 (0.1.0+r39+g3bc0da1-1) bookworm trixie; urgency=medium
|
daedalus-v4l2 (0.1.0+r39+g3bc0da1-1) bookworm trixie; urgency=medium
|
||||||
|
|
||||||
* Bump to 3bc0da1 — picks up daedalus-v4l2 PR #15. Per-frame
|
* Bump to 3bc0da1 — picks up daedalus-v4l2 PR #15. Per-frame
|
||||||
|
|||||||
Reference in New Issue
Block a user