if delta == 0 {
continue;
}
- let delta = delta.abs() as u8;
+ let delta = delta.unsigned_abs();
self.add_delta(delta);
}
}
if delta == 0 {
continue;
}
- let delta = delta.abs() as u8;
+ let delta = delta.unsigned_abs();
self.add_delta(delta);
}
}
buf: [0; MAX_CELL_SIZE + 160],
rbuf: [0; MAX_CELL_SIZE + 160],
deltas: [0; MAX_CELL_SIZE],
- cell: Indeo3Cell::new(0, 0, false),
+ cell: Indeo3Cell::new(0, 0),
out: [0; MAX_CELL_SIZE / 2 + 1],
osize: 0,
fn determine_mode(&self, intra: bool, mut mode_hint: u8) -> (u8, [u8; 2]) {
if let Some(qmode) = self.quant {
if intra {
- return (mode_hint, [qmode as u8, qmode as u8]);
+ return (mode_hint, [qmode, qmode]);
} else {
- let qmode = (qmode & 7) as u8;
+ let qmode = qmode & 7;
return (mode_hint, [qmode, qmode]);
}
}
}
}
self.out[0] = (mode << 4) | (idx as u8);
-
- if idx >= 8 {
- requant_idx = Some(idx - 8);
- }
} else {
self.out[0] = (mode << 4) | (cb_no1 as u8);
requant_idx = Some(cb_no1 - 8);
}
}
- if self.cell.get_y() == 0 {
+ if self.cell.get_y() == 0 || !matches!(mode, 0 | 3 | 10) {
requant_idx = None;
}
let (prev, cur) = cell4.split_at_mut(pivot);
let prev = &prev[prev.len() - 4..];
let cur = &mut cur[..4];
- let (idx0, idx1) = find_quad(&cb.data, prev, cur);
+ let (idx0, idx1) = find_quad(cb.data, prev, cur);
cur[0] = ((prev[0] as i8) + cb.data[usize::from(idx1) * 2]) as u8;
cur[1] = ((prev[1] as i8) + cb.data[usize::from(idx1) * 2 + 1]) as u8;
let cb = cbs[y];
let esc_val = esc_vals[y];
- let (idx0, idx1) = find_quad(&cb.data, prev, cur);
+ let (idx0, idx1) = find_quad(cb.data, prev, cur);
cur[0] = ((prev[0] as i8) + cb.data[usize::from(idx1) * 2]) as u8;
cur[1] = ((prev[1] as i8) + cb.data[usize::from(idx1) * 2 + 1]) as u8;
}
fn pair_dist(src: &[i8], pair: &[i8]) -> u32 {
- let d0 = (i32::from(src[0]) - i32::from(pair[0])).abs() as u32;
- let d1 = (i32::from(src[1]) - i32::from(pair[1])).abs() as u32;
+ let d0 = (i32::from(src[0]) - i32::from(pair[0])).unsigned_abs();
+ let d1 = (i32::from(src[1]) - i32::from(pair[1])).unsigned_abs();
d0 * d0 + d1 * d1
}