Enable explicit software decoding in the embedded Linux stream - #967
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
Reconciled the software-decoder topic with landed 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 |
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.