diff options
author | metamuffin <metamuffin@disroot.org> | 2022-12-08 09:13:17 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-12-08 09:13:17 +0100 |
commit | 6001cdeff335e12583a398acbb5a8a42c01bc077 (patch) | |
tree | 4c1c515cbf33e727f5db317880aadd425a1e0b96 /evc/src/bin/decode.rs | |
parent | 8b7792d6aa27578221fee7cc8be1ceb202602a5a (diff) | |
download | video-codec-experiments-6001cdeff335e12583a398acbb5a8a42c01bc077.tar video-codec-experiments-6001cdeff335e12583a398acbb5a8a42c01bc077.tar.bz2 video-codec-experiments-6001cdeff335e12583a398acbb5a8a42c01bc077.tar.zst |
fast mode
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(); |