aboutsummaryrefslogtreecommitdiff
path: root/evc/src/codec/encode.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-12-06 17:45:26 +0100
committermetamuffin <metamuffin@disroot.org>2022-12-06 17:45:26 +0100
commite3c742ff04a665c70c029f266aa0fe72e12ac72c (patch)
treee6a262a223d151afd804359e243cc5d0301e732f /evc/src/codec/encode.rs
parent849c3769fbd38940c9bfa73bcea160848a38d9b6 (diff)
downloadvideo-codec-experiments-e3c742ff04a665c70c029f266aa0fe72e12ac72c.tar
video-codec-experiments-e3c742ff04a665c70c029f266aa0fe72e12ac72c.tar.bz2
video-codec-experiments-e3c742ff04a665c70c029f266aa0fe72e12ac72c.tar.zst
vec2 everywhere
Diffstat (limited to 'evc/src/codec/encode.rs')
-rw-r--r--evc/src/codec/encode.rs16
1 files changed, 12 insertions, 4 deletions
diff --git a/evc/src/codec/encode.rs b/evc/src/codec/encode.rs
index 43a2783..7256265 100644
--- a/evc/src/codec/encode.rs
+++ b/evc/src/codec/encode.rs
@@ -1,14 +1,22 @@
-use crate::{block::Block, frame::Frame, view::View};
+use crate::{block::Block, frame::Frame, view::View, vec2::Vec2};
pub fn encode_block(view: View<&Frame>, prev: View<&Frame>) -> Block {
+ // let mut best_diff = f64::INFINITY;
+ // for x in [-32, -16, -8, -4, -2, -1, 0, 1, 2, 4, 8, 16, 32] {
+ // for y in [-32, -16, -8, -4, -2, -1, 0, 1, 2, 4, 8, 16, 32] {
+ // let diff = View::diff(&view, &prev) / view.area() as f64;
+ // if diff < best_diff {
+ // }
+ // }
+ // }
let diff = View::diff(&view, &prev) / view.area() as f64;
- // eprintln!("{:?} {diff}", view.size);
+ // if best_diff < 0.9 {
if diff < 0.9 {
Block::Reference {
- translation: (0, 0),
+ translation: Vec2::ZERO,
}
} else {
- if view.size.0 < 16 {
+ if view.size.x < 16 {
Block::Literal(view.pixels())
} else {
let [av, bv] = view.split();