How openipc/pixelpilot_rk works
PixelPilot_rk is a Rockchip-based WFB-ng video receiver and ground-station display. Its main workflow receives a wireless video stream, decodes frames with MPP, and presents video with an on-screen display; optional DVR re-encodes video with OSD, while GSMenu exposes live link and air-unit controls. The README documents GPU color correction and frame pacing as additional video-processing capabilities. Source excerpts show the application coordinating decoding and DVR startup, but do not establish all component-level wiring, so uncertain links are omitted.
Main entry points: main.cpp Application coordinator · colmenu.c GSMenu UI · gstrtpreceiver.cpp Stream receiver · osd.cpp OSD renderer
Components 23
Video receive
- Stream receiver
src/gstrtpreceiver.cpp - WFB client
src/wfbcli.cpp - MPP decoder
src/main.cpp
Display and OSD
- DRM display
src/drm.c - OSD renderer
src/osd.cpp - GPU OSD
src/osd_gl.cpp
DVR processing
- Frame processing
src/frame_processor.cpp - Color correction
src/frame_colorcorrect.cpp - DVR recorder
src/dvr.cpp - MPP encoder
src/mpp_encoder.cpp
Ground controls
- GSMenu UI
src/gsmenu/colmenu.c - Menu pages
src/gsmenu/colmenu_pages.c - Command executor
src/gsmenu/executor.c - Air profiles
src/gsmenu/air_txprofiles.c - Input handling
src/input.cpp
Runtime services
- Application coordinator
src/main.cpp - MAVLink protocol
src/mavlink.c - System monitoring
src/os_mon.cpp - WiFi monitoring
src/WiFiMonitor.cpp
Other components
- Operator
- WFB-ng link
- GStreamer
- Rockchip MPP
Connections 21
- WFB-ng link → WFB client: sends stream
- Application coordinator → Stream receiver: starts receiving
- Stream receiver → GStreamer: uses pipeline
- Application coordinator → MPP decoder: feeds packets
- Rockchip MPP → MPP decoder: decodes frames
- Application coordinator → DRM display: presents frames
- Application coordinator → OSD renderer: renders overlay
- OSD renderer → GPU OSD: uses GPU rendering
- Application coordinator → Frame processing: sets up re-encoding
- Frame processing → Color correction: applies transform
- Application coordinator → DVR recorder: configures recording
- Application coordinator → MPP encoder: starts encoder
- MPP encoder → Rockchip MPP: encodes frames
- Operator → Input handling: provides input
- Input handling → GSMenu UI: drives controls
- GSMenu UI → Menu pages: builds pages
- GSMenu UI → Command executor: runs commands
- GSMenu UI → Air profiles: accesses profiles
- Application coordinator → MAVLink protocol: initializes protocol
- Application coordinator → System monitoring: runs monitoring
- Application coordinator → WiFi monitoring: runs link monitoring