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:
@@ -5,7 +5,7 @@ assertj = "3.27.3"
|
||||
slf4j = "2.0.16"
|
||||
logback = "1.5.16"
|
||||
javafx = "21.0.5"
|
||||
ffmpeg = "7.1.1-1.5.11"
|
||||
ffmpeg = "8.1.2-1.5.14"
|
||||
|
||||
[libraries]
|
||||
junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
|
||||
@@ -15,4 +15,5 @@ assertj-core = { module = "org.assertj:assertj-core", version.ref = "assertj" }
|
||||
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
|
||||
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
||||
javafx-controls = { module = "org.openjfx:javafx-controls", version.ref = "javafx" }
|
||||
ffmpeg = { module = "org.bytedeco:ffmpeg", version.ref = "ffmpeg" }
|
||||
ffmpeg-platform = { module = "org.bytedeco:ffmpeg-platform", version.ref = "ffmpeg" }
|
||||
|
||||
Reference in New Issue
Block a user