Skip to content

ProofPGS v1.2.0

Choose a tag to compare

@matthane matthane released this 18 Mar 01:34
· 85 commits to main since this release

What's New

Direct MKV/MK3D Cue-Based Extraction

  • New custom EBML/Matroska parser (mkv.py) reads the MKV Cues index to locate only the clusters containing PGS subtitle data, then seeks directly to them — bypassing FFmpeg entirely for extraction
  • For UHD Blu-ray remuxes (40 GB+), total I/O drops from tens of gigabytes to a few megabytes, making extraction dramatically faster
  • Only applies to MKV/MK3D files with subtitle Cues present (typically Matroska version 4, which includes Cue entries for non-video tracks). Older muxes that lack subtitle Cues fall back to FFmpeg transparently
  • Handles both zlib-compressed and header-stripped subtitle blocks
  • Parallel I/O with thread-local file handles for multi-track extraction

.mk3d Support

  • .mk3d (3D Matroska) is now a recognized container format throughout — file input, context menu, and direct cue parsing all support it
  • Windows Explorer context menu updated with proper submenu entries for .mk3d

Subtitle Count in Track Listing

  • MKV/MK3D track listing now shows the total subtitle count per track (read from the Cues index), giving a quick sense of track density before extraction

Other Improvements

  • Shell context menu restructured: .sup files get a simple "Validate" entry, while containers get both "Validate" and "Validate fast" options