aboutsummaryrefslogtreecommitdiff
path: root/evc/src/bin
diff options
context:
space:
mode:
Diffstat (limited to 'evc/src/bin')
-rw-r--r--evc/src/bin/encode.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/evc/src/bin/encode.rs b/evc/src/bin/encode.rs
index 05ebd24..d6029aa 100644
--- a/evc/src/bin/encode.rs
+++ b/evc/src/bin/encode.rs
@@ -1,7 +1,10 @@
use anyhow::Context;
use clap::Parser;
use evc::{
- codec::{decode::decode_block, encode::encode_block},
+ codec::{
+ decode::decode_block,
+ encode::{encode_block, EncodeConfig},
+ },
frame::Frame,
header::Header,
ser::Sink,
@@ -17,6 +20,11 @@ pub struct EncodeArgs {
width: usize,
#[arg(short = 'H', long)]
height: usize,
+
+ #[arg(short = 't', long, default_value = "0.9")]
+ ref_thres: f64,
+ #[arg(short = 'T', long)]
+ no_translation: bool,
}
fn main() -> anyhow::Result<()> {
@@ -26,6 +34,11 @@ fn main() -> anyhow::Result<()> {
let mut input = BufReader::new(std::io::stdin());
let mut output = BufWriter::new(std::io::stdout());
+ let config = EncodeConfig {
+ translate: !args.no_translation,
+ ref_thres: args.ref_thres,
+ };
+
let size = Vec2 {
x: args.width as isize,
y: args.height as isize,
@@ -47,7 +60,7 @@ fn main() -> anyhow::Result<()> {
let v1 = frame.view();
let v2 = prev_frame.view();
- let root = encode_block(v1, v2);
+ let root = encode_block(v1, v2, &config);
root.write(&mut output).context("writing encoded frame")?;
decode_block(&root, frame.view_mut(), prev_frame.view());