X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Ftruemotion1.rs;h=717a32baced9aa414cf58f727f49ab584fd49354;hb=f2cb96fffae1872d6570152983ab52b78623461a;hp=9f5546f71733672e2f70c4a648aa567046548d85;hpb=379524159c95f1c3639976ccf35f9d47cd9732ac;p=nihav.git diff --git a/nihav-duck/src/codecs/truemotion1.rs b/nihav-duck/src/codecs/truemotion1.rs index 9f5546f..717a32b 100644 --- a/nihav-duck/src/codecs/truemotion1.rs +++ b/nihav-duck/src/codecs/truemotion1.rs @@ -128,6 +128,7 @@ impl Default for DeltaTables { } } +#[derive(Default)] struct FrameBuf { last16: Option>, last24: Option>, @@ -160,12 +161,6 @@ impl FrameBuf { } } -impl Default for FrameBuf { - fn default() -> Self { - Self { last16: None, last24: None } - } -} - #[derive(Default)] struct TM1Decoder { info: NACodecInfoRef, @@ -616,8 +611,8 @@ impl NADecoder for TM1Decoder { self.blk_w = compr_info.block_w; self.blk_h = compr_info.block_h; - let mut mask = MaskState::new(is_intra && !is_sprite, &mask_bits, mask_row_size); - let mut index = IndexState::new(&index_bytes); + let mut mask = MaskState::new(is_intra && !is_sprite, mask_bits, mask_row_size); + let mut index = IndexState::new(index_bytes); let bufinfo; if !is_24bit { if let Some(mut buf) = self.lastframe.get16() { @@ -683,6 +678,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/DUCK/phant2-940.duk test_decoding("avi", "truemotion1", "assets/Duck/phant2-940.duk", Some(12), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x989e62b8, 0x5d85c23c, 0x1cffba6d, 0xe599f1c4],