Skip to content

Enable explicit software decoding in the embedded Linux stream - #967

Merged
capy-ai[bot] merged 2 commits into
devfrom
capy/select-embedded-software-decode
Sep 16, 2026
Merged

capy-ai[bot] merged 2 commits into
devfrom
capy/select-embedded-software-decode

Conversation

@zortos293

Copy link
Copy Markdown
Collaborator

Changes

Stacked on #964. Land #961 before this change so the Linux worker publishes readiness only after entering Running.

Expose Software (CPU) as an explicit Linux backend when the native FFmpeg decoder is available. Keep Auto hardware-only, preserve the legacy software preference, and reject unsupported HDR or color-quality requests before starting media.

Use the existing embedded frame path rather than a second presenter. Report the CPU decoder accurately and show its 8-bit 4:2:0 SDR limit in the Qt settings. Add a generated H.264 fixture that exercises actual CPU decoding into NV12 frames.

Verification

The final production source was independently reviewed and checked with core and streamer tests, formatting, and locked Clippy. The FFmpeg-enabled software-decode integration test passed. All 158 Python contract tests and localization validation passed.

The final Qt build and focused backend-availability tests passed. After the screenshot-only acceptance adjustment, a complete Qt rerun passed all 337 tests. The rendered acceptance fixture shows Software (CPU) selected, H.264 available, and HDR unavailable.

Limits

The screenshot uses an explicit acceptance fixture, not an authenticated settings session. No live GeForce NOW session, physical GPU, or HDR display was available. The new software-decode test exercises the real CPU decoder; it does not establish live streaming performance. Final combined-stack validation remains required before the program's ordered merges.

Open in Capy

@coderabbitai

coderabbitai Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 9306305a-5521-4981-8414-c5d3c0a069ab

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@capy-ai
capy-ai Bot changed the base branch from capy/carry-validated-hdr-display to dev September 16, 2026 07:29
@capy-ai

capy-ai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Reconciled the software-decoder topic with landed dev in normal merge f685fd20. The smoke workload retains both store-launch and backend-availability paths. The media helper region preserves separate complete software-label and audio loss/recovery functions, each with its own Linux guard.

Independent verification on the merged source passed 746 bundled-FFmpeg native tests with 15 ignored, strict locked Clippy covering the bundled workspace, formatting, and 564 core tests with 4 ignored on a quiet run. The worker additionally ran the real software H.264-to-NV12 fixture, rebuilt Qt, and passed all 344 Qt tests. Cross-platform PR CI is running on the new head. No force push or direct push to dev was used.

@capy-ai
capy-ai Bot merged commit 5c21b80 into dev Sep 16, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant