X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-indeo%2Fsrc%2Fcodecs%2Findeo3.rs;h=bdf8e7b961881bbcdd0a2a5e76d97b83c1735a20;hb=7f839ae7ac1eef6718bf508648ef9f287cc793bd;hp=4048385a50df2e45febce3ee0ac08f58757e11f6;hpb=b7c882c1ce6f86c07c2340751200e3a060942826;p=nihav.git diff --git a/nihav-indeo/src/codecs/indeo3.rs b/nihav-indeo/src/codecs/indeo3.rs index 4048385..bdf8e7b 100644 --- a/nihav-indeo/src/codecs/indeo3.rs +++ b/nihav-indeo/src/codecs/indeo3.rs @@ -31,8 +31,8 @@ impl Buffers { fn reset(&mut self) { self.width = 0; self.height = 0; - self.sbuf.truncate(0); - self.dbuf.truncate(0); + self.sbuf.clear(); + self.dbuf.clear(); } fn alloc(&mut self, w: usize, h: usize) { self.width = w; @@ -635,7 +635,7 @@ impl Indeo3Decoder { let nvec = br.read_u32le()?; validate!(nvec == 0); // for intra there should be no mc_vecs - self.mvs.truncate(0); + self.mvs.clear(); for _ in 0..nvec { let x = br.read_byte()? as i8; let y = br.read_byte()? as i8; @@ -662,7 +662,7 @@ impl Indeo3Decoder { let nvec = br.read_u32le()?; validate!(nvec <= 256); // for intra there should be no mc_vecs - self.mvs.truncate(0); + self.mvs.clear(); for _ in 0..nvec { let y = br.read_byte()? as i8; let x = br.read_byte()? as i8; @@ -817,6 +817,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); indeo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/IV32/iv32_example.avi test_decoding("avi", "indeo3", "assets/Indeo/iv32_example.avi", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x90be698e, 0x326db071, 0x08e8c6a5, 0x39349acc],