aboutsummaryrefslogtreecommitdiff
path: root/evc/src/codec
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-12-07 23:08:11 +0100
committermetamuffin <metamuffin@disroot.org>2022-12-07 23:08:11 +0100
commit8b7792d6aa27578221fee7cc8be1ceb202602a5a (patch)
tree0675d17e616482b606fbf656575fe56144b7a361 /evc/src/codec
parente4704f1ba3ff7d9c75714d432768ce12f630e745 (diff)
downloadvideo-codec-experiments-8b7792d6aa27578221fee7cc8be1ceb202602a5a.tar
video-codec-experiments-8b7792d6aa27578221fee7cc8be1ceb202602a5a.tar.bz2
video-codec-experiments-8b7792d6aa27578221fee7cc8be1ceb202602a5a.tar.zst
implement broken value scale
Diffstat (limited to 'evc/src/codec')
-rw-r--r--evc/src/codec/encode.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/evc/src/codec/encode.rs b/evc/src/codec/encode.rs
index c9a1172..4eb86b5 100644
--- a/evc/src/codec/encode.rs
+++ b/evc/src/codec/encode.rs
@@ -6,7 +6,7 @@ use crate::{
view::View,
};
use clap::ValueEnum;
-use log::{debug, trace};
+use log::debug;
#[derive(Debug, Clone)]
pub struct EncodeConfig {
@@ -78,7 +78,6 @@ pub fn encode_block(view: View<&Frame>, prev: View<&Frame>, config: &EncodeConfi
let mut p = params.clone();
f(&mut p);
let d = View::diff_sampler(view, &Sampler::from_refblock(prev.clone(), &p));
- trace!("best={diff} try={d}");
if d < *diff {
*diff = d;
*params = p;
@@ -86,6 +85,7 @@ pub fn encode_block(view: View<&Frame>, prev: View<&Frame>, config: &EncodeConfi
}
let (mut d, mut p) = (diff, params.clone());
+
pk(&view, &prev, &mut d, &mut p, |p| p.translation.x += 4);
pk(&view, &prev, &mut d, &mut p, |p| p.translation.x -= 4);
pk(&view, &prev, &mut d, &mut p, |p| p.translation.y += 4);
@@ -98,6 +98,10 @@ pub fn encode_block(view: View<&Frame>, prev: View<&Frame>, config: &EncodeConfi
pk(&view, &prev, &mut d, &mut p, |p| p.translation.x -= 1);
pk(&view, &prev, &mut d, &mut p, |p| p.translation.y += 1);
pk(&view, &prev, &mut d, &mut p, |p| p.translation.y -= 1);
+
+ pk(&view, &prev, &mut d, &mut p, |p| p.value_scale += 1);
+ pk(&view, &prev, &mut d, &mut p, |p| p.value_scale -= 1);
+
pk(&view, &prev, &mut d, &mut p, |p| p.transform.a -= 1);
pk(&view, &prev, &mut d, &mut p, |p| p.transform.a += 1);
pk(&view, &prev, &mut d, &mut p, |p| p.transform.b -= 1);
@@ -106,6 +110,7 @@ pub fn encode_block(view: View<&Frame>, prev: View<&Frame>, config: &EncodeConfi
pk(&view, &prev, &mut d, &mut p, |p| p.transform.c += 1);
pk(&view, &prev, &mut d, &mut p, |p| p.transform.d -= 1);
pk(&view, &prev, &mut d, &mut p, |p| p.transform.d += 1);
+
debug!("{diff} -> {d}");
if d >= diff {