aboutsummaryrefslogtreecommitdiff
path: root/difftree/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-11-15 20:39:02 +0100
committermetamuffin <metamuffin@disroot.org>2023-11-15 20:39:02 +0100
commit9a064fb7b48df214677f4518de1ebddb475cb115 (patch)
tree1ab37fb3cc802e61c397df21bd57bbdcbe7e77d0 /difftree/src
parent9e1a836f663c03e462fbf1bcff444a20aaf56eaf (diff)
downloadvideo-codec-experiments-9a064fb7b48df214677f4518de1ebddb475cb115.tar
video-codec-experiments-9a064fb7b48df214677f4518de1ebddb475cb115.tar.bz2
video-codec-experiments-9a064fb7b48df214677f4518de1ebddb475cb115.tar.zst
huff
Diffstat (limited to 'difftree/src')
-rw-r--r--difftree/src/main.rs5
1 files changed, 4 insertions, 1 deletions
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,