Fix MPEG-2 PS demuxer: codec parsers, sequence header extraction, descramble

- Route DVD PS packets through codec parsers (was bypassing them)
- Extract MPEG-2 sequence header with quantizer matrices for MKV codec_private
- Calculate exact sequence header size from intra/non-intra matrix flags
- Capture sequence extension (B5) from subsequent PES packets
- Revert TAB1 permutation in descramble (XOR-only is correct)
- Fix CSS roundtrip tests for new descramble behavior
This commit is contained in:
MattJackson
2026-04-16 15:06:35 +00:00
parent a1a30bf3c0
commit 3557379991
2 changed files with 59 additions and 16 deletions
+1 -1
View File
@@ -67,7 +67,7 @@ pub fn descramble_sector(title_key: &[u8; 5], sector: &mut [u8]) {
lfsr0 = (lfsr0 >> 8) | ((o_lfsr0 as u32) << 24);
combined += TAB5[o_lfsr1 as usize] as u32 + TAB4[o_lfsr0 as usize] as u32;
*byte = TAB1[*byte as usize] ^ (combined & 0xFF) as u8;
*byte ^= (combined & 0xFF) as u8;
combined >>= 8;
}