Sync to v0.15.0 — stabilization (FramingModule + stab-fill + Kalman/WebUI) + RTP RT-priority fix#83
Merged
Merged
Conversation
…ebUI) + RTP RT-priority fix Squash-sync of snokvist/waybeam_venc master onto upstream. Supersedes PR #81 (feat(star6e): DIS on VPE): carries the full evolution of the stabilization feature plus the rest of the fork delta since the v0.11.0 sync (#78). Stabilization (replaces #81, functional superset): - FramingModule registry with STAB compile flag (star6e_framing.h) - HW-crop "stab" + floating-image "stab-fill" presets sharing the IVE detector / geometry / unified Kalman trajectory smoother - pauseStab (software ramp, no rebind) on both presets - data-driven field schema (FieldDesc.ui -> /api/v1/capabilities -> generic dashboard renderer); stabKalmanQ / stabKalmanR exposed - zoom-3x / zoom-4x presets; stab tuning knobs; runtime libmi_ive/rgn libs RTP delivery jitter: - encoder GetStream->packetize->send thread and (under stab-fill) the blit thread raised to SCHED_FIFO 50 (VENC_RT_PRIO, clamped 1..80) so they are not preempted mid-frame; eliminates periodic one-frame delivery stalls. Device-validated: 14->0 idle-gap spikes/95s at framing=off. Documented in README (Adaptive Encoder Control -> Encoder thread priority). make verify (star6e STAB=1/0 + maruko) + 1637 host tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <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.
Squash-sync of
snokvist/waybeam_vencmaster onto upstream. Supersedes #81 (feat(star6e): DIS on VPE) — this carries the full evolution of the stabilization feature plus the rest of the fork delta since the v0.11.0 sync (#78). VERSION 0.11.0 → 0.15.0.Single snapshot commit: its tree equals fork master and its parent is the current upstream
master, so it fast-forwards cleanly.Stabilization (replaces #81 — functional superset)
STABcompile flag (star6e_framing.h)stab+ floating-imagestab-fillpresets sharing the IVE detector / geometry / unified Kalman trajectory smootherpauseStab(software ramp, no rebind) on both presetsFieldDesc.ui→/api/v1/capabilities→ generic dashboard renderer);stabKalmanQ/stabKalmanRexposedzoom-3x/zoom-4xpresets; stab tuning knobs; runtimelibmi_ive.so/libmi_rgn.soRTP delivery jitter — encoder/blit thread RT priority
The Star6E
GetStream→packetize→sendtopath (and thestab-fillblit thread) ran atSCHED_FIFOpriority 1 (the RT floor), so it was preempted mid-frame → periodic ~one-frame RTP delivery stall. Raised toSCHED_FIFO50 (above userspace RT peers, below the SDK'sSCHED_RR/98). Tunable viaVENC_RT_PRIO(1..80;=1= old behaviour). Device-validated: 14 → 0 idle-gap spikes / 95 s at framing=off. Documented in README → Adaptive Encoder Control → Encoder thread priority.Preserved from upstream
The #79 RGN-settle fix (
VENC_OSD_DESTROY_SETTLE_US), #80 fd-cleanup, and the venc→waybeam rebrand are all present in this snapshot (no regressions).Verification
make verify(Star6ESTAB=1/STAB=0+ Maruko) + 1637 host tests pass. Stabilization + RT fix device-validated on imx335 (Star6E).