Repository navigation
Releases
Releases · Nicolasalucin/dvd-forge
v0.6.0
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Full Changelog: v0.4.1...v0.5.0
Full Changelog: v0.4.1...v0.5.0
v0.4.1
v0.4.0
DVD Forge v0.3.0
DVD Forge v0.3.0
This release adds a structural safety net before burning, deterministic render
caching, hardware H.264 support, richer MKV/MP4 metadata import and a
reference-grade MPEG-2 path.
Highlights
Pre-burn structural verifier
- New independent, read-only
dvdforge-verifycrate. - UDF 1.02/2.50: AVDP, VRS, PVD, partition map, FSD, root ICB, Tag 266 Extended
File Entries, extent bounds, metadata mirror and optional SHA-256 digest. - BDMV:
index.bdmv, 12-byte MovieObject commands, MPLS/CLPI references,
IN/OUT times, M2TS sync, PAT/PMT, video/audio/IG/PGS PIDs. - DVD-Video: byte-identical
.IFO/.BUPfor VMG and every VTS, PGC/cell
bounds, non-overlapping cells, DVD-9 SPLIP, region mask and VOB presence. - CLI:
dvdforge-cli verify disc.iso [--deep] [--json] [--strict]. - Automatic verification after render and before burn;
Failblocks burning.
Smart Render Cache v2
ArtifactKeyv2 withArtifactKindfor episodes, menu videos, menu overlays
and intros.fp2:full streaming SHA-256 source identity; no size/mtime/edge sampling.- Canonical
inputs_hashcovers trim, fps, scale mode, encoder args, audio,
subtitle contents and menu composition. - SQLite
artifact_cache_v2withkind,inputs_hash,encoder_rev,
toolchain_hash,size_bytesandlast_used_at. CacheLookupdistinguishes Hit, Miss, Stale and Error; cache failures are
diagnostics, not render failures.- LRU pruning and cache statistics APIs.
Hardware H.264 encoding
- Detects and smoke-tests NVENC, QSV, VAAPI, AMF and VideoToolbox with a
one-frame lavfi encode. - Hardware H.264 for AVCHD/Blu-ray; DVD-Video remains on tuned CPU MPEG-2.
- Output checked with
ffprobefor H.264, High profile andyuv420p. - Automatic CPU/libx264 fallback with
W_HW_ENCODER_FALLBACK. - UI: hardware/CPU selector in production, encoder status in Toolchain Doctor.
MKV/MP4 metadata import
- FFprobe chapters, stream titles, audio default/commentary and subtitle
default/forced metadata. - Chapters imported into the active trim range as disc-rate frames,
deduplicated and anchored at 00:00. - Bitmap subtitles (PGS/VobSub/DVB/XSUB) detected and rejected from the
SRT/Spumux pipeline withW_BITMAP_SUBTITLE_UNSUPPORTED.
Reference-grade MPEG-2
- Lanczos scaling and DVD-compliant output.
-mbd rd,-cmp rd,-subcmp rd,-trellis 1pass 1 /-trellis 2pass 2.-intra_dc_precision0/1/2 for 8/9/10-bit DC precision.- Closed GOP (
+cgop) with strict PAL 15 / NTSC 18 GOPs and
-sc_threshold 1000000000because FFmpeg rejects closed GOP with scene-cut
detection. - Job-scoped passlog and
NUL//dev/nullpass-1 sink.
DVD-9 layer break
- Planner computes a 16-sector ECC-aligned layer-break sector.
- Authoring applies the SPLIP/seamless bit to the containing VTS PGC cell.
VTS_01_0.IFOandVTS_01_0.BUPremain byte-identical.- Verifier checks layer-break placement on DVD-9 images.
Verification
cargo fmt --all -- --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspacecargo check --workspace --exclude dvdforge-desktop --target i686-unknown-linux-gnunpm run checknpm run build- Full
vendor/libmkisotest suite. - Render smoke tests: DVD, DVD-9, AVCHD, BD-25, nested HDMV menus, subtitles
and animated menus. - CLI structural verification passes on generated DVD and BD-25 images.
Notes
- Hardware encoder paths are implemented and guarded by driver smoke tests plus
output compliance checks, but physical GPU validation depends on the host. - DVD-9 SPLIP and layer-break placement are structurally validated; physical
dual-layer burning still requires appropriate media and a burner. -sc_threshold -30000is intentionally not used with+cgopbecause FFmpeg
rejects that combination for MPEG-2.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
DVD Forge 0.2.0
This release applies all 75 findings from the DVD Forge audit and moves every application, crate and package version to 0.2.0.
Highlights
- Authoring correctness: DVD chapter mapping, first-only
entry ptt, Play All ordering, button-less menus, AVCHD chapters, and 16:9 subtitle handling. - HDMV / IG: line-safe RLE encoding, 1-based stream IDs, palette cube fixes, self-referencing IG neighbours, no PG-only WDS in IG display sets, single-pass IG compilation, and in-place IG injection.
- ISO / UDF: in-process DVD ISO validation with a UDF AVDP check, no-clobber publication, 32-sector ECC end alignment, larger BD limits, and i686-safe device sizing.
- Rendering performance: embedded subtitles extracted in one FFmpeg demux pass, elementary streams/pass logs removed after mux, concurrent probes, preview/proxy caches, thumbnail concurrency limits, and deferred editor redraws.
- Burning: cancellation during verification, throttled progress IPC, concurrent ISO/disc hashing, hdiutil
-noeject -noverifyburn -forceclose, and safer tray handling. - Desktop / CLI: atomic project saves, project-switch guards, async file/SQLite commands, parallel toolchain doctor, and Ctrl-C cleanup.
The vendored libmkiso remains at upstream 0.1.5; the local hardening patches are documented in vendor/libmkiso/DVDFORGE-PATCH.md.
Full Changelog: v0.15.0...v0.2.0
v0.15.0
v0.1.0
Full Changelog: https://github.com/Nicolasalucin/dvd-forge/commits/v0.1.0