Commit Graph

1 Commits

Author SHA1 Message Date
enricobuehler 2c1bb4de93 docs(design): native AMF encoder handoff — drop ffmpeg for AMF, keep for QSV
apple / swift (push) Successful in 1m13s
android / android (push) Failing after 2m16s
ci / rust (push) Failing after 40s
ci / web (push) Successful in 53s
apple / screenshots (push) Failing after 3m21s
ci / docs-site (push) Successful in 1m0s
arch / build-publish (push) Successful in 5m17s
windows-host / package (push) Successful in 7m30s
deb / build-publish (push) Successful in 3m19s
decky / build-publish (push) Successful in 13s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 5s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 5s
ci / bench (push) Successful in 4m51s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 2m39s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 2m15s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 47s
rpm / build-publish (43, bazzite, punktfunk-fedora-rpm) (push) Successful in 10m47s
rpm / build-publish (44, fedora-44, punktfunk-fedora44-rpm) (push) Successful in 10m33s
docker / deploy-docs (push) Successful in 20s
Design + decision record for replacing the libavcodec *_amf path with a
direct AMF SDK encoder (encode/windows/amf.rs, the AMD analogue of the direct
NVENC path). Motivation is measured, not speculative: the libavcodec wrapper
structurally holds ~2 frames (36 ms p50 at 720p60 on VCN, un-tunable), driver
wedges surface as forever-EAGAIN instead of typed AMF_RESULTs, and
intra-refresh / in-band HDR SEI are inexpressible through it. Covers the C
vtable FFI strategy (amfrt64.dll runtime-load, FFmpeg amfenc.c and OBS
texture-amf.cpp as references), bounded-poll retrieval, the property table,
watchdog/reset interplay, exact dispatch seams, a lab-iGPU validation plan
with today's zero-copy baselines, and three phases ending with the ffmpeg-AMF
arm deleted (FFmpeg stays QSV-only).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 14:36:55 +02:00