X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-indeo%2Fsrc%2Fcodecs%2Findeo2.rs;h=a07904effb60d80c943466fc67838d333e08380e;hb=e6aaad5c5273cd814b5748b7faf3751835a37217;hp=14d3c0ae8a45329e299f6a32c7294bc80446b73a;hpb=ce742854b2912b880fb3d3e330042b049dac8504;p=nihav.git diff --git a/nihav-indeo/src/codecs/indeo2.rs b/nihav-indeo/src/codecs/indeo2.rs index 14d3c0a..a07904e 100644 --- a/nihav-indeo/src/codecs/indeo2.rs +++ b/nihav-indeo/src/codecs/indeo2.rs @@ -187,7 +187,7 @@ impl CodebookDescReader for IR2CodeReader { struct Indeo2Decoder { info: NACodecInfoRef, cb: Codebook, - frmmgr: HAMShuffler, + frmmgr: HAMShuffler, } impl Indeo2Decoder { @@ -223,8 +223,8 @@ impl Indeo2Decoder { } x += run; } else { - framebuf[base + x + 0] = table[(idx * 2 + 0) as usize]; - framebuf[base + x + 1] = table[(idx * 2 + 1) as usize]; + framebuf[base + x + 0] = table[idx * 2]; + framebuf[base + x + 1] = table[idx * 2 + 1]; x += 2; } } @@ -365,6 +365,12 @@ impl NADecoder for Indeo2Decoder { } } +impl NAOptionHandler for Indeo2Decoder { + 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(Indeo2Decoder::new()) } @@ -374,15 +380,16 @@ mod test { use nihav_core::codecs::RegisteredDecoders; use nihav_core::demuxers::RegisteredDemuxers; use nihav_codec_support::test::dec_video::*; - use crate::indeo_register_all_codecs; + use crate::indeo_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; #[test] fn test_indeo2() { let mut dmx_reg = RegisteredDemuxers::new(); generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); - indeo_register_all_codecs(&mut dec_reg); + indeo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/RT21/320x240/laser05.avi test_decoding("avi", "indeo2", "assets/Indeo/laser05.avi", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x55f509ad, 0x62fb52d5, 0x6e9a86b2, 0x3910ce74],