aboutsummaryrefslogtreecommitdiff
path: root/evc/src/bin/encode.rs
diff options
context:
space:
mode:
Diffstat (limited to 'evc/src/bin/encode.rs')
-rw-r--r--evc/src/bin/encode.rs17
1 files changed, 4 insertions, 13 deletions
diff --git a/evc/src/bin/encode.rs b/evc/src/bin/encode.rs
index e1f6730..6d18992 100644
--- a/evc/src/bin/encode.rs
+++ b/evc/src/bin/encode.rs
@@ -3,6 +3,7 @@ use clap::Parser;
use indicatif::ProgressBar;
use libreschmux::{
codec::{
+ compress::compress_block,
decode::{decode_block, DecodeConfig},
encode::{encode_block, EncodeConfig, EncodeMode},
},
@@ -11,6 +12,7 @@ use libreschmux::{
helpers::vector::Vec2,
};
use log::info;
+use rayon::{ThreadPool, ThreadPoolBuilder};
use std::io::{BufReader, BufWriter};
#[derive(Parser)]
@@ -35,9 +37,6 @@ pub struct EncodeArgs {
length: Option<usize>,
#[arg(short, long, default_value = "8")]
- jobs: usize,
-
- #[arg(short, long, default_value = "8")]
min_block_size: isize,
#[arg(short = 't', long, default_value = "200")]
@@ -57,7 +56,6 @@ fn main() -> anyhow::Result<()> {
weight_factor: 50.0,
max_diff_area: 10_000,
min_block_size: args.min_block_size,
- max_threads: args.jobs,
do_translate: !args.no_translate,
do_linear_transform: !args.no_linear_transform,
do_value_scale: !args.no_value_scale,
@@ -75,8 +73,8 @@ fn main() -> anyhow::Result<()> {
.context("writing header")?;
let progress_bar = args.length.map(|len| ProgressBar::new(len as u64));
-
let mut prev_frame = Frame::new(size);
+
for i in 0.. {
info!("encode frame {i}");
let mut frame = Frame::read(&mut input, size).context("reading raw frame")?;
@@ -106,14 +104,7 @@ fn main() -> anyhow::Result<()> {
progress_bar.inc(1);
}
- decode_block(
- &root,
- frame.view_mut(),
- prev_frame.view(),
- &DecodeConfig {
- max_threads: config.max_threads,
- },
- );
+ decode_block(&root, frame.view_mut(), prev_frame.view(), &DecodeConfig {});
prev_frame = frame;
}