3768e506030267b2c4736fa2849308e5ed3a0d02
- AnnexBSplitter incrementally splits the Annex-B stream into access units, holding partial slices across packet feeds. - VideoDecoder exposes feedAccessUnit and the decoded frame rate. - PlaybackEngine demuxes and decodes in lockstep, tagging video frames and audio chunks with 90 kHz PTS (audio from PES headers, video from PES anchors interpolated by decoder frame rate). - CLI 'play' command runs the engine headlessly and reports A/V drift. - Validated against Batman Begins: 95 frames in 4.0s, max drift -78.6 ms (video trails audio at stream start), avg frame duration 3833.6 ticks. - Tests for AnnexBSplitter.
useless-umd-player
a standalone player for PSP UMD Video ISO images: open a disc, render its real menu, and play the movie (H.264 video + ATRAC3+ audio) with mouse and keyboard/media-key controls.
Status: early development. Currently implemented: ISO 9660/UMD reading,
param.sfometadata parsing, and file listing.
Build
Requires JDK 21 (Gradle auto-provisions it via the Foojay toolchain resolver).
./gradlew build
Run
./gradlew cli:run --args="dump /path/to/disc.iso"
License
GPL-3.0-or-later — see LICENSE.
Languages
Java
100%