From 755325d6c8faa897ee686452831cb544d6c72d75 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 7 Mar 2023 21:52:04 +0100 Subject: more magic --- lvc/src/diff.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'lvc/src/diff.rs') diff --git a/lvc/src/diff.rs b/lvc/src/diff.rs index 354f146..fbb6b0a 100644 --- a/lvc/src/diff.rs +++ b/lvc/src/diff.rs @@ -1,4 +1,4 @@ -use crate::{Frame, Ref, View, P2}; +use crate::{Frame, Pixel, Ref, View, P2}; // 4ms pub fn diff([frame1, frame2]: [&Frame; 2], view: View, rp: Ref) -> u32 { @@ -8,14 +8,17 @@ pub fn diff([frame1, frame2]: [&Frame; 2], view: View, rp: Ref) -> u32 { let pos = P2 { x, y }; let p1 = frame1[pos + rp.pos_off] + rp.color_off; let p2 = frame2[pos]; - k += p1.r.abs_diff(p2.r) as u32 - + p1.g.abs_diff(p2.g) as u32 - + p1.b.abs_diff(p2.b) as u32; + k += pixel_diff(p1, p2) } } k } +#[inline(always)] +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 fast_diff([frame1, frame2]: [&Frame; 2], view: View, rp: Ref) -> u32 { // assert!(view.size().x % 5 == 0); -- cgit v1.2.3-70-g09d2