diff options
author | metamuffin <metamuffin@disroot.org> | 2022-12-06 17:45:26 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-12-06 17:45:26 +0100 |
commit | e3c742ff04a665c70c029f266aa0fe72e12ac72c (patch) | |
tree | e6a262a223d151afd804359e243cc5d0301e732f /evc/src/codec | |
parent | 849c3769fbd38940c9bfa73bcea160848a38d9b6 (diff) | |
download | video-codec-experiments-e3c742ff04a665c70c029f266aa0fe72e12ac72c.tar video-codec-experiments-e3c742ff04a665c70c029f266aa0fe72e12ac72c.tar.bz2 video-codec-experiments-e3c742ff04a665c70c029f266aa0fe72e12ac72c.tar.zst |
vec2 everywhere
Diffstat (limited to 'evc/src/codec')
-rw-r--r-- | evc/src/codec/encode.rs | 16 |
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(); |