}
fn apply_lpc(dst: &mut [i32], src: &[i32], hist: &mut [i32], filt: &[i32; 8]) {
- let mut hidx = 0;
- for (out, src) in dst.iter_mut().zip(src.iter()) {
+ for (hidx, (out, src)) in dst.iter_mut().zip(src.iter()).enumerate() {
let mut sum = *src << 14;
for i in 0..8 {
sum += hist[(hidx + i) & 7] * filt[i];
let samp = sum >> 14;
*out = samp;
hist[hidx & 7] = samp;
- hidx += 1;
}
}
f0[i] = (pfilt[i] + f1 [i]) >> 1;
f2[i] = (f1 [i] + cfilt[i]) >> 1;
}
- apply_lpc(&mut cur_buf[ 0..][..32], &prev_buf[128..], &mut self.lpc_hist, &f0);
+ apply_lpc(&mut cur_buf[ 0..][..32], &prev_buf[128..], &mut self.lpc_hist, &f0);
apply_lpc(&mut cur_buf[32..][..32], &prev_buf[128 + 32..], &mut self.lpc_hist, &f1);
apply_lpc(&mut cur_buf[64..][..32], &prev_buf[128 + 64..], &mut self.lpc_hist, &f2);
- apply_lpc(&mut cur_buf[96..][..32], &prev_buf[128 + 96..], &mut self.lpc_hist, &cfilt);
+ apply_lpc(&mut cur_buf[96..][..32], &prev_buf[128 + 96..], &mut self.lpc_hist, cfilt);
Ok(())
}
fn decode_intra(&mut self, br: &mut ByteReader, val: u16) -> DecoderResult<()> {
let mut dec_reg = RegisteredDecoders::new();
game_register_all_decoders(&mut dec_reg);
+ // sample from some game
test_decoding("vx", "vxvideo", "assets/Game/bioware.vx", Some(31), &dmx_reg, &dec_reg,
ExpectedTestResult::MD5Frames(vec![
[0x33de14fa, 0x00948eb7, 0x028141d7, 0x1d07abd6],