From: Kostya Shishkov Date: Mon, 20 Apr 2026 18:04:38 +0000 (+0200) Subject: cinepak: skip unknown empty strip that happens in very old files X-Git-Url: https://git.nihav.org/?a=commitdiff_plain;h=24c775505efeb016ae0746f2b4c0c9ce3097f23c;p=nihav.git cinepak: skip unknown empty strip that happens in very old files --- diff --git a/nihav-commonfmt/src/codecs/cinepak.rs b/nihav-commonfmt/src/codecs/cinepak.rs index 3c52182..ec6305e 100644 --- a/nihav-commonfmt/src/codecs/cinepak.rs +++ b/nihav-commonfmt/src/codecs/cinepak.rs @@ -257,6 +257,9 @@ impl NADecoder for CinepakDecoder { let is_intra = (flags & 1) == 0; let mut mode = DecodeMode::Unknown; + if br.peek_byte()? == 0xFF { + br.read_skip(8)?; + } br.read_skip(1)?; let mut stripsize = br.read_u24be()?; br.read_skip(8)?; @@ -281,6 +284,9 @@ impl NADecoder for CinepakDecoder { } validate!(mode != DecodeMode::Unknown); br.seek(SeekFrom::Start(10))?; + if br.peek_byte()? == 0xFF { + br.read_skip(8)?; + } for sd in pkt.side_data.iter() { match *sd { NASideData::Palette(_, _) => {