- let delta0 = (table[idx * 2 + 0] as i16) - 0x80;
- let delta1 = (table[idx * 2 + 1] as i16) - 0x80;
- let mut pix0 = framebuf[base + x + 0] as i16;
- let mut pix1 = framebuf[base + x + 1] as i16;
- pix0 += delta0 * 3 >> 2;
- pix1 += delta1 * 3 >> 2;
+ let delta0 = i16::from(table[idx * 2 + 0]) - 0x80;
+ let delta1 = i16::from(table[idx * 2 + 1]) - 0x80;
+ let mut pix0 = i16::from(framebuf[base + x + 0]);
+ let mut pix1 = i16::from(framebuf[base + x + 1]);
+ pix0 += (delta0 * 3) >> 2;
+ pix1 += (delta1 * 3) >> 2;