X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-realmedia%2Fsrc%2Fcodecs%2Frv60.rs;h=55faf037cac3ddb3b4df466de02e3b34f1fb15aa;hb=3518aa855fa776fa96a0deca1660299611e41e96;hp=d1e7c53dada77d102a882dfa013cf532ae36f270;hpb=78fb6560c73965d834b215fb0b49505ae5443288;p=nihav.git diff --git a/nihav-realmedia/src/codecs/rv60.rs b/nihav-realmedia/src/codecs/rv60.rs index d1e7c53..55faf03 100644 --- a/nihav-realmedia/src/codecs/rv60.rs +++ b/nihav-realmedia/src/codecs/rv60.rs @@ -41,6 +41,7 @@ const RV60_FRAME_TYPES: [FrameType; 4] = [ FrameType::I, FrameType::P, FrameType const MAX_IMODE: u8 = 34; #[derive(Clone,Copy,Debug)] +#[allow(dead_code)] struct FrameHeader { profile: u8, ftype: FrameType, @@ -123,7 +124,7 @@ impl FrameHeader { signs.push(sign); } validate!(signs[0]); - sizes.truncate(0); + sizes.clear(); let mut sum = 0; let first_size = br.read(nbits)? as usize; validate!(first_size > 0); @@ -728,7 +729,7 @@ println!(" left {} bits", br.left()); } Ok(()) } - #[allow(clippy::cyclomatic_complexity)] + #[allow(clippy::cognitive_complexity)] fn decode_cb_tree(&mut self, buf: &mut NASimpleVideoFrame, hdr: &FrameHeader, br: &mut BitReader, xpos: usize, ypos: usize, log_size: u8) -> DecoderResult<()> { if (xpos >= hdr.width) || (ypos >= hdr.height) { return Ok(()); } @@ -1506,7 +1507,7 @@ println!("???"); self.pu_stride = cu_w << 3; self.pu_info.resize(self.pu_stride * (cu_h << 3), PUInfo::default()); self.blk_stride = cu_w << 4; - self.blk_info.truncate(0); + self.blk_info.clear(); self.blk_info.resize(self.blk_stride * (cu_h << 4), BlockInfo::default()); if hdr.deblock { self.dblk.reinit(hdr.width, hdr.height); @@ -1598,6 +1599,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample from a private collection test_decoding("realmedia", "realvideo6", "assets/RV/RV60.rmhd", Some(1000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x2b1f1807, 0x09edef33, 0x0e6c78c1, 0x3b3c8179],