Zig FFI bindings for FFmpeg multimedia libraries (libavformat, libavcodec, libavutil, swresample, swscale), with formally verified ABI definitions in Idris2.
The repo follows the hyperpolymath ABI/FFI Universal Standard: Idris2 defines the ABI with dependent-type proofs for memory layout and alignment, Zig provides the C-compatible FFI, and a thin Rust shim handles FFmpeg opaque struct field access. See src/abi/Layout.idr for the memory layout proofs.
| Path | Proves |
|---|---|
|
Idris2 ABI type definitions exist |
|
Memory layout proofs are present |
|
FFI function declarations are formally specified |
|
Core Zig FFmpeg bindings with C FFI exports |
|
Generic Zig FFI template implementation |
|
Rust shim for opaque struct field access |