You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add Rust FFmpeg MP4 demuxer with compile-time switch
Replace GPAC-based MP4 demuxer with FFmpeg-based implementation in Rust
using rsmpeg, activated via -DWITH_FFMPEG=ON. GPAC path remains default
and untouched when FFmpeg is not enabled.
Architecture:
- Rust core (demuxer/mp4.rs): opens MP4 via rsmpeg, classifies tracks,
dispatches packets to C bridge functions
- FFI exports (mp4_ffmpeg_exports.rs): ccxr_processmp4/ccxr_dumpchapters
callable from C
- C bridge (mp4_rust_bridge.c): flat FFI-safe wrappers around existing
do_NAL, process608, dtvcc_process_data, store_hdcc, encode_sub
Supports AVC/H.264, HEVC/H.265, CEA-608, CEA-708, and tx3g tracks.
Parses SPS/PPS/VPS from extradata for proper caption extraction.
Build: cmake -DWITH_FFMPEG=ON -DWITH_OCR=ON -DWITH_HARDSUBX=ON ../src
CI: fixed Linux cmake_ffmpeg_mp4 job, added macOS cmake_ffmpeg_mp4 job
0 commit comments