diff options
Diffstat (limited to 'lvc/src/diff.rs')
-rw-r--r-- | lvc/src/diff.rs | 19 |
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); |