Low-level V bindings for the bundled
lieff/minimp4 single-header library.
The module exposes MP4 demuxing and muxing structures and functions, including
sample offsets/timestamps and AVC parameter-set access used by
v_vulkan_video.
This is a container library, not an audio or video codec. It does not decode compressed samples into pixels or audio.
v install antono2.minimp4The C implementation and header are compiled from this module; users do not
need to install a separate minimp4 system package. A working C compiler is
required when building an application that imports it.
The bundled C implementation is tested on Linux and on Windows Server 2022
with MSVC. Windows 10/11 x64 users do not need a separate minimp4 package;
install V with a working Microsoft C toolchain and use the same v install
command shown above.
The public API intentionally follows the upstream C names closely. Important
entry points include mp4d_open, mp4d_frame_offset, mp4d_read_sps,
mp4d_read_pps, and mp4d_close, plus the mp_4_e_* muxing functions.
Callers own the input/output callbacks and their backing data. Validate file sizes, track indexes, sample indexes, offsets, and returned pointers before using data from untrusted media.
Run the software-only binding smoke tests with:
v test .On Windows, the CI-equivalent command is:
v -cc msvc test .These compile and link the bundled C implementation and verify representative public constants and ABI structures, reject truncated input, and exercise an in-memory mux/demux round trip with sample offset, size, timestamp, and duration checks. End-to-end MP4 playback is tested by the Vulkan Video player.
The bindings and bundled upstream implementation are distributed under CC0-1.0, matching minimp4's public-domain dedication.