X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-vivo%2Fsrc%2Fcodecs%2Fvivo.rs;h=9963cc4fcbe4861302b2a081df7951fbbcf89935;hp=807814d1f1517430afd2587b6010bcebc39075ac;hb=78fb6560c73965d834b215fb0b49505ae5443288;hpb=31cf33aceca7798294e1ce5c01702ef5e6ef7adc diff --git a/nihav-vivo/src/codecs/vivo.rs b/nihav-vivo/src/codecs/vivo.rs index 807814d..9963cc4 100644 --- a/nihav-vivo/src/codecs/vivo.rs +++ b/nihav-vivo/src/codecs/vivo.rs @@ -79,7 +79,7 @@ impl<'a> VivoBR<'a> { }; let rl_cb = if self.aic && intra { &self.tables.aic_rl_cb } else { &self.tables.rl_cb }; - let q = if plane_no == 0 { (quant * 2) as i16 } else { (H263_CHROMA_QUANT[quant as usize] * 2) as i16 }; + let q = if plane_no == 0 { i16::from(quant * 2) } else { i16::from(H263_CHROMA_QUANT[quant as usize] * 2) }; let q_add = if q == 0 || self.aic { 0i16 } else { (((q >> 1) - 1) | 1) as i16 }; while idx < 64 { let code = br.read_cb(rl_cb)?; @@ -168,6 +168,7 @@ fn decode_b_info(br: &mut BitReader, is_pb: bool, is_ipb: bool, is_intra: bool) impl<'a> BlockDecoder for VivoBR<'a> { #[allow(unused_variables)] +#[allow(clippy::unreadable_literal)] fn decode_pichdr(&mut self) -> DecoderResult { let br = &mut self.br; let syncw = br.read(22)?; @@ -475,6 +476,12 @@ impl NADecoder for VivoDecoder { } } +impl NAOptionHandler for VivoDecoder { + 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() -> Box { Box::new(VivoDecoder::new()) @@ -485,14 +492,14 @@ mod test { use nihav_core::codecs::RegisteredDecoders; use nihav_core::demuxers::RegisteredDemuxers; use nihav_codec_support::test::dec_video::*; - use crate::vivo_register_all_codecs; + use crate::vivo_register_all_decoders; use crate::vivo_register_all_demuxers; #[test] fn test_vivo1() { let mut dmx_reg = RegisteredDemuxers::new(); vivo_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); - vivo_register_all_codecs(&mut dec_reg); + vivo_register_all_decoders(&mut dec_reg); test_file_decoding("vivo", "assets/Misc/gr_al.viv", Some(16), true, false, Some("viv1"), &dmx_reg, &dec_reg); // test_decoding("vivo", "vivo1", "assets/Misc/gr_al.viv", Some(16), @@ -503,7 +510,7 @@ test_file_decoding("vivo", "assets/Misc/gr_al.viv", Some(16), true, false, Some( let mut dmx_reg = RegisteredDemuxers::new(); vivo_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); - vivo_register_all_codecs(&mut dec_reg); + vivo_register_all_decoders(&mut dec_reg); test_file_decoding("vivo", "assets/Misc/02-KimagureOrangeRoad.viv", Some(50), true, false, Some("viv2"), &dmx_reg, &dec_reg); panic!("end");