diff options
Diffstat (limited to 'evc/src')
-rw-r--r-- | evc/src/bin/decode.rs | 1 | ||||
-rw-r--r-- | evc/src/bin/encode.rs | 6 | ||||
-rw-r--r-- | evc/src/codec/encode.rs | 8 |
3 files changed, 12 insertions, 3 deletions
diff --git a/evc/src/bin/decode.rs b/evc/src/bin/decode.rs index 7b44ede..5cbd29e 100644 --- a/evc/src/bin/decode.rs +++ b/evc/src/bin/decode.rs @@ -32,6 +32,7 @@ fn main() -> anyhow::Result<()> { let mut prev = Frame::new(size); for i in 0.. { info!("decode frame {i}"); + let block = Block::read(&mut input, size).context("reading encoded frame")?; let mut frame = Frame::new(size); diff --git a/evc/src/bin/encode.rs b/evc/src/bin/encode.rs index 20da7b6..6f3f0a7 100644 --- a/evc/src/bin/encode.rs +++ b/evc/src/bin/encode.rs @@ -26,7 +26,7 @@ pub struct EncodeArgs { #[arg(short, long, default_value = "8")] jobs: usize, - #[arg(short = 't', long, default_value = "1.5")] + #[arg(short = 't', long, default_value = "100")] ref_thres: f64, #[arg(short = 'T', long)] no_translation: bool, @@ -40,8 +40,8 @@ fn main() -> anyhow::Result<()> { let mut output = BufWriter::new(std::io::stdout()); let config = EncodeConfig { - mode: evc::codec::encode::EncodeMode::Advanced, - ref_thres: 500.0, + mode: args.mode, + ref_thres: args.ref_thres, max_diff_area: 10_000, min_block_size: 8, max_threads: args.jobs, diff --git a/evc/src/codec/encode.rs b/evc/src/codec/encode.rs index 484ae4b..c9a1172 100644 --- a/evc/src/codec/encode.rs +++ b/evc/src/codec/encode.rs @@ -86,10 +86,18 @@ pub fn encode_block(view: View<&Frame>, prev: View<&Frame>, config: &EncodeConfi } let (mut d, mut p) = (diff, params.clone()); + pk(&view, &prev, &mut d, &mut p, |p| p.translation.x += 4); + pk(&view, &prev, &mut d, &mut p, |p| p.translation.x -= 4); + pk(&view, &prev, &mut d, &mut p, |p| p.translation.y += 4); + pk(&view, &prev, &mut d, &mut p, |p| p.translation.y -= 4); pk(&view, &prev, &mut d, &mut p, |p| p.translation.x += 2); pk(&view, &prev, &mut d, &mut p, |p| p.translation.x -= 2); pk(&view, &prev, &mut d, &mut p, |p| p.translation.y += 2); pk(&view, &prev, &mut d, &mut p, |p| p.translation.y -= 2); + pk(&view, &prev, &mut d, &mut p, |p| p.translation.x += 1); + pk(&view, &prev, &mut d, &mut p, |p| p.translation.x -= 1); + pk(&view, &prev, &mut d, &mut p, |p| p.translation.y += 1); + pk(&view, &prev, &mut d, &mut p, |p| p.translation.y -= 1); pk(&view, &prev, &mut d, &mut p, |p| p.transform.a -= 1); pk(&view, &prev, &mut d, &mut p, |p| p.transform.a += 1); pk(&view, &prev, &mut d, &mut p, |p| p.transform.b -= 1); |