aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-11-18 02:46:50 +0100
committermetamuffin <metamuffin@disroot.org>2023-11-18 02:46:50 +0100
commit89ecbf2027f09824c8f92e5ff4771ef72c6a44d3 (patch)
tree7707b0e98dd614d94beedd6a6d8c69686c261fdb
parent28af3138598e5c5f7e4d7c70218c26f4d2f46208 (diff)
downloadvideo-codec-experiments-89ecbf2027f09824c8f92e5ff4771ef72c6a44d3.tar
video-codec-experiments-89ecbf2027f09824c8f92e5ff4771ef72c6a44d3.tar.bz2
video-codec-experiments-89ecbf2027f09824c8f92e5ff4771ef72c6a44d3.tar.zst
good params
-rw-r--r--flowy/src/main.rs12
-rw-r--r--flowy/src/motion/enc.rs2
2 files changed, 11 insertions, 3 deletions
diff --git a/flowy/src/main.rs b/flowy/src/main.rs
index 1f84e3b..60e30c0 100644
--- a/flowy/src/main.rs
+++ b/flowy/src/main.rs
@@ -1,9 +1,12 @@
pub mod motion;
-use log::debug;
+use log::{debug, info};
use motion::{dec::MotionDecoder, enc::MotionEncoder, CommonBuffers, Params};
use pollster::FutureExt;
-use std::io::{stdin, stdout, Read, Write};
+use std::{
+ io::{stdin, stdout, Read, Write},
+ time::Instant,
+};
use wgpu::{
Backends, DeviceDescriptor, Extent3d, Features, Instance, InstanceDescriptor, Limits,
MaintainBase, PowerPreference, RequestAdapterOptions,
@@ -13,6 +16,8 @@ use crate::motion::RoundParams;
fn main() {
env_logger::init_from_env("LOG");
+ info!("allocating some stuff");
+ let t = Instant::now();
let instance = Instance::new(InstanceDescriptor {
backends: Backends::all(),
@@ -66,12 +71,14 @@ fn main() {
menc.write_uniforms(&queue);
mdec.write_uniforms(&queue);
+ info!("ready (setup took {:?})", t.elapsed());
let mut i = 0;
loop {
let rp = RoundParams { swap: i % 2 };
debug!("read");
stdin().read_exact(&mut buffer).unwrap();
+ let t = Instant::now();
debug!("upload");
bufs.upload(&queue, &params, &rp, &buffer);
@@ -91,6 +98,7 @@ fn main() {
debug!("download");
bufs.download(&device, &mut buffer);
+ info!("frame #{i} took {:?}", t.elapsed());
debug!("write");
stdout().write_all(&buffer).unwrap();
i += 1;
diff --git a/flowy/src/motion/enc.rs b/flowy/src/motion/enc.rs
index cb672a7..56b459b 100644
--- a/flowy/src/motion/enc.rs
+++ b/flowy/src/motion/enc.rs
@@ -38,7 +38,7 @@ impl MotionEncoder {
block_size: [params.block_width as i32, params.block_height as i32],
output_stride: (params.width / params.block_width) as u32,
search_radius: 16,
- skip_threshold: 0.04,
+ skip_threshold: 0.07,
..Default::default()
};