aboutsummaryrefslogtreecommitdiff
path: root/evc/src/refsampler.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-05-05 15:09:54 +0200
committermetamuffin <metamuffin@disroot.org>2025-05-05 15:09:54 +0200
commit306f96164784a8cbf405e72fa4364d6523366e95 (patch)
tree51717fc139871baa438aad806f4923669ae0896c /evc/src/refsampler.rs
parent9cc089e2d6e841879e430b01d2f3d92c8820523e (diff)
downloadvideo-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar
video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.bz2
video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.zst
old dir
Diffstat (limited to 'evc/src/refsampler.rs')
-rw-r--r--evc/src/refsampler.rs51
1 files changed, 0 insertions, 51 deletions
diff --git a/evc/src/refsampler.rs b/evc/src/refsampler.rs
deleted file mode 100644
index 8a8f44f..0000000
--- a/evc/src/refsampler.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-use crate::{
- block::AdvancedReference,
- format::ser::map_scalar8,
- frame::Frame,
- helpers::{matrix::Mat2, pixel::Pixel, vector::Vec2},
- view::View,
-};
-
-#[derive(Debug, Clone)]
-pub struct Sampler<'a> {
- pub view: View<&'a Frame>,
- pub halfsize: Vec2<f32>,
-
- pub translation: Vec2<f32>,
- pub transform: Mat2<f32>,
-
- pub value_scale: f32,
-}
-
-impl<'a> Sampler<'a> {
- #[inline]
- pub fn sample(&self, p: Vec2<f32>) -> Pixel {
- self.view
- .sample(self.translation + self.transform.transform(p - self.halfsize) + self.halfsize)
- .scale(self.value_scale)
- }
- pub fn from_refblock(
- view: View<&'a Frame>,
- AdvancedReference {
- translation,
- transform,
- value_scale,
- }: &AdvancedReference,
- ) -> Self {
- Self {
- transform: Mat2 {
- a: map_scalar8(transform.a),
- b: map_scalar8(transform.b),
- c: map_scalar8(transform.c),
- d: map_scalar8(transform.d),
- },
- halfsize: Into::<Vec2<f32>>::into(view.size).scale(0.5),
- translation: Vec2 {
- x: map_scalar8(translation.x),
- y: map_scalar8(translation.y),
- },
- value_scale: 1.05f32.powf(*value_scale as f32),
- view,
- }
- }
-}