aboutsummaryrefslogtreecommitdiff
path: root/evc/src/bin/decode.rs
diff options
context:
space:
mode:
Diffstat (limited to 'evc/src/bin/decode.rs')
-rw-r--r--evc/src/bin/decode.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/evc/src/bin/decode.rs b/evc/src/bin/decode.rs
index 5cbd29e..c2b3b4d 100644
--- a/evc/src/bin/decode.rs
+++ b/evc/src/bin/decode.rs
@@ -3,7 +3,7 @@ use anyhow::Context;
use clap::Parser;
use evc::{
block::Block,
- codec::decode::decode_block,
+ codec::decode::{decode_block, DecodeConfig},
debug::draw_debug,
format::{header::Header, ser::Source},
frame::Frame,
@@ -16,6 +16,9 @@ use std::io::{BufReader, BufWriter};
pub struct DecodeArgs {
#[arg(long)]
debug: bool,
+
+ #[arg(short, long, default_value = "8")]
+ jobs: usize,
}
fn main() -> anyhow::Result<()> {
@@ -29,6 +32,10 @@ fn main() -> anyhow::Result<()> {
info!("{header:?}");
let size = header.resolution;
+ let config = DecodeConfig {
+ max_threads: args.jobs,
+ };
+
let mut prev = Frame::new(size);
for i in 0.. {
info!("decode frame {i}");
@@ -36,7 +43,7 @@ fn main() -> anyhow::Result<()> {
let block = Block::read(&mut input, size).context("reading encoded frame")?;
let mut frame = Frame::new(size);
- decode_block(&block, frame.view_mut(), prev.view());
+ decode_block(&block, frame.view_mut(), prev.view(), &config);
if args.debug {
let mut f2 = frame.clone();