Expand description
Rockchip MPP (Media Process Platform) hardware H.264/HEVC encoder.
Resolves librockchip_mpp.so at runtime via dlopen — the binary
compiles on every platform; HW encoding only activates on Rockchip
devices where the library is present.
§Why this exists
Software H.264 encode of a 720p I-frame takes 20–30 ms on RK3588’s
A76 cores. That alone exceeds the 10 ms FPV budget. Rockchip’s MPP
does the same encode in 2–3 ms on dedicated VPU hardware, plus
supports zero-copy input directly from DMA-BUF or MB_BLK (the same
handle type used by RknnBackend::wrap_mb_blk).
§Coverage
mpp_create/mpp_init/mpp_destroy— context lifecyclempp_packet_*— encoded NAL outputmpp_frame_*— raw input wrappingmpi.encode_put_frame/encode_get_packet— synchronous encodempp_buffer_get_mpp_buffer— extract MB_BLK for zero-copy input
§Safety
All unsafe is confined to FFI call sites. Library symbols obtained
via dlopen/dlsym are checked non-null. RAII Drop handlers free
every MPP resource (encoder ctx, frames, packets) deterministically.
Enums§
- MppError
- Errors from MPP encoder operations.
Functions§
- mpp_
available - Check whether
librockchip_mpp.sois loadable on this host.