From 9a064fb7b48df214677f4518de1ebddb475cb115 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 15 Nov 2023 20:39:02 +0100 Subject: huff --- difftree/src/main.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'difftree/src/main.rs') diff --git a/difftree/src/main.rs b/difftree/src/main.rs index 36faa44..24b7aad 100644 --- a/difftree/src/main.rs +++ b/difftree/src/main.rs @@ -1,4 +1,5 @@ use framework::{ + common::huffman::encode_huff, vector::{UVec2, Vec2}, Frame, Framework, Pixel, }; @@ -29,6 +30,7 @@ fn main() { framework.decode_done(&oframe) } + framework.encode_done(&encode_huff(&out)); out.clear(); } } @@ -90,6 +92,7 @@ pub fn encode(a: &Frame, b: &Frame, area: Area) -> DiffTree { } else { let (aa, ba) = area.split(); let (at, bt) = join(|| encode(a, b, aa), || encode(a, b, ba)); + // let (at, bt) = (encode(a, b, aa), encode(a, b, ba)); match (&at, &bt) { (DiffTree::Diff(ad), DiffTree::Diff(bd)) => { @@ -98,7 +101,7 @@ pub fn encode(a: &Frame, b: &Frame, area: Area) -> DiffTree { let d_b = ad.b.abs_diff(bd.b); let visdiff = (d_r as usize + d_g as usize + d_b as usize) * aa.area(); - if visdiff < 100 { + if visdiff < 1000 { return DiffTree::Diff(Pixel { r: ((ad.r as i16 + bd.r as i16) / 2) as i8, g: ((ad.g as i16 + bd.g as i16) / 2) as i8, -- cgit v1.2.3-70-g09d2