diff options
Diffstat (limited to 'evc/src/codec/encode.rs')
-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(); |