aboutsummaryrefslogtreecommitdiff
path: root/lvc/src/diff.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lvc/src/diff.rs')
-rw-r--r--lvc/src/diff.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/lvc/src/diff.rs b/lvc/src/diff.rs
index fbb6b0a..4d1a805 100644
--- a/lvc/src/diff.rs
+++ b/lvc/src/diff.rs
@@ -19,6 +19,25 @@ pub fn pixel_diff(p1: Pixel, p2: Pixel) -> u32 {
p1.r.abs_diff(p2.r) as u32 + p1.g.abs_diff(p2.g) as u32 + p1.b.abs_diff(p2.b) as u32
}
+// pub fn diff([frame1, frame2]: [&Frame; 2], view: View, rp: Ref) -> u32 {
+// let mut k = 0;
+// for y in view.a.y..view.b.y {
+// let s1_ystart = (y * frame1.size.x) as usize;
+// let s2_ystart = ((y + rp.pos_off.y) * frame1.size.x + rp.pos_off.x) as usize;
+// let s1 = &frame1.pixels[s1_ystart + view.a.x as usize..s1_ystart + view.b.x as usize];
+// let s2 = &frame2.pixels[s2_ystart + view.a.x as usize..s2_ystart + view.b.x as usize];
+// let s1 = unsafe { std::mem::transmute::<_, &[i16]>(s1) };
+// let s2 = unsafe { std::mem::transmute::<_, &[i16]>(s2) };
+
+// k += s1
+// .iter()
+// .zip(s2.iter())
+// .map(|(a, b)| a.abs_diff(*b) as u32)
+// .sum::<u32>()
+// }
+// k
+// }
+
// pub fn fast_diff([frame1, frame2]: [&Frame; 2], view: View, rp: Ref) -> u32 {
// assert!(view.size().x % 5 == 0);