Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minimp4 bindings for V

Project portfolio

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.

Install

v install antono2.minimp4

The 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.

Platform support

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.

API scope

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.

Tests

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.

License

The bindings and bundled upstream implementation are distributed under CC0-1.0, matching minimp4's public-domain dedication.

About

Low-level minimp4 bindings for V covering MP4 demuxing, muxing, timestamps, and AVC metadata.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages