let mx = self.cur_mv.x as isize;
let my = self.cur_mv.y as isize;
mc!(self.buf, src, dst, mx, my, xpos, ypos, w, h, 0, 0, 0, self.width, self.height);
-
+
Ok(())
}
fn do_mc_bias(&mut self, br: &mut BitReader, xpos: usize, ypos: usize, w: usize, h: usize) -> DecoderResult<()> {
let udelta = br.read_gammap_s()? * 2;
let vdelta = br.read_gammap_s()? * 2;
mc!(self.buf, src, dst, mx, my, xpos, ypos, w, h, ydelta, udelta, vdelta, self.width, self.height);
-
+
Ok(())
}
fn pred_plane(&mut self, br: &mut BitReader, xpos: usize, ypos: usize, w: usize, h: usize) -> DecoderResult<()> {
}
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;
}
}