diff options
Diffstat (limited to 'evc/src/bin/decode.rs')
-rw-r--r-- | evc/src/bin/decode.rs | 11 |
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(); |