Add MPS demuxer and FFmpeg H.264 video decode

- MpsDemuxer parses MPEG-PS packs (0x1BA) into video (0x1E0-0x1EF) and
  audio (0x1BD) PES packets with PTS/DTS at the 90kHz clock.
- VideoDecoder decodes Annex-B H.264 via JavaCPP FFmpeg 8.1.2, splitting
  the stream into access units (one slice NAL per packet) so each send
  yields a frame.
- CLI 'decode' command dumps frame metadata (720x480 YUVJ420P).
- Validated against Batman Begins: 72 frames decoded.
This commit is contained in:
2026-09-15 21:59:26 -04:00
parent f40fa604a3
commit 4821267d0e
7 changed files with 211 additions and 14 deletions
+3
View File
@@ -9,6 +9,9 @@ java {
}
dependencies {
api(libs.ffmpeg)
runtimeOnly("org.bytedeco:ffmpeg:${libs.versions.ffmpeg.get()}:linux-x86_64")
testImplementation(platform(libs.junit.bom))
testImplementation(libs.junit.jupiter)
testRuntimeOnly(libs.junit.platform.launcher)