feat(pkg): compat.ffmpeg 8.1.2 — 全源码直编形态(config 快照 + 源列表)#74
Merged
Conversation
Member
Author
|
CI 证据记录(dispatch run 29617083414,供 mcpp 侧调试参考): windows ✅ 首绿(0.0.94 钉回生效,#230 规避确认)。 linux ❌,两个独立原因:
已触发 failed-jobs 重跑验证缓存热路径。 |
FFmpeg 8.1.2 compiled entirely by mcpp: 2281 TUs (incl. 157 NASM .asm) from the official source tarball, no configure/make at build time — the platform config snapshot ships as generated_files in the descriptor. Linux-only via cfg(linux); the test member compiles to a no-op main() elsewhere so the workspace stays green on macOS/Windows.
- All mcpp pins -> 0.0.96; drop the windows 0.0.94 pin-back (mcpp#230 fixed in 0.0.96). - Replace host nasm with one 'mcpp index update' before the workspace run: 0.0.96's release archive vendors an index snapshot cut before xim-pkgindex#398 fixed the nasm descriptor, and the bootstrap is offline-first (mcpp#232). Drop once a release vendors a newer snapshot. - Selective member testing: PRs map changed files -> affected workspace members and run 'mcpp test -p <member>' per member instead of the full 'mcpp test --workspace'. Full run stays for non-PR events, changes to this workflow (carries the version pins), shared test scripts, or non-member mcpp.toml edits; new-package PRs (members list append) select only the added member.
Sunrisepeak
force-pushed
the
feat/add-compat-ffmpeg
branch
from
July 18, 2026 02:22
91f7e17 to
5276dc3
Compare
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.
概要
收录 compat.ffmpeg 8.1.2,引入第五种包形态:全源码直编——上游
./configure产物一次性冻结进描述符(generated_files,15 个文件 ≈240KB),配合make -n推导的精确源列表(2281 TU,含 157 个 NASM.asm),由 mcpp 直接编译全部源码。消费者构建期零 configure/make/CMake(对比 compat.opencv 的 install()+CMake 形态)。要点
--disable-autodetect --disable-programs --disable-doc,其余全默认 → 全部内部组件(600+ decoders / 358 demuxers / 7 库),LGPL-2.1+,hermetic.asm直接进 sources(mcpp 0.0.95 汇编一等公民);nasm 惰性解析(PATH → sandbox → xlings,xim 已收录)mcpp-res/ffmpegrelease 8.1.2,已验证 200 + 与 GLOBAL 字节一致tests/examples/ffmpeg,gui-stack 模式(cfg(linux) 依赖,非 Linux no-op),断言版本/解码器/demuxer 数flags是 0.0.95 语法(mcpp#223);floor-first 规则的预期路径tools/gen_descriptor.py生成(勿手改);升级 = 重跑生成器 + review diff本地验证(mcpp 0.0.95 = bump 后 CI pin)
mcpp test通过:ffmpeg 60.26: decoders+demuxers(358) ok.asm.o全部产出,最终二进制 3260 个 ssse3/avx2 符号mcpp xpkg parse)设计文档:
.agents/docs/2026-07-18-add-ffmpeg-plan.md;完整调研与 POC:ffmpeg-m 仓.agents/docs/。配套:ffmpeg-m 将瘦身为纯模块层(移除 vendor,依赖本包)—— mcpplibs/ffmpeg-m#1 的后续 commit。