build(container): cherry-pick media-codec cleanup + build gate + NVDEC video decode (OPS-7665) (#11836) - #12703
Merged
pvijayakrish merged 5 commits intoAug 6, 2026
Conversation
This comment has been minimized.
This comment has been minimized.
# Conflicts: # container/templates/vllm_runtime.Dockerfile
Contributor
The cherry-pick resolved the import-block conflict by taking main's superset, but the except-chain that uses HttpStatusError and UrlValidationError reached main through a commit that is not part of this cherry-pick, so on release/1.4.0 the file's body never references them. The full-tree ruff hook correctly flags the unused imports; remove them rather than widen the cherry-pick's scope with the unrelated typed-error-preservation change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Dmitry Tokarev <dtokarev@nvidia.com>
After dropping the two unused names, the remaining two-name import fits on one line and ruff format collapses the parenthesized form. Verified locally with the full pre-commit suite (pre-commit run --all-files): all hooks pass. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Dmitry Tokarev <dtokarev@nvidia.com>
The picked backend pages carried main-layout relative links (../../../../../use-cases/...) that resolve from main's five-level-deep backend pages but climb out of the repository from this branch's features/multimodal/ layout. The target page landed in the same directory here, so link it directly. The nav entry in docs/fern/index.yml already exists; no change needed there. Verified: every relative link in all seven docs files this PR touches now resolves, and the full pre-commit suite passes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Dmitry Tokarev <dtokarev@nvidia.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.
Summary
Cherry-pick of #11836 (
b310cda917, merged tomain2026-08-05) ontorelease/1.4.0: media-codec cleanup across the three runtime images, a build-failing codec allowlist gate in the compliance stage, and H.264/H.265 video input via NVDEC hardware decode (PyNvVideoCodec) in all three backends.Linear OPS-7665
Details
Identical to the merged commit except three adaptations to this branch:
container/templates/wheel_builder.Dockerfile— droppedrequest-trace-s3from the two maturin--featureslists. That cargo feature comes from feat(request-trace): native S3 sink for request-trace records #11806, which is not onrelease/1.4.0; keeping it would fail the bindings build with an unknown-feature error. The framework split itself (SGLang builds withoutmedia-ffmpeg) is preserved.docs/fern/pages/...to this branch'sdocs/fern/features/...tree (git rename detection mapped five; the new pagevideo-decode-gpu-requirements.mdwas placed atfeatures/multimodal/).docs/fern/index.yml— the new page's nav entry uses thefeatures/multimodal/path; this branch's existing nav paths are left untouched.Conflicts resolved:
video_loader.py(import block, incoming superset taken;HttpStatusError/UrlValidationErrorboth exist on this branch),wheel_builder.Dockerfileandindex.ymlas above.Where should the reviewer start?
The three adaptation points above; everything else is byte-identical content already reviewed and merged in #11836.
Validation
container/render.py); rendered maturin feature lists verified — norequest-trace-s3, SGLang unconditional non-media build, vLLM keeps theENABLE_MEDIA_FFMPEGconditional.container/compliance/tests/test_scan_codecs.py) pass on this branch; codec policy loads (25 deny globs, 3 exceptions).py_compileclean on all 37 changed Python files; nav YAML parses.Related Issues
Relates to #11836
🤖 Generated with Claude Code