Support FFmpeg 8.0 and 8.1 with one patch series - #34
Merged
Merged
Conversation
Coalesce pending requests across cuts, RTCP feedback, and periodic forcing without delaying video frames. Add the mixer CLI option, native node tests, and a 16-input NVENC rapid-cut/fade regression. Validated 133 mixer/timing tests and 18 native limiter tests, plus isolated 60 fps NVENC A/B runs.
jpietek
force-pushed
the
ffmpeg81-support
branch
from
September 16, 2026 16:07
3dab978 to
23bd4b5
Compare
Replace the per-version directories with a single deps/ffmpeg/8/ series that applies to both upstream n8.0 and n8.1. The composition-suite sources are new files (no base context), and the remaining patches are regenerated with minimal context; the only real 8.0/8.1 difference is the libnpp configure check 8.1 added that fails on CUDA 13, which the shared apply.sh rewrites to the stream-context probe (a no-op on 8.0). verify.sh checks either base against a pinned tree in 8/bases.env. Remove the 7.1.5 series and the triplicated per-version verify/README/ base.env; the three demo Dockerfiles call apply.sh and default to n8.1. Net: -5.1k lines of duplicated patch text, one README instead of three. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
jpietek
added a commit
that referenced
this pull request
Sep 18, 2026
… shutdown fixes Every source is normalised to the canvas contract (sdr, hlg, pq) on the GPU by the new tonemap_cuda filter; P010/P210 canvases with 8-bit sources promoted in the compositor; v210 sources stay 4:2:2; HEVC Main10 with HLG/PQ signalling and HDR10 static metadata on outputs; filter EOF-tail, Python shutdown and seek latch fixes; per-node GIL release. Compositor and orchestrator split into modules under src/mixer (primitives/, orchestrator/), libav/avcpp reused where the code re-implemented them; the mixer library ships as pyplumber.mixer. Show files gain working_format, color, latency_ms, v210 sources, tone-mapped renditions and HDR10 metadata; docs and examples follow. Squash of PR #33 (78 commits) onto develop after #34. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the demo builds to FFmpeg 8.1 by default, with FFmpeg 8.0 also supported by the same ordered patch series. Removes the duplicated 7.1.5 and 8.1 directories in favor of
deps/ffmpeg/8/.bases.env. Shared apply/verify scripts handle the version-specific NPP configure probe.Validation: the seven-patch series applies to both n8.0 and n8.1 and reproduces both pinned trees. Overlay Python tests pass (10 tests and 3 subtests). Prior FFmpeg 8.1 GPU validation covered mixer video/browser inputs, transitions, NVENC output, the overlay pixel-reference matrix and recorder reconnect behavior. FFmpeg 8.0 is verified for patch application; no new 8.0 GPU runtime claim is made.