X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-game%2Fsrc%2Fcodecs%2Fvmd.rs;h=9492c62fb6a171f51c390a0ea94b822974a62888;hb=e12dabcd04fc59677660fce8fc9437931d141e93;hp=e05899de67f2e4fe93feadcfa7825538e3021cb3;hpb=b7c882c1ce6f86c07c2340751200e3a060942826;p=nihav.git diff --git a/nihav-game/src/codecs/vmd.rs b/nihav-game/src/codecs/vmd.rs index e05899d..9492c62 100644 --- a/nihav-game/src/codecs/vmd.rs +++ b/nihav-game/src/codecs/vmd.rs @@ -308,10 +308,10 @@ impl NADecoder for VMDVideoDecoder { let paloff = buf.get_offset(1); let data = buf.get_data_mut().unwrap(); for (inrow, outrow) in self.framebuf.chunks(self.width).zip(data.chunks_mut(stride)) { - (&mut outrow[..self.width]).copy_from_slice(inrow); + outrow[..self.width].copy_from_slice(inrow); } if !self.is_24bit { - (&mut data[paloff..][..768]).copy_from_slice(&self.pal); + data[paloff..][..768].copy_from_slice(&self.pal); } videobuf = if !self.is_24bit { NABufferType::Video(buf) } else { NABufferType::VideoPacked(buf) }; } else { @@ -519,8 +519,8 @@ impl NADecoder for VMDAudioDecoder { VMDAudioMode::DPCM => { let mut adata = abuf.get_abuf_i16().unwrap(); let off1 = adata.get_offset(1); - let mut dst = adata.get_data_mut().unwrap(); - self.decode_16bit(&mut dst, off1, &mut br, nblocks, mask)?; + let dst = adata.get_data_mut().unwrap(); + self.decode_16bit(dst, off1, &mut br, nblocks, mask)?; }, VMDAudioMode::U8 => { let mut adata = abuf.get_abuf_u8().unwrap(); @@ -692,6 +692,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::game_register_all_decoders; use crate::game_register_all_demuxers; + // samples from https://samples.mplayerhq.hu/game-formats/sierra-vmd/ and various games #[test] fn test_vmd_video() { let mut dmx_reg = RegisteredDemuxers::new();