diff options
author | metamuffin <metamuffin@disroot.org> | 2022-12-07 21:23:42 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-12-07 21:23:42 +0100 |
commit | 2ac18802b58d671c10538e78d50a620baad9a188 (patch) | |
tree | 17f924039fd8f3dae2801902d4bdeaac8ea74624 /evc/src/frame.rs | |
parent | 9d7986bbfd44b69a623fa29528b5d13000b91c77 (diff) | |
download | video-codec-experiments-2ac18802b58d671c10538e78d50a620baad9a188.tar video-codec-experiments-2ac18802b58d671c10538e78d50a620baad9a188.tar.bz2 video-codec-experiments-2ac18802b58d671c10538e78d50a620baad9a188.tar.zst |
advanced transform
Diffstat (limited to 'evc/src/frame.rs')
-rw-r--r-- | evc/src/frame.rs | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/evc/src/frame.rs b/evc/src/frame.rs index e1c3a6e..81fdf3b 100644 --- a/evc/src/frame.rs +++ b/evc/src/frame.rs @@ -80,16 +80,20 @@ impl IndexMut<Vec2<isize>> for Frame { impl Frame { #[inline] pub fn sample(&self, p: Vec2<f32>) -> Pixel { - let fx = p.x.floor() as isize; - let fy = p.y.floor() as isize; - let cx = p.x.ceil() as isize; - let cy = p.y.ceil() as isize; + self[Vec2 { + x: p.x as isize, + y: p.y as isize, + }] + // let fx = p.x.floor() as isize; + // let fy = p.y.floor() as isize; + // let cx = p.x.ceil() as isize; + // let cy = p.y.ceil() as isize; - // TODO dont loose accuracy here - Pixel::average( - Pixel::average(self[Vec2 { x: fx, y: fy }], self[Vec2 { x: fx, y: cy }]), - Pixel::average(self[Vec2 { x: cx, y: fx }], self[Vec2 { x: cx, y: fy }]), - ) + // // TODO dont loose accuracy here + // Pixel::average( + // Pixel::average(self[Vec2 { x: fx, y: fy }], self[Vec2 { x: fx, y: cy }]), + // Pixel::average(self[Vec2 { x: cx, y: fx }], self[Vec2 { x: cx, y: fy }]), + // ) } } |