yscv-video-mpp 0.1.8

Rockchip MPP (Media Process Platform) hardware H.264/HEVC encoder via dlopen
Documentation
  • Coverage
  • 75%
    9 out of 12 items documented0 out of 1 items with examples
  • Size
  • Source code size: 30.95 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.27 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 58s Average build duration of successful builds.
  • all releases: 58s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • enthropy7/YSCV
    21 1 4
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • enthropy7

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 lifecycle
  • mpp_packet_* — encoded NAL output
  • mpp_frame_* — raw input wrapping
  • mpi.encode_put_frame / encode_get_packet — synchronous encode
  • mpp_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.