100% codec coverage + disc/ and aacs/ module refactors

Codec coverage (DVD + BD + UHD):
- E-AC-3 (Dolby Digital Plus): bsid detection, frame size calc — 8 tests
- DTS-HD MA/HR: extension substream (0x64582025) detection — 8 tests
- LPCM: BD header skip, raw PCM extraction — 6 tests
- DVD VobSub subtitles: passthrough parser — 5 tests
- Dolby Vision: verified RPU NAL type 62 preserved in HEVC — 1 test

Module refactors:
- disc.rs → disc/mod.rs + bluray.rs + dvd.rs + encrypt.rs
- aacs/mod.rs (1661 lines) → mod.rs (21) + keydb.rs + keys.rs + decrypt.rs
- All public APIs preserved, all tests pass

270 tests total, 0 failures.
This commit is contained in:
MattJackson
2026-04-11 17:22:18 +00:00
parent fe723a7759
commit 515f2f6bc2
14 changed files with 2414 additions and 2097 deletions
+4 -1
View File
@@ -9,8 +9,10 @@
pub mod ac3;
pub mod dts;
pub mod dvdsub;
pub mod h264;
pub mod hevc;
pub mod lpcm;
pub mod mpeg2;
pub mod pgs;
pub mod truehd;
@@ -86,7 +88,8 @@ pub fn parser_for_codec(codec: Codec) -> Box<dyn CodecParser> {
Codec::DtsHdMa | Codec::DtsHdHr | Codec::Dts => Box::new(dts::DtsParser::new()),
Codec::TrueHd => Box::new(truehd::TrueHdParser::new()),
Codec::Pgs => Box::new(pgs::PgsParser::new()),
Codec::Lpcm => Box::new(PassthroughParser::new(true)),
Codec::Lpcm => Box::new(lpcm::LpcmParser::new()),
Codec::DvdSub => Box::new(dvdsub::DvdSubParser::new()),
_ => Box::new(PassthroughParser::new(true)),
}
}