This website requires JavaScript.
add9d8e0cd
aacs: sample only index-1 forensic segments for the online key query; hoist MIN_SAMPLE_UNITS into the base crate
Matthew Jackson
2026-07-16 21:01:16 -07:00
edc60582ec
FMTS: resolve the index key map from one forensic keyserver query
Matthew Jackson
2026-07-16 19:41:44 -07:00
ccb7cafc68
restore freemkv-unlock path dep for local dev (post-v1.4.2)
Matthew Jackson
2026-07-15 19:37:54 -07:00
0183bfb58c
v1.4.2: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-15 19:37:51 -07:00
830d1e360c
Mux decrypt/verify redesign, HD DVD first-class, MVC 3D
Matthew Jackson
2026-07-15 19:35:12 -07:00
04728d7d94
Mux: pure decrypt, policy at the caller (no null, no key-server storm)
Matthew Jackson
2026-07-14 20:42:46 -07:00
e62ffed2b1
restore freemkv-unlock path dep for local dev (post-v1.4.1)
Matthew Jackson
2026-07-14 14:45:33 -07:00
9d37043b3e
v1.4.1: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-14 14:45:30 -07:00
6858cd064d
Fix mux concealing decryptable video over a single defective packet
Matthew Jackson
2026-07-14 14:43:06 -07:00
f99670ceaa
restore freemkv-unlock path dep for local dev (post-v1.4.0)
Matthew Jackson
2026-07-13 19:28:55 -07:00
75b0e68b85
v1.4.0: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-13 19:28:52 -07:00
4a341331e2
Changelog: 1.4.0 (Blu-ray 3D / MVC)
Matthew Jackson
2026-07-13 12:47:03 -07:00
422f2b6bcf
3D MVC mux: audit round 2 (converged)
Matthew Jackson
2026-07-13 11:39:07 -07:00
d4021114cd
Harden 3D MVC mux: robustness + tests (audit round 1)
Matthew Jackson
2026-07-13 11:24:23 -07:00
fd6dfbe5b0
Mux Blu-ray 3D (MVC) as a single MVC video track
Matthew Jackson
2026-07-13 11:00:04 -07:00
573d2f46c4
feat(3d): read the SSIF and enumerate the MVC dependent view
Matthew Jackson
2026-07-12 23:41:47 -07:00
ef39674194
feat(3d): enumerate MVC dependent view (stream_type 0x20 -> H.264 video)
Matthew Jackson
2026-07-12 22:16:13 -07:00
9973849408
feat(3d): add MVC dependent-view coding type (0x20)
Matthew Jackson
2026-07-12 22:11:01 -07:00
d9db268b06
wip(3d): prove SSIF de-interleave = ssif−base, dependent decrypts on same UK
Matthew Jackson
2026-07-12 20:40:58 -07:00
129c34b002
wip(3d): read-only 3D-structure probe (SSIF/m2ts + MPLS ExtensionData)
Matthew Jackson
2026-07-12 20:38:37 -07:00
ebf30a679e
fix(udf): follow allocation-descriptor continuation past the AED header
Matthew Jackson
2026-07-12 20:37:55 -07:00
09a8dd183d
restore freemkv-unlock path dep for local dev (post-v1.3.2)
Matthew Jackson
2026-07-10 14:26:11 -07:00
057c878831
v1.3.2: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-10 14:26:08 -07:00
43cbfa07f5
1.3.2: AACS 2.1 FMTS variant-decode foundation
Matthew Jackson
2026-07-10 14:00:28 -07:00
0e0967795e
changelog: trim the 1.3.1 relicense note to just the relicense fact
Matthew Jackson
2026-07-10 12:53:17 -07:00
68b5372415
restore freemkv-unlock path dep for local dev (post-v1.3.1)
Matthew Jackson
2026-07-10 12:35:12 -07:00
9e8f196b20
v1.3.1: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-10 12:35:09 -07:00
b8f0af9ef5
1.3.1: relicense to MIT (clean-room CSS + drop copyleft-lib references)
Matthew Jackson
2026-07-10 12:31:19 -07:00
24e2bc33cf
hddvd: authoritative title composition from the Advanced-Content playlist
Matthew Jackson
2026-07-10 10:28:18 -07:00
a7df91b92b
ci: drop the dead crates.io publish job (libfreemkv is git-tag-only)
Matthew Jackson
2026-07-10 08:52:57 -07:00
0eb0188ba7
restore freemkv-unlock path dep for local dev (post-v1.3.0)
Matthew Jackson
2026-07-10 08:43:47 -07:00
e2f595d558
v1.3.0: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-10 08:43:42 -07:00
18082d0df1
audit: void empty-timeline duration, cover sniff overlap
Matthew Jackson
2026-07-09 20:40:54 -07:00
640502d5a8
audit: lock DTS rate table, fix sniff overflow-scan, cover decrypt loss
Matthew Jackson
2026-07-09 20:17:12 -07:00
270f9d88b3
audit: drop dead DTS marks cap, lazy passthrough buf, doc corrections
Matthew Jackson
2026-07-09 19:50:54 -07:00
6a0e61d415
audit: clamp BD format fallback, running GOP byte counter, O(1) DTS marks
Matthew Jackson
2026-07-09 19:27:01 -07:00
92e3b41468
audit: bound DTS marks, align disc-format tree order, doc/test cleanups
Matthew Jackson
2026-07-09 19:01:56 -07:00
7d852419b5
audit: byte caps on GOP buffers, opener-scan resume, honest video codec
Matthew Jackson
2026-07-09 18:31:47 -07:00
9066433c29
audit: guard 0xFD video routing, carry frame duration, add cap tests
Matthew Jackson
2026-07-09 17:59:04 -07:00
c81a6e05cd
audit: fix AU mark-field loss, VTI tie determinism, and mark/perf issues
Matthew Jackson
2026-07-09 17:30:41 -07:00
0a9bdf08f6
docs: drop Renesas from changelog (detection-only stub)
Matthew Jackson
2026-07-09 16:36:47 -07:00
2b74a9b21f
docs: soften HD-DVD changelog to partial support (PGC parse deferred)
Matthew Jackson
2026-07-09 16:33:40 -07:00
b5a5138569
mux: resume AU-boundary scans from a cursor (O(n) not O(n²))
Matthew Jackson
2026-07-09 16:18:25 -07:00
26423187d3
audit: bound the VTI clip-table scan; fix stale aacs doc links
Matthew Jackson
2026-07-09 14:41:49 -07:00
a94f78d090
audit: cap the sparse-PTS reorder buffer, FMTS key state, zero KCD
Matthew Jackson
2026-07-09 14:14:20 -07:00
14c4227292
mux: back-patch the MKV duration from the timeline when the source has none
Matthew Jackson
2026-07-09 12:52:48 -07:00
fc3e1dd003
docs: changelog for HD-DVD feature composition + MPEG-2 AuAssembler
Matthew Jackson
2026-07-09 09:12:56 -07:00
5090ddab6c
disc: compose the HD-DVD feature from its VTI clip table
Matthew Jackson
2026-07-09 09:12:13 -07:00
3633882d6c
mux: reassemble MPEG-2 access units via the shared AuAssembler
Matthew Jackson
2026-07-09 08:44:01 -07:00
ae27a097b9
docs: changelog for HD-DVD VC-1, sparse-PTS, variant layout (1.3.0)
Matthew Jackson
2026-07-09 08:21:09 -07:00
5fdff5664f
mux: reconstruct display-order PTS for sparse-PTS program streams
Matthew Jackson
2026-07-08 21:54:09 -07:00
f8bea78db5
aacs(2.1): pin variant record layout against reference MKBs
Matthew Jackson
2026-07-08 21:01:57 -07:00
48bec4cc03
mux: HD-DVD VC-1 demux via extended stream id 0xFD
Matthew Jackson
2026-07-08 21:01:48 -07:00
bfe88d2673
release: prepare 1.3.0
Matthew Jackson
2026-07-08 14:48:50 -07:00
0d587d1154
fix: assorted correctness fixes and dead-code cleanup
Matthew Jackson
2026-07-08 14:44:15 -07:00
67aba17173
sector: generic recovery seam; FMTS forensic segments as decrypt loss
Matthew Jackson
2026-07-08 14:44:03 -07:00
45c12fc5ce
labels: reader-backed detection, Criterion fix, menu-language fallback
Matthew Jackson
2026-07-08 14:43:52 -07:00
3da8228068
aacs: parse FMTS SegmentKey.tbl container (16-bit variant-indexed)
Matthew Jackson
2026-07-07 19:18:33 -07:00
974e886742
aacs: parse FMTS forensic segment map (IndividualSegment.tbl)
Matthew Jackson
2026-07-07 18:59:09 -07:00
1f3f52d225
disc: select main title by largest size, not clip count
Matthew Jackson
2026-07-07 18:36:36 -07:00
85347597cc
disc: first-class FMTS + HD-DVD formats; CPI sample selection
Matthew Jackson
2026-07-07 18:16:04 -07:00
bc04ee7bd2
unlock_bridge: run_features/run_bus dispatch; report LibreDrive vs Renesas
Matthew Jackson
2026-07-07 16:36:05 -07:00
122a03b23d
aacs: remove boil veneer; move key newtypes to aacs::types
Matthew Jackson
2026-07-05 12:09:39 -07:00
dcc553a716
aacs: keep flat re-exports for the typed key primitives
Matthew Jackson
2026-07-04 22:19:39 -07:00
3b06a4c844
aacs(2.1): variant Media Key as a clean PK -> Km primitive
Matthew Jackson
2026-07-04 19:16:40 -07:00
f9d112e481
aacs(2.1): wire variants_for_uv from the 0x2d record; chain runs end-to-end
Matthew Jackson
2026-07-04 18:26:09 -07:00
f4fe651cb9
aacs: point integration tests at real module paths
Matthew Jackson
2026-07-04 18:25:59 -07:00
5ff04649ba
aacs: remove the mod.rs facade — module paths are the public API
Matthew Jackson
2026-07-04 14:19:40 -07:00
84aaceceb7
aacs: merge media_key + volume_key into derive.rs
Matthew Jackson
2026-07-04 14:14:56 -07:00
cdee9739fd
aacs: split keys.rs god-module into media_key/volume_key/inf/resolve
Matthew Jackson
2026-07-04 14:06:57 -07:00
f55f11d043
aacs: extract mkb.rs (MKB record format, MkbType, finders)
Matthew Jackson
2026-07-04 13:55:06 -07:00
f55d8f7acd
aacs: extract crypto.rs (shared AES primitives + constants)
Matthew Jackson
2026-07-04 13:37:53 -07:00
31b0ba323a
aacs: rename decrypt.rs->content.rs, variants.rs->variant.rs (no logic change)
Matthew Jackson
2026-07-04 13:24:26 -07:00
188baced39
aacs: annotate crypto with AACS spec section citations
Matthew Jackson
2026-07-04 13:15:53 -07:00
bce11a2de0
restore freemkv-unlock path dep for local dev (post-v1.2.2)
Matthew Jackson
2026-07-03 20:50:17 -07:00
7a79577343
v1.2.2: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-03 20:50:14 -07:00
f07251c2d4
changelog: 1.2.2 (AACS 2.1 variant MKB, mk_from_dk fix, PK-path perf, autorip online-outage + move-error clear)
Matthew Jackson
2026-07-03 20:48:04 -07:00
eb23ab4586
aacs: target real AACS 2.1 Variant MKB records (0x2d/0x2f/0x0c)
Matthew Jackson
2026-07-03 13:25:01 -07:00
61b6070f03
aacs: make the PK path terminal (no SD-tree walk)
Matthew Jackson
2026-07-02 23:17:20 -07:00
125a8e5bf0
aacs: full-ladder resolve_candidate + correct mk_from_dk
matthew
2026-07-01 21:45:11 -07:00
741c1ea11d
restore freemkv-unlock path dep for local dev (post-v1.2.1)
Matthew Jackson
2026-07-01 19:08:56 -07:00
e713b26b87
v1.2.1: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-01 19:08:53 -07:00
fcbd667add
changelog: describe the shipped re-base DTS fix + faithful-passthrough note
Matthew Jackson
2026-07-01 19:02:04 -07:00
88c03152e2
mux/dts: re-base PTS per PES instead of a running clock (fix long-title drift)
Matthew Jackson
2026-07-01 18:21:25 -07:00
c8e7ad5e56
v1.2.1: bump version + changelog (DVD DTS timestamp fix)
Matthew Jackson
2026-07-01 17:30:25 -07:00
f122f08628
mux/dts: monotonic per-frame PTS + real frame duration (fixes DVD DTS)
Matthew Jackson
2026-07-01 17:17:35 -07:00
b2c3540989
restore freemkv-unlock path dep for local dev (post-v1.2.0)
Matthew Jackson
2026-07-01 16:53:06 -07:00
3a4307def6
v1.2.0: bump version (freemkv-unlock git-pinned for the tag)
Matthew Jackson
2026-07-01 16:53:03 -07:00
917026d566
changelog: DVD DTS/LPCM silent-audio fix + Pass-N recovery specialists + flat scheduler
Matthew Jackson
2026-07-01 16:50:08 -07:00
6b0bcbb43f
recovery: flat-pool bandit scheduler (FREEMKV_PATCH_FLAT, opt-in)
Matthew Jackson
2026-07-01 16:26:56 -07:00
516ff4e581
test: widen profile_03 efficiency guard for tier-2 roster
Matthew Jackson
2026-07-01 13:55:20 -07:00
c27009d443
recovery: wire tier 2 marginal specialists into the Pass-N chain
Matthew Jackson
2026-07-01 13:47:57 -07:00
789d988314
recovery: CachePrime + Oscillate handlers + fixtures
Matthew Jackson
2026-07-01 13:44:33 -07:00
1e0dc4c514
recovery: FuaRetry + SlowFua fixtures (FUA / min+FUA levers)
Matthew Jackson
2026-07-01 13:42:01 -07:00
629ed32e9e
recovery: SpeedSweep handler + slow-spindle fixtures (SlowSpin/SpeedSweep)
Matthew Jackson
2026-07-01 13:40:34 -07:00
ac3b3fcfa4
recovery: decayed (EWMA) handler scorecard so the ranking flips
Matthew Jackson
2026-07-01 13:38:11 -07:00
0c8153304e
recovery: parameterize the read primitive with ReadParams (speed/FUA/timeout)
Matthew Jackson
2026-07-01 13:36:28 -07:00
e94319c099
dvd: route private_stream_1 audio sub-ids by positional stream number
Matthew Jackson
2026-07-01 13:49:55 -07:00
a93da78621
lib: remove standalone sector-health verify feature
Matthew Jackson
2026-07-01 13:09:21 -07:00
cf13838f12
recovery: audit fixes — live at-risk excludes NonTried, latency-gated wedge, drop dead block counters
Matthew Jackson
2026-07-01 12:07:08 -07:00