X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-game%2Fsrc%2Fcodecs%2Fbmv3.rs;h=525273dd7f15d87459335251d8f31d7e6b9b8ec0;hp=0140c8c4498d31371018b46a853bb7faec336011;hb=HEAD;hpb=78fb6560c73965d834b215fb0b49505ae5443288 diff --git a/nihav-game/src/codecs/bmv3.rs b/nihav-game/src/codecs/bmv3.rs index 0140c8c..6d4149f 100644 --- a/nihav-game/src/codecs/bmv3.rs +++ b/nihav-game/src/codecs/bmv3.rs @@ -90,9 +90,9 @@ impl BMV3VideoDecoder { *el = i as u16; } let mut pixbuf = [[0u16; 256]; 7]; - for i in 0..7 { - for j in 0..256 { - pixbuf[i][j] = ((i << 8) + j + 0xF8) as u16; + for (i, row) in pixbuf.iter_mut().enumerate() { + for (j, el) in row.iter_mut().enumerate() { + *el = ((i << 8) + j + 0xF8) as u16; } } @@ -468,12 +468,11 @@ impl NADecoder for BMV3VideoDecoder { if (flags & BMV_PAL) != 0 { return Err(DecoderError::InvalidData); } - let off; - if ((flags & 1) == 0) && ((flags & BMV_SCROLL) != 0) { - off = br.read_u16le()? as usize; - } else { - off = 0; - } + let off = if ((flags & 1) == 0) && ((flags & BMV_SCROLL) != 0) { + br.read_u16le()? as usize + } else { + 0 + }; self.pos = off + self.stride; self.is_intra = (flags & BMV_INTRA) == BMV_INTRA; @@ -620,6 +619,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::game_register_all_decoders; use crate::game_register_all_demuxers; + // sample: https://samples.mplayerhq.hu/game-formats/bmv/DW3-Loffnote.bmv #[test] fn test_bmv_video() { let mut dmx_reg = RegisteredDemuxers::new();