aboutsummaryrefslogtreecommitdiff
path: root/evc/src/bin/encode.rs
diff options
context:
space:
mode:
Diffstat (limited to 'evc/src/bin/encode.rs')
-rw-r--r--evc/src/bin/encode.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/evc/src/bin/encode.rs b/evc/src/bin/encode.rs
index 04b7c42..c426aba 100644
--- a/evc/src/bin/encode.rs
+++ b/evc/src/bin/encode.rs
@@ -2,6 +2,7 @@ use clap::Parser;
use evc::{
block::{Block, BlockInner},
frame::Frame,
+ header::Header,
ser::Sink,
view::View,
};
@@ -23,6 +24,10 @@ fn main() -> io::Result<()> {
let mut output = BufWriter::new(std::io::stdout());
let size = (args.width, args.height);
+ output.put(Header {
+ resolution: size,
+ frame_count: 0,
+ })?;
let mut prev_frame = Frame::new(size);
for i in 0.. {
@@ -41,10 +46,10 @@ fn main() -> io::Result<()> {
Ok(())
}
-fn encode_block(view: View, prev: View) -> Block {
- let diff = View::diff(&view, &prev);
-
- let inner = if diff < 10_000.0 {
+fn encode_block(view: View<&Frame>, prev: View<&Frame>) -> Block {
+ let diff = View::diff(&view, &prev) / view.area() as f64;
+ eprintln!("{:?} {diff}", view.size);
+ let inner = if diff < 0.5 {
BlockInner::Reference {
translation: (0, 0),
}