From 6001cdeff335e12583a398acbb5a8a42c01bc077 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 8 Dec 2022 09:13:17 +0100 Subject: fast mode --- evc/src/bin/decode.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'evc/src/bin/decode.rs') 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(); -- cgit v1.2.3-70-g09d2