X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-game%2Fsrc%2Fcodecs%2Fmidivid.rs;h=ac91fde5dacfa7e9177f53e101716fa9a7059ef5;hp=1234426e4921312b38f57bcfdd992ef9351d6234;hb=78fb6560c73965d834b215fb0b49505ae5443288;hpb=bb07b6858762ea5ce0beab02d2b871726b3ba6a4 diff --git a/nihav-game/src/codecs/midivid.rs b/nihav-game/src/codecs/midivid.rs index 1234426..ac91fde 100644 --- a/nihav-game/src/codecs/midivid.rs +++ b/nihav-game/src/codecs/midivid.rs @@ -5,7 +5,7 @@ use nihav_codec_support::codecs::HAMShuffler; #[derive(Default)] struct MidividDecoder { info: NACodecInfoRef, - hams: HAMShuffler, + hams: HAMShuffler, lzbuf: Vec, width: usize, height: usize, @@ -22,10 +22,10 @@ fn lz_decompress(src: &[u8], dst: &mut [u8]) -> DecoderResult<()> { let mut dpos = 0; let end = src.len(); while spos < end { - let oplo = src[spos] as u16; + let oplo = u16::from(src[spos]); spos += 1; if spos >= end { return Err(DecoderError::ShortData); } - let ophi = src[spos] as u16; + let ophi = u16::from(src[spos]); spos += 1; let mut op = (ophi << 8) | oplo; for _ in 0..16 { @@ -58,6 +58,7 @@ fn lz_decompress(src: &[u8], dst: &mut [u8]) -> DecoderResult<()> { Ok(()) } +#[allow(clippy::identity_op)] fn decode_frame(frm: &mut NASimpleVideoFrame, src: &[u8], width: usize, height: usize) -> DecoderResult { validate!(src.len() > 8); let num_vec = read_u16le(&src[0..])? as usize; @@ -175,6 +176,12 @@ impl NADecoder for MidividDecoder { } } +impl NAOptionHandler for MidividDecoder { + fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] } + fn set_options(&mut self, _options: &[NAOption]) { } + fn query_option_value(&self, _name: &str) -> Option { None } +} + pub fn get_decoder_video() -> Box { Box::new(MidividDecoder::new()) @@ -185,14 +192,14 @@ mod test { use nihav_core::codecs::RegisteredDecoders; use nihav_core::demuxers::RegisteredDemuxers; use nihav_codec_support::test::dec_video::*; - use crate::game_register_all_codecs; + use crate::game_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; #[test] fn test_midivid_video() { let mut dmx_reg = RegisteredDemuxers::new(); generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); - game_register_all_codecs(&mut dec_reg); + game_register_all_decoders(&mut dec_reg); test_decoding("avi", "midivid", "assets/Game/MVDV.avi", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![