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;
Ok((self.bbuf >> self.bpos) & 0x3)
}
- #[allow(clippy::cyclomatic_complexity)]
+ #[allow(clippy::cognitive_complexity)]
fn decode_cell_data(&mut self, br: &mut ByteReader, cell: IV3Cell,
off: usize, stride: usize, params: CellDecParams, vq_idx: u8) -> DecoderResult<()> {
let blk_w = cell.w * 4 / params.bw;
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;
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;
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],