X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-indeo%2Fsrc%2Fcodecs%2Findeo5.rs;h=0115b2a0bb601d72550482dbefa23997b3d4a63c;hb=6f2630992fe340ad1a122ec10c649f756e478185;hp=5eedd14ecd84ca49a0303f75aac7c454b99ec2ff;hpb=5a6dec5fd53a92cc8696655084f986a69dc6a230;p=nihav.git diff --git a/nihav-indeo/src/codecs/indeo5.rs b/nihav-indeo/src/codecs/indeo5.rs index 5eedd14..0115b2a 100644 --- a/nihav-indeo/src/codecs/indeo5.rs +++ b/nihav-indeo/src/codecs/indeo5.rs @@ -265,7 +265,7 @@ impl IndeoXParser for Indeo5Parser { Ok(BandHeader::new(plane_no, band_no, self.mb_size[band_id], self.blk_size[band_id], self.is_hpel[band_id], inherit_mv, has_qdelta, inherit_qd, band_q, rvmap_idx, num_corr, corr_map, blk_cb, tr, txtype)) } - #[allow(clippy::cyclomatic_complexity)] + #[allow(clippy::cognitive_complexity)] fn decode_mb_info(&mut self, br: &mut BitReader, pic_hdr: &PictureHeader, band: &BandHeader, tile: &mut IVITile, ref_tile: Option<&IVITile>, mv_scale: u8) -> DecoderResult<()> { let mut mv_x = 0; let mut mv_y = 0; @@ -278,7 +278,7 @@ impl IndeoXParser for Indeo5Parser { if pic_hdr.ftype.is_intra() { mb.mtype = MBType::Intra; } else if band.inherit_mv { - if let Some(ref tileref) = ref_tile { + if let Some(tileref) = ref_tile { mb.mtype = tileref.mb[mb_idx].mtype; } else { return Err(DecoderError::MissingReference); @@ -294,7 +294,7 @@ impl IndeoXParser for Indeo5Parser { let q; if band.has_qdelta { if band.inherit_qd { - if let Some(ref tileref) = ref_tile { + if let Some(tileref) = ref_tile { mb.qd = tileref.mb[mb_idx].qd; q = calc_quant(band.quant, mb.qd); } else { @@ -326,7 +326,7 @@ impl IndeoXParser for Indeo5Parser { if mb.mtype != MBType::Intra { if band.inherit_mv { - if let Some(ref tileref) = ref_tile { + if let Some(tileref) = ref_tile { let mx = tileref.mb[mb_idx].mv_x; let my = tileref.mb[mb_idx].mv_y; if mv_scale == 0 { @@ -367,7 +367,7 @@ impl IndeoXParser for Indeo5Parser { } } if band.inherit_mv { - if let Some(ref tileref) = ref_tile { + if let Some(tileref) = ref_tile { let mx = tileref.mb[mb_idx].mv_x; let my = tileref.mb[mb_idx].mv_y; if mv_scale == 0 { @@ -731,15 +731,16 @@ mod test { use nihav_core::codecs::RegisteredDecoders; use nihav_core::demuxers::RegisteredDemuxers; use nihav_codec_support::test::dec_video::*; - use crate::indeo_register_all_codecs; + use crate::indeo_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; #[test] fn test_indeo5() { let mut dmx_reg = RegisteredDemuxers::new(); generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); - indeo_register_all_codecs(&mut dec_reg); + indeo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/IV50/sample.avi test_decoding("avi", "indeo5", "assets/Indeo/IV5/sample.avi", Some(100), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xd73ef6e2, 0x099dc18f, 0x46450af9, 0x1b390a48],