aboutsummaryrefslogtreecommitdiff
path: root/evc/src/codec
diff options
context:
space:
mode:
Diffstat (limited to 'evc/src/codec')
-rw-r--r--evc/src/codec/encode/advanced.rs30
-rw-r--r--evc/src/codec/encode/mod.rs4
2 files changed, 19 insertions, 15 deletions
diff --git a/evc/src/codec/encode/advanced.rs b/evc/src/codec/encode/advanced.rs
index e15d8f2..0e45176 100644
--- a/evc/src/codec/encode/advanced.rs
+++ b/evc/src/codec/encode/advanced.rs
@@ -21,23 +21,25 @@ pub fn default(
loop {
let (mut d, mut p) = (diff, pm.clone());
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 4);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 4);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 4);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 4);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 2);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 2);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 2);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 2);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 1);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 1);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 1);
- pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 1);
+ if config.do_translate {
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 4);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 4);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 4);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 4);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 2);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 2);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 2);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 2);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 1);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 1);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 1);
+ pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 1);
+ }
if config.do_value_scale {
pk(&view, &prev, &mut d, &mut p, &pm, |p| p.value_scale += 1);
pk(&view, &prev, &mut d, &mut p, &pm, |p| p.value_scale -= 1);
}
- if config.do_matrix_transform {
+ if config.do_linear_transform {
pk(&view, &prev, &mut d, &mut p, &pm, |p| p.transform.a -= 1);
pk(&view, &prev, &mut d, &mut p, &pm, |p| p.transform.a += 1);
pk(&view, &prev, &mut d, &mut p, &pm, |p| p.transform.b -= 1);
@@ -83,7 +85,7 @@ pub fn partial(
pk(&view, &prev, &mut d, &mut p, &pm, |p| p.value_scale += 1);
pk(&view, &prev, &mut d, &mut p, &pm, |p| p.value_scale -= 1);
-
+
if d >= diff {
break (diff, Block::AdvancedReference(pm));
}
diff --git a/evc/src/codec/encode/mod.rs b/evc/src/codec/encode/mod.rs
index 76fb481..8b7b342 100644
--- a/evc/src/codec/encode/mod.rs
+++ b/evc/src/codec/encode/mod.rs
@@ -17,8 +17,10 @@ pub struct EncodeConfig {
pub min_block_size: isize,
pub max_threads: usize,
pub weight_factor: f64,
+
+ pub do_translate: bool,
pub do_value_scale: bool,
- pub do_matrix_transform: bool,
+ pub do_linear_transform: bool,
}
#[derive(Debug, Clone, ValueEnum)]