#[derive(Default)]
struct MidividDecoder {
info: NACodecInfoRef,
- hams: HAMShuffler,
+ hams: HAMShuffler<u8>,
lzbuf: Vec<u8>,
width: usize,
height: usize,
let size = read_u32le(&src[0..])? as usize;
validate!(size + 8 == src.len());
- let data_ptr;
validate!(src.len() > 12);
- if read_u32le(&src[8..])? == 0 {
- lz_decompress(&src[12..], self.lzbuf.as_mut_slice())?;
- data_ptr = self.lzbuf.as_slice();
- } else {
- data_ptr = &src[12..];
- }
+ let data_ptr = if read_u32le(&src[8..])? == 0 {
+ lz_decompress(&src[12..], self.lzbuf.as_mut_slice())?;
+ self.lzbuf.as_slice()
+ } else {
+ &src[12..]
+ };
let mut buf;
let bufret = self.hams.clone_ref();
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);
+ // sample: https://samples.mplayerhq.hu/V-codecs/MVDV.avi
test_decoding("avi", "midivid", "assets/Game/MVDV.avi", Some(16), &dmx_reg, &dec_reg,
ExpectedTestResult::MD5Frames(vec![
[0x383e1995, 0x32bf000d, 0x2067aa2e, 0x54425bd4],