diff options
author | metamuffin <metamuffin@disroot.org> | 2022-12-06 07:47:51 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-12-06 07:47:51 +0100 |
commit | bafb1df8b7764a0a62f1c656eb52fbe7bfd8b8ac (patch) | |
tree | 0e824b9f85ba80ca0082fc8d8ec8bf96bf411823 /evc/src/bin/encode.rs | |
parent | cace782584d19674f70351f462e746d3d589ba90 (diff) | |
download | video-codec-experiments-bafb1df8b7764a0a62f1c656eb52fbe7bfd8b8ac.tar video-codec-experiments-bafb1df8b7764a0a62f1c656eb52fbe7bfd8b8ac.tar.bz2 video-codec-experiments-bafb1df8b7764a0a62f1c656eb52fbe7bfd8b8ac.tar.zst |
decoder
Diffstat (limited to 'evc/src/bin/encode.rs')
-rw-r--r-- | evc/src/bin/encode.rs | 13 |
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), } |